// RUN: clang-cc -fsyntax-only -verify %s class A; class S { public: template struct A { struct Nested { typedef T type; }; }; }; int i; S::A::Nested::type *ip = &i; template struct X0 { template void f0(T, U); template struct Inner0 { void f1(T, U); }; }; template template void X0::f0(X, Y) { } // FIXME: // template template void X0::Inner0::f1(X, Y) { }