This is related to issue #1742. In the code below, calling proc_!(char).fn explicitly in the global scope works, but calling it explicitly in a template function fails. I would expect both to work.
template proc_( T )
{
size_t fn( in T[] a, in T b )
{
return 0;
}
}
template proc( T1, T2 )
{
size_t proc( T1 a, T2 b )
{
return proc_!(char).fn( a, b );
}
}
const a = proc_!(char).fn( "abcde", 'c' );
const b = proc( "abcde", 'c' );
void main()
{
}