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