March 11, 2006 [Bug 36] New: Odd enum forward-reference (?) alias bug | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/bugzilla/show_bug.cgi?id=36 Summary: Odd enum forward-reference (?) alias bug Product: D Version: 0.149 Platform: PC OS/Version: Windows Status: NEW Severity: minor Priority: P2 Component: DMD AssignedTo: braddr@puremagic.com ReportedBy: jarrett.billingsley@gmail.com This is an obscure one. This code compiles, as expected: enum E { One, Two, Three } class A { alias void delegate(E) EDG; static void fork(EDG dg) { dg(E.One); } } But move the alias declaration after the function: class A { static void fork(EDG dg) { dg(E.One); } alias void delegate(E) EDG; } And you get the cryptic error: dtest.d(18): cannot implicitly convert expression (0) of type E to E Maybe this has something to do with forward referencing? -- |
Copyright © 1999-2021 by the D Language Foundation