Commit 7a50d891 by Jason Merrill

expand

From-SVN: r34385
parent f9a7ae04
// Build don't link: // Test for partial specialization of a member function template.
// Origin: Jason Merrill <jason@cygnus.com> // Origin: Jason Merrill <jason@cygnus.com>
template <class T> struct A { template <class T> struct A {
template <class U> void f(U); template <class U> int f(U) { return 42; }
}; };
template <> template <>
template <class U> template <class U>
void A<int>::f(U); int A<char>::f(U);
A<int> a; template <>
template <class U>
int A<double>::f(U) { return 24; }
void g () int main ()
{ {
a.f (3); 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; }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment