On Thu, 27 Aug 2015 13:01:02 +0000 vitus via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> wrote:
> On Monday, 24 August 2015 at 01:01:13 UTC, John Colvin wrote: > > enum A = 1; > > enum B = C; //Error > > static if(A) > > enum C = 0; > > enum D = C; //OK > > > > Is order supposed to matter here? > > Beter: > > enum E = 1; > struct Foo{ > enum X1 = E; > static if(1) enum E = 2; > enum X2 = E; > } > > static assert(Foo.X1 != Foo.X2); > > > class Bar{ > enum X1 = __traits(isAbstractClass, typeof(this)); > static if(1) abstract void bar(); > enum X2 = __traits(isAbstractClass, typeof(this)); > } > > static assert(Bar.X1 != Bar.X2); > > > mixins has same problem. works ok for me