1346. Apply noexcept where library specification does not permit exceptions

Section: 20 [library] Status: Resolved Submitter: BSI Opened: 2010-08-25 Last modified: 2016-02-10

Priority: Not Prioritized

View all other issues in [library].

View all issues with Resolved status.

Duplicate of: 1352

Discussion:

Addresses GB-62, CH-17

Issues with efficiency and unsatisfactory semantics mean many library functions document they do not throw exceptions with a Throws: Nothing clause, but do not advertise it with an exception specification. The semantic issues are largely resolved with the new 'noexcept' specifications, and the noexcept operator means we will want to detect these guarantees programatically in order to construct programs taking advantage of the guarantee.

[ Resolution proposed by ballot comment: ]

Add a noexcept exception specification on each libary API that offers an unconditional Throws: Nothing guarantee. Where the guarantee is conditional, add the appropriate noexcept(constant-expression) if an appropriate constant expression exists.

[ 2010-10-31 Daniel comments: ]

The proposed resolution of n3149 would satisfy this request.

[ 2010-Batavia: ]

Resolved by adopting n3149.

Proposed resolution:

This issue is resolved by the adoption of n3195