The error message "function is not callable using argument types" appears for normal functions, but doesn't appear for templated functions.
----
int gun()
{
return 0;
}
void fun()
{
pun(gun()); //no diagnostic for pun not callable
sun(gun()); //function tmp.sun (ref const const(int) a) is not callable using argument types (int)
}
void pun(T)(const ref T a)
{
}
void sun(const ref int a)
{
}
---