// { dg-do link } // GROUPS passed templates membertemplates template struct I { }; template struct A { int r; template void operator()(T1, T2) { r = 0; } template void operator()(I, I) { r = 1; } }; int main() { A x; I<0> a; I<1> b; x(a,b); if (x.r != 1) return 1; x(float(), double()); if (x.r != 0) return 1; return 0; }