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