// This should be error-free template struct S { ~S(); static void operator delete(void*, int); }; template S::~S() {} template void S::operator delete(void*, int) {}