// { dg-do run } | |
template <class T> struct A { | |
template <class U> struct B { | |
template <class V> void f (V) { } | |
void g () { } | |
}; | |
template <class W> struct B<W*> { | |
void h () { } | |
}; | |
}; | |
int main () | |
{ | |
A<int>::B<char> b; | |
b.f (42); | |
b.g (); | |
A<double>::B<void*> b2; | |
b2.h (); | |
} |