digitalmars.D.bugs - [Bug 36] New: Odd enum forward-reference (?) alias bug
- d-bugmail puremagic.com (41/41) Mar 11 2006 http://d.puremagic.com/bugzilla/show_bug.cgi?id=36
- Thomas Kuehne (28/40) Mar 13 2006 -----BEGIN PGP SIGNED MESSAGE-----
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? --
Mar 11 2006
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 d-bugmail puremagic.com schrieb am 2006-03-11: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?Added to DStress as http://dstress.kuehne.cn/run/a/alias_32_A.d http://dstress.kuehne.cn/run/a/alias_32_B.d http://dstress.kuehne.cn/run/a/alias_32_C.d http://dstress.kuehne.cn/run/a/alias_32_D.d http://dstress.kuehne.cn/run/a/alias_32_E.d http://dstress.kuehne.cn/run/a/alias_32_F.d http://dstress.kuehne.cn/run/a/alias_32_G.d http://dstress.kuehne.cn/run/a/alias_32_H.d http://dstress.kuehne.cn/run/a/alias_32_I.d http://dstress.kuehne.cn/run/t/typedef_13_A.d http://dstress.kuehne.cn/run/t/typedef_13_B.d http://dstress.kuehne.cn/run/t/typedef_13_C.d http://dstress.kuehne.cn/run/t/typedef_13_D.d http://dstress.kuehne.cn/run/t/typedef_13_E.d http://dstress.kuehne.cn/run/t/typedef_13_F.d http://dstress.kuehne.cn/run/t/typedef_13_G.d http://dstress.kuehne.cn/run/t/typedef_13_H.d http://dstress.kuehne.cn/run/t/typedef_13_I.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFEFTQ23w+/yD4P9tIRAszaAJwPd3R3SEY9RtVofF4P684ATWJjCACguDWq o5vkdKEp7PeDQFxeWFtdjxs= =5y8X -----END PGP SIGNATURE-----
Mar 13 2006