1// { dg-do run  }
2template <class T> struct A {
3  template <class U> struct B {
4    template <class V> void f (V) { }
5    void g () { }
6  };
7  template <class W> struct B<W*> {
8    void h () { }
9  };
10};
11
12int main ()
13{
14  A<int>::B<char> b;
15  b.f (42);
16  b.g ();
17  A<double>::B<void*> b2;
18  b2.h ();
19}
20