The following code causes forward reference: template Mixin () { import std.stdio; // it doesn't matter what import it is int i; } class Bar : Foo { mixin Mixin; } class Foo { mixin Mixin; } Flip the class declarations to get the code to compile. The problem is harder to work around with the classes in individual modules.
I could not reproduce this bug with DMD 1.047 and DMD 2.032.
You're right, I don't get the error with DMD 1.047. I guess I should close it?