llvm-project/libcxx/docs/DesignDocs/NoexceptPolicy.rst
zoecarver fab194898b [lic++][docs] Explain noexcept policy for narrow contracts.
Adds documentation around libc++'s policy to add noexcept to things that cannot throw but aren't marked as noexcept.

Refs LWG 3518 and D95251.

Differential Revision: https://reviews.llvm.org/D95821
2021-02-05 11:27:19 -08:00

14 lines
531 B
ReStructuredText

====================
``noexcept`` Policy
====================
Extended applications of ``noexcept``
------------------------------------------
As of version 13 libc++ may mark functions that do not throw (i.e.,
"Throws: Nothing") as ``noexcept``. This has two primary consequences:
first, functions might not report precondition violations by throwing.
Second, user-provided functions, such as custom predicates or custom
traits, which throw might not be propagated up to the caller (unless
specified otherwise by the Standard).