P3424R2 — Define Delete With Throwing Exception Specification
Alisdair Meredith
CWG
Throwing from an overloaded `delete` operator is undefined behavior, yet `delete` operators have a non-throwing exception specification by default, leading to a deterministic call to `terminate` before any undefined behavior can occur. This paper suggests we can do better than “undefined behavior” for the remaining cases.