blob: de00e7baa6be5813401b1ee8f82cf91d1895797a [file] [log] [blame]
template<int N>
struct I {
};
template<class T>
struct A {
int r;
template<class T1, class T2>
void operator()(T1, T2)
{ r = 0; }
template<int N1, int N2>
void operator()(I<N1>, I<N2>)
{ r = 1; }
};
int main()
{
A<float> x;
I<0> a;
I<1> b;
x(a,b);
if (x.r != 1)
abort();
x(float(), double());
if (x.r != 0)
abort();
return 0;
}