blob: 52519fad64621d96c287bbbc4b870f308979870d [file] [log] [blame]
// { dg-do run }
// Test for partial specialization of a member function template.
// Origin: Jason Merrill <jason@cygnus.com>
template <class T> struct A {
template <class U> int f(U) { return 42; }
};
template <>
template <class U>
int A<char>::f(U);
template <>
template <class U>
int A<double>::f(U) { return 24; }
int main ()
{
A<int> ai;
if (ai.f(0) != 42)
return 1;
A<double> ad;
if (ad.f(0) != 24)
return 1;
A<char> ac;
if (ac.f(0) != 36)
return 1;
}
template <>
template <class U>
int A<char>::f(U) { return 36; }