If I define a template in one module, and specialize it in a second module, the compiler doesn't like it when I try to call a function using the template.

  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?

Reply via email to