This bug may be related to the Issue 11223 ----- module bug; struct Tuple(T...) { T values; void opAssign(typeof(this) rhs) { if(0) values[] = rhs.values[]; else assert(0); } } struct S{} void main() { Tuple!S t; t = Tuple!S(S.init); } ----- $ dmd -inline bug.d dmd: glue.c:1281: virtual unsigned int Type::totym(): Assertion `0' failed. -----
Which version did have worked correctly with? I tested 2.063 to 2.056, but all versions causes same ICE.
https://github.com/D-Programming-Language/dmd/pull/2717 I think this is not a regression issue against past releases, so change the importance to 'major'.