// RUN: %clang_cc1 %s -verify namespace N1 { template struct Foo { template struct Bar { static constexpr bool is_present = false; }; }; template struct Foo : public Foo { using template Foo::Bar; // expected-error@-1 {{'template' keyword not permitted after 'using' keyword}} }; } namespace N2 { namespace foo { using I = int; } using template namespace foo; // expected-error@-1 {{'template' keyword not permitted after 'using' keyword}} using template template namespace foo; // expected-error@-1 2{{'template' keyword not permitted after 'using' keyword}} I i; } namespace N3 { namespace foo { using I = int; } using template foo::I; // expected-error@-1 {{'template' keyword not permitted after 'using' keyword}} I i; } namespace N4 { template class A {}; template using B = A; B b; using template C = A; // expected-error@-1 {{'template' keyword not permitted after 'using' keyword}} // expected-error@-2 {{expected unqualified-id}} C c; // expected-error@-1 {{no template named 'C'}} }