Skip to content

Commit 22cae49

Browse files
committed
CWG2809 An implicit definition does not redeclare a function
1 parent ce63e96 commit 22cae49

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

source/declarations.tex

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6512,15 +6512,18 @@
65126512
(i.e., explicitly defaulted after its first declaration)
65136513
is implicitly defined at the point where it is explicitly defaulted; if such a function is implicitly
65146514
defined as deleted, the program is ill-formed.
6515+
\begin{note}
6516+
Declaring a function as defaulted after its first declaration
6517+
can provide efficient execution and concise definition
6518+
while enabling a stable binary interface to an evolving code base.
6519+
\end{note}
65156520
A non-user-provided defaulted function
65166521
(i.e., implicitly declared or explicitly defaulted in the class)
65176522
that is not defined as deleted is implicitly defined when it is odr-used\iref{basic.def.odr}
65186523
or needed for constant evaluation\iref{expr.const}.
65196524
\begin{note}
6520-
Declaring a function as defaulted after its first declaration can provide
6521-
efficient execution and concise
6522-
definition while enabling a stable binary interface to an evolving code
6523-
base.
6525+
The implicit definition of a non-user-provided defaulted function
6526+
does not bind any names.
65246527
\end{note}
65256528

65266529
\pnum

0 commit comments

Comments
 (0)