Test case:
------------------------------
struct S7425
{
inout(int) g(T)(T x) inout
{
return x;
}
void test()
{
int f = g(2); // line 9
}
}
------------------------------
Compile with 'dmd -c test7425.d':
test7425.d(9): Error: template test7425.S7425.g(T) does not match any function template declaration
test7425.d(9): Error: template test7425.S7425.g(T) cannot deduce template function from argument types !()(int)
IFTI doesn't work when the method is 'inout'. It must be called as 'g!int(2)'. It works if this parameter is not 'inout', even if other parameters are 'inout'.