1// { dg-do link } 2// GROUPS passed templates membertemplates 3template<int N> 4struct I { 5}; 6 7template<class T> 8struct A { 9 10 int r; 11 12 template<class T1, class T2> 13 void operator()(T1, T2) 14 { r = 0; } 15 16 template<int N1, int N2> 17 void operator()(I<N1>, I<N2>) 18 { r = 1; } 19}; 20 21int main() 22{ 23 A<float> x; 24 I<0> a; 25 I<1> b; 26 27 x(a,b); 28 if (x.r != 1) 29 return 1; 30 31 x(float(), double()); 32 if (x.r != 0) 33 return 1; 34 35 return 0; 36} 37