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.

Reply via email to