[Issue 17870] Can't alias a mix of parent and child class members

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Aug 27 22:25:56 UTC 2020


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

--- Comment #2 from Boris Carvajal <boris2.9 at gmail.com> ---
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));
}

--


More information about the Digitalmars-d-bugs mailing list