[Issue 3867] Regression(1.051) forward referenced enum member via an alias, templates, and is(), D1 only
http://d.puremagic.com/issues/show_bug.cgi?id=3867 Don changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #12 from Don 2011-12-19 03:22:47 PST --- Fixed in DMD 1.071, probably as part of the fixes to error gagging. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3867] Regression(1.051) forward referenced enum member via an alias, templates, and is(), D1 only
http://d.puremagic.com/issues/show_bug.cgi?id=3867 --- Comment #11 from Don 2010-08-07 10:17:42 PDT --- (In reply to comment #10) > May I ask why there are so many forward ref bugs in general and why fixing > these bugs often causes other regressions? Just look at regressions like bug > 4210... > > Is the dmd code quality that bad or what? No. To fix a forward reference bug, you need to change the order in which the compiler performs its semantic pass. And this is difficult, largely because it's quite difficult for the compiler to 'undo' analysis which it's already done. So it's very easy to get wrong. This is why most languages which are similar to D (eg, C++) don't allow arbitrary forward references. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3867] Regression(1.051) forward referenced enum member via an alias, templates, and is(), D1 only
http://d.puremagic.com/issues/show_bug.cgi?id=3867 nfx...@gmail.com changed: What|Removed |Added CC||nfx...@gmail.com --- Comment #10 from nfx...@gmail.com 2010-08-06 20:32:24 PDT --- May I ask why there are so many forward ref bugs in general and why fixing these bugs often causes other regressions? Just look at regressions like bug 4210... Is the dmd code quality that bad or what? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3867] Regression(1.051) forward referenced enum member via an alias, templates, and is(), D1 only
http://d.puremagic.com/issues/show_bug.cgi?id=3867 Don changed: What|Removed |Added Version|1.057 |D1 Summary|Regression(1.051): forward |Regression(1.051) forward |referenced enum member via |referenced enum member via |an alias, templates, and|an alias, templates, and |is()|is(), D1 only --- Comment #9 from Don 2010-08-06 03:47:27 PDT --- This is very strange. Worked up to 1.050, failed in 1.051, 1.052, 1.053; worked again in 1.054 and 1.055, failed since then in D1. Does not apply to D2. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3867] Regression(1.051): forward referenced enum member via an alias, templates, and is()
http://d.puremagic.com/issues/show_bug.cgi?id=3867 --- Comment #8 from Fawzi Mohamed 2010-03-12 05:29:38 PST --- Thanks for the reduction, I knew that just the instantiation was the problem, but I hadn't found a proper reduction... -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3867] Regression(1.051): forward referenced enum member via an alias, templates, and is()
http://d.puremagic.com/issues/show_bug.cgi?id=3867 Don changed: What|Removed |Added Summary|pragma(msg) with a forward |Regression(1.051): forward |referenced enum member via |referenced enum member via |an alias, templates,|an alias, templates, and |tuples, and CTFE|is() --- Comment #7 from Don 2010-03-11 08:12:01 PST --- Reduced test case shows it has nothing to do with tuples or CTFE. Can probably be simplified further. This worked in 1.050, but failed in 1.051. enum ArrayFlags { None =0, } class red(int rank) { uint flags = Flags.None; alias ArrayFlags Flags; } void violet(Y) (red!(2) b) { static assert (!is(red!(7) : red!(3))); } void main(){ violet!(int)(null); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---