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

Reply via email to