This may have been discussed before, but I'm not sure whether this is a bugor not. In any case it's a bit confusing. struct Foo2{ this(T...)(T args){ assert(0); } }void main(){auto a2=Foo2();//doesn't call assert(0) (ie this(T...) not called)}
You are not passing a value to the constructor. Use auto a2=Foo2(1);
