Here is a small test case. I get this error on dmd 2.054/053/052/051. Error vanishes if I replace size_t with ulong on line 6 (inside the is expression). $ dmd struct.d Error: undefined identifier size_t struct.d(11): Error: template instance struct.printFoo!(Foo!(Bar,1)) error instantiating // struct.d import std.stdio; struct Foo(IF, size_t N) {} interface Bar {} void printFoo(T)(T foo) { static if(is(T L: Foo!(IF, N), IF, size_t N)) { writeln("Type: ", T.stringof); } } void main() { Foo!(Bar, 1) foo; printFoo(foo); }
*** This issue has been marked as a duplicate of issue 2355 ***