digitalmars.D.bugs - [Issue 3293] New: A few more bugs with template mixins with identifiers
- d-bugmail puremagic.com (47/47) Sep 03 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3293
- d-bugmail puremagic.com (17/17) Sep 07 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3293
- d-bugmail puremagic.com (8/8) Sep 07 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3293
- d-bugmail puremagic.com (20/20) Sep 08 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3293
- d-bugmail puremagic.com (15/15) Sep 08 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3293
- d-bugmail puremagic.com (6/6) Sep 11 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3293
- d-bugmail puremagic.com (11/11) Nov 15 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3293
http://d.puremagic.com/issues/show_bug.cgi?id=3293 Summary: A few more bugs with template mixins with identifiers Product: D Version: 2.031 Platform: Other OS/Version: Windows Status: NEW Keywords: ice-on-valid-code, rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: 2korden gmail.com template ReferenceType(T) { alias T* ReferenceType; } struct SomeRange(T, alias Storage = 0) { bool foo() { return guard == guard; // bug 1: replace == with is and DMD crashes with no output } enum guard = cast(ReferenceType!(T))SomeContainer!(T, Storage).guard; } struct SomeContainer(T, alias Storage = 0) { auto opSlice() // bug 2: replace auto with SomeRange!(T, Storage) and get an ICE { return SomeRange!(T, Storage)(); } enum ReferenceType!(T) guard = cast(ReferenceType!(T))cast(void*)0xFEFEFEFE; // bug 3: remove guard type and DMD crashes with no output } class A { SomeRange!(int, 0) test() // bug 4: 0 is not omissible { return SomeContainer!(int)()[]; } } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 03 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3293 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |clugdbug yahoo.com.au (1) I can't see 'mixin' anywhere in any of these bugs! (2) Cannot reproduce bug 3. (3) Please don't report multiple bugs in a single bug report. There are definitely at least 3 different bugs in here. Bug 1 is Segfault(statement.c) bug 2 is ICE(expression.c) bug 4 is a rejects-valid. It's possible they all have the same root cause, but I doubt it. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 07 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3293 Bug 1 is now its own issue, bug 3304. Bug 3 is now its own issue, bug 3305. They are completely unrelated to one another. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 07 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3293 Here's a reduced test case for the second bug, which is ICE(expression.c). Something to do with recursive alias parameters causing data corruption. Only happens if there is an infinite template expansion, so I think this one is ice-on-invalid-code. Somehow defining the return type as 'auto' circumvents the infinite expansion -- but I'm not sure that it should. --- alias const(void*) VoidPtr; struct SomeRange(alias Storage){ const guard = cast(const void *)Bug3293!(Storage).guard; } struct Bug3293(alias Storage){ SomeRange!(Storage) foo; const VoidPtr guard = cast(void *)345; } SomeRange!(0) a = Bug3293!(0)().foo; -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 08 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3293 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|ice-on-valid-code, |ice-on-invalid-code |rejects-valid | Summary|A few more bugs with |ICE(expression.c) recursive |template mixins with |alias template parameters |identifiers | And the fourth bug has been moved to bug 3307. I'm therefore changing the title to reflect the remaining bug, as described in comment 3. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 08 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3293 --- Thanks and sorry for confusion! -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 11 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3293 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Fixed DMD2.047. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 15 2010