1 // PR c++/40139
2 
3 template<int> struct A
4 {
5   static int i;
6 };
7 
8 template<int N> int A<N>::i = { A::~A }; // { dg-error "36:invalid use of non-static member function" }
9 
10 template class A<0>;
11 
12 struct X { };
13 
14 int i1 = X::~X;			// { dg-error "13:invalid use of non-static member function" }
15 int i2 = &X::~X;		// { dg-error "10:taking address of destructor" }
16 int i3 = &A<0>::~A;		// { dg-error "10:taking address of destructor" }
17