module one;
struct Test(T) {} void testing(T)(Test!T t) {} module two; struct Test(T : int) {} void main() { Test!int i; testing!int(i); } Output:error : testing (Test!int t) is not callable using argument types (Test!int)
If I put everything in the same module it works. So are template specializations limited to the same module?