I decided to upgrade to a newer compiler version and noticed a regression between DMD2.031 (that compiles okay) and DMD2.032 (that issues "enum Foo is foward referenced"). module A; class B : A { } enum SomeEnum { EnumMember } class A { SomeEnum someEnum() { return SomeEnum.EnumMember; } } Ouput: A.d(8): Error: enum SomeEnum is forward referenced Blocker.
Changeset 317
http://www.dsource.org/projects/dmd/changeset/317
Fixed dmd 1.054 and 2.038