template class B { public: template B(U p) { } template <> B(int p) { // expected-warning{{explicit specialization of 'B' within class scope is a Microsoft extension}} } template void f(U p) { T y = 9; } template <> void f(int p) { // expected-warning{{explicit specialization of 'f' within class scope is a Microsoft extension}} T a = 3; } void f(int p) { T a = 3; } };