// RUN: %clang_cc1 -verify %s template struct A { void f(); }; template using B = A; template void B::f() { } // expected-warning {{a declarative nested name specifier cannot name an alias template}} template<> void B::f() { } // ok, template argument list of simple-template-id doesn't involve template parameters namespace N { template struct D { void f(); }; template using E = D; } template void N::E::f() { } // expected-warning {{a declarative nested name specifier cannot name an alias template}}