1 
2 
3 
4 template <class T>
5 class B {
6 public:
7 	template <class U>
B(U p)8     B(U p) {
9 	}
10 	template <>
B(int p)11     B(int p) { // expected-warning{{explicit specialization of 'B<T>' within class scope is a Microsoft extension}}
12 	}
13 
14 	template <class U>
f(U p)15     void f(U p) {
16 	  T y = 9;
17 	}
18 
19 
20     template <>
f(int p)21     void f(int p) { // expected-warning{{explicit specialization of 'f' within class scope is a Microsoft extension}}
22 	  T a = 3;
23 	}
24 
f(int p)25 	void f(int p) {
26  	  T a = 3;
27     }
28 };
29 
30