This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 115d. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-10-26
[Voted into the WP at the March, 2011 meeting.]
A defaulted destructor should be implicitly defined as deleted if operator delete is deleted or inaccessible.
Proposed resolution (November, 2010):
Change 11.4.7 [class.dtor] paragraph 3 as follows:
...A defaulted destructor for a class X is defined as deleted if:
X is a union-like class that has a variant member with a non-trivial destructor,
any of the non-static data members has class type M (or array thereof) and M has a deleted destructor or a destructor that is inaccessible from the defaulted destructor,
orany direct or virtual base class has a deleted destructor or a destructor that is inaccessible from the defaulted destructor
.,or, for a virtual destructor, lookup of the non-array deallocation function results in an ambiguity or in a function that is deleted or inaccessible from the defaulted destructor.
A destructor is trivial if...