Skip to content

Commit c7b8185

Browse files
committed
[stmt.return], [stmt.return.coroutine] update notes re implicit move
These notes probably should have been changed when P1825 was adopted.
1 parent 1cb3842 commit c7b8185

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

source/statements.tex

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -900,10 +900,10 @@
900900
\end{note}
901901
\begin{note}
902902
A \tcode{return} statement can involve
903-
an invocation of a constructor to perform a copy or move of the operand
903+
a copy or move of the operand
904904
if it is not a prvalue or if its type differs from the return type of the function.
905-
A copy operation associated with a \tcode{return} statement can be elided or
906-
converted to a move operation if an automatic storage duration variable is returned\iref{class.copy.elision}.
905+
A copy operation associated with a \tcode{return} statement can be elided\iref{class.copy.elision}
906+
or converted to a move operation if an implicitly movable entity\iref{expr.prim.id.unqual} is returned.
907907
\end{note}
908908

909909
\pnum
@@ -993,6 +993,10 @@
993993
\item
994994
If the operand is a \grammarterm{braced-init-list} or an expression of non-\keyword{void} type,
995995
\placeholder{S} is \placeholder{p}\tcode{.return_value(}\grammarterm{expr-or-braced-init-list}{}\tcode{)}.
996+
\begin{note}
997+
The overload resolution of \placeholder{S} is affected
998+
by whether the operand is an implicitly movable entity\iref{expr.prim.id.unqual}.
999+
\end{note}
9961000
The expression \placeholder{S} shall be a prvalue of type \keyword{void}.
9971001

9981002
\item

0 commit comments

Comments
 (0)