// https://issues.dlang.org/show_bug.cgi?id=23010 alias AliasSeq(T...) = T; mixin template faz() { alias T = AliasSeq!(int); T bar = 12345; void write1() { assert(bar[0] == 12345); } AliasSeq!(string, float) foo = AliasSeq!("qwerty", 1.25f); void write2() { assert(foo == AliasSeq!("qwerty", 1.25f)); foo = AliasSeq!("asdfg", 2.5f); // this even crashed before assert(foo == AliasSeq!("asdfg", 2.5f)); } } void main() { mixin faz!(); write1; write2; fun; } // Testing static symbol generation ('toobj.d' changes) static AliasSeq!(int, string) tup; void fun() { auto v = tup; struct S(T...) { static T b; } alias T = S!(int, float); auto p = T.b; }