https://issues.dlang.org/show_bug.cgi?id=17870

--- Comment #2 from Boris Carvajal <[email protected]> ---
int main(string[] argv)
{
    alias allClasses = AliasSeq!(D2, BaseClassesTuple!D2);
    alias allFields = TupleOf!allClasses;
    pragma(msg, allClasses);
    pragma(msg, allFields.stringof);
    return 0;
}

Output should be:
(D2, D1, B, Object)
tuple(c, b, a)


Reduced test case:

alias AliasSeq(T...) = T;

class A
{
    int a = 1;
}

class B : A
{
    int b = 2;
    alias tup = AliasSeq!(b, a);
}

void main()
{
    static const ins = new B;
    static assert(&ins.tup[0] == &ins.b);
    static assert(&ins.tup[1] == &ins.a);
    static assert(ins.tup == AliasSeq!(2,1));
}

--

Reply via email to