This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.
3967. The specification forstd::is_nothrow_*
traits may be ambiguous in some cases involving noexcept(false)
Section: 21.3.6.4 [meta.unary.prop] Status: New Submitter: Jiang An Opened: 2023-08-04 Last modified: 2023-08-05
Priority: Not Prioritized
View other active issues in [meta.unary.prop].
View all other issues in [meta.unary.prop].
View all issues with New status.
Discussion:
std::is_nothrow_*
traits are currently specified in the form "(some operation) is known not to throw any exceptions". Under the following circumstance, the current specification may be ambiguous:
a trait detects an explicitly defaulted special member function, and
the implicit except specification of that function would be noexcept(true)
, but
the function is explicitly marked with noexcept(false)
.
It seems that an implementation may decompose the defaulted special member function and then conclude that the trait should give a true
result, or may just use the exception specification which gives a false
result.
Proposed resolution:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4