1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 template<typename T, int N> 3 struct A; 4 5 template<typename T> 6 struct A<T*, 2> { 7 A(T); 8 ~A(); 9 10 void f(T*); 11 12 operator T*(); 13 14 static T value; 15 }; 16 17 template<class X> void A<X*, 2>::f(X*) { } 18 19 template<class X> X A<X*, 2>::value; 20 21 template<class X> A<X*, 2>::A(X) { value = 0; } 22 23 template<class X> A<X*, 2>::~A() { } 24 25 template<class X> A<X*, 2>::operator X*() { return 0; } 26