// RUN: %clang_cc1 -fsyntax-only -verify %s template struct X0 { typedef T* type; void f0(T); void f1(type); }; template<> void X0::f0(char); template<> void X0::f1(type); namespace PR6161 { template class numpunct : public locale::facet // expected-error{{use of undeclared identifier 'locale'}} \ // expected-error{{expected class name}} \ // expected-note{{attempt to specialize declaration here}} { static locale::id id; // expected-error{{use of undeclared identifier}} }; numpunct::~numpunct(); // expected-error{{template specialization requires 'template<>'}} \ // expected-error{{specialization of member 'PR6161::numpunct::~numpunct' does not specialize an instantiated member}} }