This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 119a. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2025-12-20
Consider:
void f(); // potentially throwing bool b = noexcept(noexcept(f())); // ought to be "true"
The specification does not properly handle subexpressions of the noexcept operator that are not potentially evaluated (and thus cannot contribute to any exception throwing).
Proposed resolution (approved by CWG 2025-12-05):
Change in 14.5 [except.spec] paragraph 6 as follows:
An expression E is potentially-throwing if
- ...
- any of the immediate subexpressions (6.10.1 [intro.execution]) of E that is not an unevaluated operand is potentially-throwing.