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