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)); } --
