// RUN: clang-cc -fsyntax-only %s template struct A { void f(T); template void g1(T, X1); template void g2(T, X2); void h(T) { } }; // specialization template<> void A::f(int); // out of class member template definition template template void A::g1(T, X1) { } // member template specialization template<> template void A::g1(int, X1); // member template specialization template<> template<> void A::g1(int, char); // X1 deduced as char template<> template<> void A::g2(int, char); // X2 specified as char // member specialization even if defined in class definition template<> void A::h(int) { }