CWG Issue 2722 (original) (raw)
This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 118f. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2025-11-07
2722. Temporary materialization conversion for noexcept operator
Section: 7.6.2.7 [expr.unary.noexcept]Status: CD7Submitter: Brian BiDate: 2023-04-24
[Accepted as a DR at the June, 2023 meeting.]
It is unclear whether noexcept(A()) applies the temporary materialization conversion to the prvalue A(). The resolution of issue 1354 suggests that it does so that the destructor is (notionally) invoked.
Proposed resolution (approved by CWG 2023-05-12):
Change in 7.6.2.7 [expr.unary.noexcept] paragraph 3 as follows:
If the operand is a prvalue, the temporary materialization conversion (7.3.5 [conv.rval]) is applied. The result of the noexcept operator is true unless the
expressionfull-expression of the operandis potentially-throwing (14.5 [except.spec]).