[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