[Issue 5839] Spellchecker matches private symbols outside of the module, leading to extra, broken error messages
http://d.puremagic.com/issues/show_bug.cgi?id=5839 yebblies yebbl...@gmail.com changed: What|Removed |Added CC||thelastmamm...@gmail.com --- Comment #9 from yebblies yebbl...@gmail.com 2013-08-04 22:07:35 EST --- *** Issue 10140 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10140] confusing error message: X is private; undefined identifier Y, did you mean X
http://d.puremagic.com/issues/show_bug.cgi?id=10140 yebblies yebbl...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED CC||yebbl...@gmail.com Resolution||DUPLICATE --- Comment #2 from yebblies yebbl...@gmail.com 2013-08-04 22:07:34 EST --- And also issue 9644 *** This issue has been marked as a duplicate of issue 5839 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 9918] Strange error: void initializers for pointers not allowed in safe functions
http://d.puremagic.com/issues/show_bug.cgi?id=9918 Lars T. Kyllingstad bugzi...@kyllingen.net changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@kyllingen.net Resolution||DUPLICATE --- Comment #1 from Lars T. Kyllingstad bugzi...@kyllingen.net 2013-08-04 05:45:07 PDT --- *** This issue has been marked as a duplicate of issue 6405 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6626] std.complex.expi()
http://d.puremagic.com/issues/show_bug.cgi?id=6626 Lars T. Kyllingstad bugzi...@kyllingen.net changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@kyllingen.net Resolution||FIXED --- Comment #1 from Lars T. Kyllingstad bugzi...@kyllingen.net 2013-08-04 05:49:13 PDT --- std.complex.expi() was added in May 2012. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6405] @safe doesn't work with multidimensional typesafe variadic parameters
http://d.puremagic.com/issues/show_bug.cgi?id=6405 Lars T. Kyllingstad bugzi...@kyllingen.net changed: What|Removed |Added CC||andrej.mitrov...@gmail.com --- Comment #1 from Lars T. Kyllingstad bugzi...@kyllingen.net 2013-08-04 05:45:08 PDT --- *** Issue 9918 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6154] std.math.abs on std.complex numbers too
http://d.puremagic.com/issues/show_bug.cgi?id=6154 Lars T. Kyllingstad bugzi...@kyllingen.net changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@kyllingen.net Resolution||FIXED --- Comment #6 from Lars T. Kyllingstad bugzi...@kyllingen.net 2013-08-04 05:51:12 PDT --- std.complex.abs() was added in May 2012. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10755] New: 'has no effect in expression' error for return too with comma operator
http://d.puremagic.com/issues/show_bug.cgi?id=10755 Summary: 'has no effect in expression' error for return too with comma operator Product: D Version: D2 Platform: All OS/Version: All Status: NEW Keywords: accepts-invalid Severity: enhancement Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2013-08-04 10:34:27 PDT --- With dmd 2.064alpha this code gives: void main() { 1; } test.d(2): Error: long has no effect in expression (1) - - - - - - - - - - - - This gives an error, commas are disallowed here: void main() { int[10] a; auto x = a[1, 2]; } test.d(3): Error: only one index allowed to index int[10u] - - - - - - - - - - - - This too gives errors: void main() { int[10, 20] a; } test.d(2): Error: found ',' when expecting ']' test.d(2): Error: no identifier for declarator int[10] test.d(2): Error: semicolon expected, not '20' test.d(2): Error: found ']' when expecting ';' following statement - - - - - - - - - - - - This is disallowed: void main() { int x = 1, 2; } test.d(2): Error: no identifier for declarator int test.d(2): Error: semicolon expected, not '2' - - - - - - - - - - - - This gives an error: void main() { int x; x = 1, 2; } test.d(3): Error: long has no effect in expression (2) - - - - - - - - - - - - While this code compiles with no errors nor warnings: int foo() { return 1, 2; // line 2 } int bar() { return foo(), 3; // line 5 } void main() { assert(bar() == 3); } Inside bar() there is a call to foo(). foo() is not pure, but inside foo() 1 is a pure expression (a literal), so for this program I suggest to generate an error at line 2, and disallow comma syntax at return points, but probably no warning at line 5: test.d(2): Error: int has no effect in expression (1) - - - - - - - - - - - - This generates an error: int foo() { return 1; } void main() { int x; x = foo(), 2; } test.d(6): Error: long has no effect in expression (2) So maybe it's right to generate an error at line 5 too. - - - - - - - - - - - - -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10756] New: has no effect in expression error message with correct type name
http://d.puremagic.com/issues/show_bug.cgi?id=10756 Summary: has no effect in expression error message with correct type name Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2013-08-04 10:38:23 PDT --- A low priority enhancement request (in Bugzilla I'd like to be able to give an importance high, or low, to enhancement requests too): void main() { 'a'; 1; 2U; 3UL; 4.0f; } dmd 2.064alpha gives: test.d(2): Error: long has no effect in expression ('a') test.d(3): Error: long has no effect in expression (1) test.d(4): Error: long has no effect in expression (2u) test.d(5): Error: long has no effect in expression (3LU) test.d(6): Error: double has no effect in expression (4.0) I think those error messages should be improved a little, printing the correct type name. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10757] New: int incremented with double NaN doesn't give a cannot implicitly convert expression error
http://d.puremagic.com/issues/show_bug.cgi?id=10757 Summary: int incremented with double NaN doesn't give a cannot implicitly convert expression error Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Keywords: accepts-invalid Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2013-08-04 11:00:25 PDT --- With dmd 2.064alpha this terrible program compiles with no errors nor warnings, and it runs with no asserts: void main() { double x; int y; y += x; assert(y == int.min); y += 3.5; assert(y == -2147483644); } What I'd like: that code to become a compile time error (a cannot implicitly convert expression error), because I think it's against the idea of strong typing. I prefer a language that doesn't silently drops floating point parts (like 0.5 here) and that catches me if I increment an integer variable by mistake by a floating point value. (Probably I will not close down this bug report, so if someone (like Walter) is against it then he should close it down. Such person should also show one or more practical situations where allowing that code gives an advantage over generating a compile-time error. I leave the burden of showing the usefulness on the shoulders of the person willing to close this issue down.) In a dynamically typed language as Python2.6 int+float or int+=float return a float, so this behavour is acceptable: x = float(nan) y = 0 y += x y nan I am aware that in D the increment at line 4 is accepted, but this is just a matter of disabling the value range tests that are so good in D, this is a different situation from adding a double to an int: void main() { int x; byte y; y += x; // line 4, OK byte z = x; // Error: cannot implicitly convert } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10758] New: Unsound type checking for inout.
http://d.puremagic.com/issues/show_bug.cgi?id=10758 Summary: Unsound type checking for inout. Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: timon.g...@gmx.ch --- Comment #0 from timon.g...@gmx.ch 2013-08-04 16:01:37 PDT --- With DMD, inout can be used to coerce away immutability as follows: int* foo(inout(int)* x)@safe{ inout(int)* screwUp(inout(int)*){ return x; } return screwUp((int*).init); } void main(){ immutable x = 123; static assert(is(typeof(*x)==immutable)); assert(*x==123); immutable(int)* y = x; *foo(y)=456; assert(*x==456); assert(x!=*x); // (!) } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10759] New: DMD crashes when using nested interfaces and inheritance from them.
http://d.puremagic.com/issues/show_bug.cgi?id=10759 Summary: DMD crashes when using nested interfaces and inheritance from them. Product: D Version: D2 Platform: x86_64 OS/Version: Windows Status: NEW Severity: critical Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: js.m...@gmail.com --- Comment #0 from js.m...@gmail.com 2013-08-04 20:25:58 PDT --- http://dpaste.dzfl.pl/ interface A : A.B { interface B { } } This pattern is is short hand for interface A { interface B { } } interface AA : A.B { } but crashes dmd 2.063 x32. I would like to avoid having to write dummy interfaces just to use nested interfaces that are inherited by their parent. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---