http://d.puremagic.com/issues/show_bug.cgi?id=2878
Summary: Forward reference Product: D Version: 1.042 Platform: PC OS/Version: All Status: NEW Severity: major Priority: P2 Component: DMD AssignedTo: bugzi...@digitalmars.com ReportedBy: ben...@tionex.de compile with "dmd M N" === M.d === Start module M; import N; abstract class Format{ static class Field {} abstract void doit( FieldPosition p ); } void main(){} === M.d === End === N.d === Start module N; import M; class FieldPosition { static class F2 : M.Format.Field { } this( M.Format.Field f){ } } === N.d === End Messages: M.d(3): Error: class M.Format is forward referenced when looking for 'Field' M.d(3): Error: class M.Format is forward referenced when looking for 'Field' M.d(3): Error: class M.Format is forward referenced when looking for 'Field' N.d(6): Error: no property 'Field' for type 'M.Format' N.d(6): Error: M.Format.Field is used as a type N.d(6): Error: class N.FieldPosition.F2 base type must be class or interface, not void M.d(3): Error: class M.Format is forward referenced when looking for 'Field' M.d(3): Error: class M.Format is forward referenced when looking for 'Field' M.d(3): Error: class M.Format is forward referenced when looking for 'Field' N.d(8): Error: no property 'Field' for type 'M.Format' N.d(8): Error: M.Format.Field is used as a type N.d(8): Error: cannot have parameter of type void --