// PR c++/23287 template struct A { int i; ~A(); }; template void f(A *ap) { ap->~A(); } template void g(A *ap) { ap->~B(); // { dg-error "destructor name" } } int main() { f(new A); g(new A); }