order of declaration/definition
vitus via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Aug 27 06:01:02 PDT 2015
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.
More information about the Digitalmars-d-learn
mailing list