diff --git a/source/expressions.tex b/source/expressions.tex index f2e68f2f8a..dc2107b233 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -5042,28 +5042,27 @@ \pnum \indextext{\idxcode{noexcept}}% \indextext{expression!\idxcode{noexcept}}% -The \keyword{noexcept} operator determines whether the evaluation of its operand, -which is an unevaluated operand\iref{term.unevaluated.operand}, can throw an -exception\iref{except.throw}. - +The \keyword{noexcept} operator \begin{bnf} \nontermdef{noexcept-expression}\br \keyword{noexcept} \terminal{(} expression \terminal{)} \end{bnf} - -\pnum -The result of the \keyword{noexcept} operator is a prvalue of type \keyword{bool}. +has an \grammarterm{expression} \term{operand} +which is an unevaluated operand\iref{term.unevaluated.operand}. +The \keyword{noexcept} operator yields \keyword{true} +unless the full-expression of the operand +is potentially-throwing\iref{except.spec}. \begin{note} A \grammarterm{noexcept-expression} is an integral constant expression\iref{expr.const}. \end{note} +\pnum +The result of the \keyword{noexcept} operator is a prvalue of type \keyword{bool}. + \pnum If the operand is a prvalue, the temporary materialization conversion\iref{conv.rval} is applied. -The result of the \keyword{noexcept} operator is \keyword{true} -unless the full-expression of the operand -is potentially-throwing\iref{except.spec}. \indextext{expression!unary|)} \rSec3[expr.new]{New}