This is wrong code: struct Foo(T) {} void bar(T x, T)(Foo!T) {} void main() { Foo!int spam; bar!10(spam); } DMD 2.064alpha gives an error with no line number: Error: undefined identifier T test.d(5): Error: template test.bar does not match any function template declaration. Candidates are: test.d(2): test.bar(T x, T)(Foo!(T)) test.d(5): Error: template test.bar(T x, T)(Foo!(T)) cannot deduce template function from argument types !(10)(Foo!(int)) test.d(5): Error: template instance bar!(10) errors instantiating template
https://github.com/D-Programming-Language/dmd/pull/2174
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/8d8d9fca62e5f2270513becaa95a36c7fd79d216 fix Issue 10346 - No line number error with undefined template identifier https://github.com/D-Programming-Language/dmd/commit/21c643dd168196f465d5db8e8c2d9ece7601a36f Merge pull request #2174 from 9rnsr/fix10346 Issue 10346 - No line number error with undefined template identifier