order of declaration/definition
Daniel Kozák via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Aug 27 06:14:08 PDT 2015
On Thu, 27 Aug 2015 13:01:02 +0000
vitus via Digitalmars-d-learn <digitalmars-d-learn at 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
More information about the Digitalmars-d-learn
mailing list