The main bug is: --- struct TS(size_t n) { } static assert(is(TS!(1u) == TS!(1))); --- main.d(2): Error: static assert (is(TS!(1u) == TS!(1))) is false The second is a minor naming 2 only bug: --- struct TS(size_t k) { } TS!(n) get(size_t n)() { return TS!(n)(); } void main() { //get!(1)(); //uncomment to enable D2 only type naming bug // The next line produces `assert(is(TS!(@@@) == TS!(1))) is false` error // where @@@ is replaced by `1u` if `get` call is commented, and by `n` otherwise. static assert(is(TS!(1u) == TS!(1))); } ---
This seems to be same as bug 3467.
*** This issue has been marked as a duplicate of issue 3467 ***