xref: /netbsd-src/external/apache2/llvm/dist/libcxx/docs/DesignDocs/NoexceptPolicy.rst (revision 4d6fc14bc9b0c5bf3e30be318c143ee82cadd108)
1*4d6fc14bSjoerg====================
2*4d6fc14bSjoerg``noexcept`` Policy
3*4d6fc14bSjoerg====================
4*4d6fc14bSjoerg
5*4d6fc14bSjoergExtended applications of ``noexcept``
6*4d6fc14bSjoerg------------------------------------------
7*4d6fc14bSjoerg
8*4d6fc14bSjoergAs of version 13 libc++ may mark functions that do not throw (i.e.,
9*4d6fc14bSjoerg"Throws: Nothing") as ``noexcept``. This has two primary consequences:
10*4d6fc14bSjoergfirst, functions might not report precondition violations by throwing.
11*4d6fc14bSjoergSecond, user-provided functions, such as custom predicates or custom
12*4d6fc14bSjoergtraits, which throw might not be propagated up to the caller (unless
13*4d6fc14bSjoergspecified otherwise by the Standard).
14