Created on 2022-08-25.00:00:00 last changed 26 months ago
Suggested resolution [SUPERSEDED]:
Change in 7.6.2.8 [expr.new] paragraph 28 as follows:
A declaration of a placement deallocation function matches the declaration of a placement allocation function if it has the same number of parameters and, after parameter transformations (9.3.4.6 [dcl.fct]), all parameter types except the first are identical. If the lookup finds a single matching deallocation function, that function will be called; otherwise, no deallocation function will be called. If the lookup finds a usual deallocation function and that function, considered as a placement deallocation function, would have been selected as a match for the allocation function, the program is ill-formed. For a non-placement allocation function, the normal deallocation function lookup is used to find the matching deallocation function (7.6.2.9 [expr.delete]) , except that any destroying operator delete (6.7.5.5.3 [basic.stc.dynamic.deallocation]) is ignored.
Subclause 7.6.2.8 [expr.new] paragraph 28 specifies the lookup for the deallocation function that is invoked when the construction of the object in a new-expression exits via an exception. However, a destroying operator delete (6.7.5.5.3 [basic.stc.dynamic.deallocation]) should never be used, because the object in question has not yet been fully created.
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-09-25 18:08:42 | admin | set | status: open -> drafting |
2022-09-03 10:56:12 | admin | set | messages: + msg6925 |
2022-08-25 00:00:00 | admin | create |