// { dg-do run } template struct A { template struct B { template static void f () { } void g () { } }; }; template void f () { A::template B::template f (); typename A::template B b; typename A::template B b2; b.A::template B::~B(); } template struct C: public A::template B { }; int main () { f(); }