Skip to content

Commit 1e6a986

Browse files
committed
CWG2486 Call to noexcept function via noexcept(false) pointer/lvalue
1 parent 47fa069 commit 1e6a986

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

source/expressions.tex

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3063,9 +3063,17 @@
30633063

30643064
\pnum
30653065
Calling a function through an
3066-
expression whose function type is different
3067-
from the function type of the called function's
3068-
definition results in undefined behavior.
3066+
expression whose function type \tcode{E} is different
3067+
from the function type \tcode{F} of the called function's
3068+
definition results in undefined behavior
3069+
unless the type ``pointer to \tcode{F}'' can be converted
3070+
to the type ``pointer to \tcode{E}'' via a function pointer conversion\iref{conv.fctptr}.
3071+
\begin{note}
3072+
The exception applies when the expression has the type of a
3073+
potentially-throwing function, but the called function has
3074+
a non-throwing exception specification,
3075+
and the function types are otherwise the same.
3076+
\end{note}
30693077

30703078
\pnum
30713079
\indextext{function argument|see{argument}}%

0 commit comments

Comments
 (0)