digitalmars.D.bugs - [Issue 3261] New: compiler crash with mixin and forward reference (Issue 402 and 784)
- d-bugmail puremagic.com (38/39) Aug 19 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3261
- d-bugmail puremagic.com (24/24) Aug 25 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3261
- d-bugmail puremagic.com (14/16) Aug 25 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3261
- d-bugmail puremagic.com (12/12) Oct 13 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3261
http://d.puremagic.com/issues/show_bug.cgi?id=3261 Summary: compiler crash with mixin and forward reference (Issue 402 and 784) Product: D Version: 2.032 Platform: x86 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: ktswital gmail.com this is slightly different code from Issue 402 and Issue 784, but it causes the compiler to freeze in DMD 1.046 and 2.032:dmd -c Conflicts.dConflicts.d(12): Error: mixin Conflicts.foo.BadImpl!(uint,Mix1) cannot resolve forward reference Conflicts.d(12): Error: mixin Conflicts.foo.BadImpl!(uint,Mix1) cannot resolve forward reference --- Conflicts.d ---- template BadImpl(T, alias thename) { void a_bad_idea(T t) { thename.a_bad_idea(t); } } class foo { mixin BadImpl!(uint,Mix1) Mix1; } int main() { return 0; } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 19 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3261 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch CC| |clugdbug yahoo.com.au Here's a superficial patch. If an error occurs while determining the arguments, it shouldn't try to determine which template is intended. Patch: template.c, line 4542. -------- // Run semantic on each argument, place results in tiargs[] + int olderrors = global.errors; semanticTiargs(sc); + if (global.errors != olderrors) return; // Quit immediately if error occurs in argument tempdecl = findBestMatch(sc); if (!tempdecl) { inst = this; return; // error recovery } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 25 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3261 Stewart Gordon <smjg iname.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |340 I guess this counts as an actual forward reference bug, given that Mix1 is kind-of a forward reference.... (This seems to be a variation of CRTP.)this is slightly different code from Issue 402 and Issue 784, but it causes the compiler to freeze in DMD 1.046 and 2.032:Uh, 2.032 doesn't seem to have been released yet. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 25 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3261 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED 13:46:43 PDT --- Fixed dmd 1.049 and 2.034 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 13 2009