[Issue 4825] Regression(1.057, 2.040) "Error: non-constant expression" with -inline
http://d.puremagic.com/issues/show_bug.cgi?id=4825 Don changed: What|Removed |Added CC||clugd...@yahoo.com.au Version|D1 |D1 & D2 Summary|"Error: non-constant|Regression(1.057, 2.040) |expression" with -inline|"Error: non-constant ||expression" with -inline --- Comment #2 from Don 2010-09-09 14:09:58 PDT --- Replace 'const' with 'static const' and this fails on D2.040 and later, but passed on 2.039 and earlier. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1001] print stack trace (in debug mode) when program die
http://d.puremagic.com/issues/show_bug.cgi?id=1001 --- Comment #30 from Sean Kelly 2010-09-09 13:32:47 PDT --- Okay, demangling added for Linux and OSX. I'll try to make sure that -L--export-dynamic is added to dmd.conf on Linux for the next release. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4847] New: std.algorithm.topN documentation
http://d.puremagic.com/issues/show_bug.cgi?id=4847 Summary: std.algorithm.topN documentation Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: minor Priority: P2 Component: websites AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2010-09-09 13:02:12 PDT --- This program seems correct (DMD 2.048): import std.algorithm: topN; void main() { int[] a = [10, 1, 7]; topN(a, 10); } I'd like the documentation of topN to specify what does it happen when the specified 'nth' argument is bigger than the length of the given range. And I think it's better to add an usage example of topN(r1, r2). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4846] New: A problem with array of std.typecons.Tuple
http://d.puremagic.com/issues/show_bug.cgi?id=4846 Summary: A problem with array of std.typecons.Tuple Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2010-09-09 12:53:54 PDT --- import std.typecons: Tuple; alias Tuple!(int) Foo; auto data = [Foo(1)]; void main() {} DMD 2.048 shows: Error: duplicate union initialization for _0 Additionally, there is no line number for the error. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4329] Do not show error messages that refer to __error
http://d.puremagic.com/issues/show_bug.cgi?id=4329 --- Comment #12 from bearophile_h...@eml.cc 2010-09-09 12:49:36 PDT --- struct Foo { int x; } void main() { Foo(5 ^^ 5); // line 5 } DMD 2.048 shows: test.d(5): Error: must import std.math to use ^^ operator test.d(5): Error: structliteral has no effect in expression (Foo((__error))) --- void foo() {} void main() { foreach (x; foo()[0 .. 1]) {} } DMD 2.048 shows: test.d(3): Error: foo() cannot be sliced with [] test.d(3): Error: foreach: _error_ is not an aggregate type -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4845] New: Bad error message with missing math import for ^^
http://d.puremagic.com/issues/show_bug.cgi?id=4845 Summary: Bad error message with missing math import for ^^ Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Keywords: diagnostic Severity: minor Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2010-09-09 12:46:42 PDT --- This D2 program is OK (dmd 2.048), the math import is required to perform the ^^: import std.conv: to; import std.math; int foo(int b, int e) { return b ^^ e; } void main() { foo(5, 3); } If I remove the math import the program doesn't compile: import std.conv: to; int foo(int b, int e) { return b ^^ e; } void main() { foo(5, 3); } But the given error message is bad: test.d(3): Error: undefined identifier module test.std An error message like this is better: test.d(5): Error: must import std.math to use ^^ operator -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4844] New: _traits(allMembers, X) ignores version guards inside X
http://d.puremagic.com/issues/show_bug.cgi?id=4844 Summary: _traits(allMembers, X) ignores version guards inside X Product: D Version: D2 Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: and...@metalanguage.com --- Comment #0 from Andrei Alexandrescu 2010-09-09 08:09:51 PDT --- Consider: import std.stdio; struct A { version (none) { int x; } else { int y; } int z; } void main() { foreach (s; __traits(allMembers, A)) writeln(s); } Surprisingly, this prints x z although version "none" is not defined. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4719] Clean up associative array runtime interface to enable precise GC
http://d.puremagic.com/issues/show_bug.cgi?id=4719 nfx...@gmail.com changed: What|Removed |Added Keywords||patch --- Comment #1 from nfx...@gmail.com 2010-09-09 06:55:48 PDT --- Posted a patch for this in issue 3463. Adding patch keyword. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3463] Integrate Precise Heap Scanning Into the GC
http://d.puremagic.com/issues/show_bug.cgi?id=3463 nfx...@gmail.com changed: What|Removed |Added Attachment #488 is|0 |1 obsolete|| --- Comment #76 from nfx...@gmail.com 2010-09-09 06:45:13 PDT --- (From update of attachment 488) marking dsimcha's patches as obsolete because there are way too many attachments already, and it seems it's not going to be used (even less than my patches anyway) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3463] Integrate Precise Heap Scanning Into the GC
http://d.puremagic.com/issues/show_bug.cgi?id=3463 --- Comment #75 from nfx...@gmail.com 2010-09-09 06:43:43 PDT --- Created an attachment (id=754) tango: enable precise scanning for AAs This is the Tango patch that goes with the dmd patch (attachment 753). The AA implementation is duplicated because the Tango patch is as well compatible with an unpatched dmd. An unpatched dmd will compile the "old" AA implementation instead of the new one. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3463] Integrate Precise Heap Scanning Into the GC
http://d.puremagic.com/issues/show_bug.cgi?id=3463 --- Comment #74 from nfx...@gmail.com 2010-09-09 06:41:46 PDT --- Created an attachment (id=753) dmd: enable precise scanning for AAs AAs are special because they use some runtime mechanism. dmd didn't allow precise scanning because not all type information was available (usually only the key). This patch completely changes the runtime interface for AAs in order to allow precise scanning. It also does much much more. (For example I didn't like that dmd's runtime interface was so incredibly whacky, such as passing values of arbitrary runtime type per vararg, and expecting the value next to the argument before on the stack. Walter probably has to change this anyway for the dmd 64 bit port...) The patched dmd is backwards compatible and compiles Tango svn just fine. The patched Tango tells dmd to use the new ABI by declaring a magical member variable somewhere in object.di. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3463] Integrate Precise Heap Scanning Into the GC
http://d.puremagic.com/issues/show_bug.cgi?id=3463 nfx...@gmail.com changed: What|Removed |Added Attachment #739 is|0 |1 obsolete|| --- Comment #72 from nfx...@gmail.com 2010-09-09 06:36:26 PDT --- Created an attachment (id=751) D1 - patch for dmd for creating pointer bitmasks -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3463] Integrate Precise Heap Scanning Into the GC
http://d.puremagic.com/issues/show_bug.cgi?id=3463 nfx...@gmail.com changed: What|Removed |Added Attachment #737 is|0 |1 obsolete|| --- Comment #73 from nfx...@gmail.com 2010-09-09 06:37:13 PDT --- Created an attachment (id=752) D1 - patch for Tango's runtime to enable precise GC scanning -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4843] New: Inconsistency in overloading ref vs. non-ref
http://d.puremagic.com/issues/show_bug.cgi?id=4843 Summary: Inconsistency in overloading ref vs. non-ref Product: D Version: D2 Platform: Other OS/Version: Windows Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: dsim...@yahoo.com --- Comment #0 from David Simcha 2010-09-09 06:03:33 PDT --- The following code compiles and correctly resolves the lvalue vs. non-lvalue overloading: import std.stdio; void doStuff(const ref int i) { writeln("Doing stuff by ref."); } void doStuff(const int i) { writeln("Forwarding to ref overload."); doStuff(i); } void main() { doStuff(1); } Similar code also works for classes and arrays. It seems to be broken for structs, though. The following code is rejected: import std.stdio; struct S {} bool fun(const ref S rhs) { return true; } bool fun(const S rhs) { return fun(rhs); } test9.d(12): Error: function test9.fun called with argument types: ((const(S))) matches both: test9.fun(ref const const(S) rhs) and: test9.fun(const const(S) rhs) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---