Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions source/statements.tex
Original file line number Diff line number Diff line change
Expand Up @@ -758,11 +758,10 @@
glvalue result or prvalue result object of the (explicit or implicit) function call
by copy-initialization\iref{dcl.init} from the operand.
\begin{note}
A \tcode{return} statement can involve
an invocation of a constructor to perform a copy or move of the operand
A \tcode{return} statement can involve a copy or move of the operand
if it is not a prvalue or if its type differs from the return type of the function.
A copy operation associated with a \tcode{return} statement can be elided or
converted to a move operation if an automatic storage duration variable is returned\iref{class.copy.elision}.
The copy operation associated with a \tcode{return} statement can be elided or
converted to a move operation if an implicitly movable entity\iref{class.copy.elision} is returned.
\end{note}

\pnum
Expand Down Expand Up @@ -837,6 +836,10 @@
The expression \placeholder{p}\tcode{.return_void()}
shall be a prvalue of type \tcode{void}.
\end{itemize}
\begin{note}
The overload resolution associated with a \tcode{co_return} statement is affected
by whether the operand is an implicitly movable entity\iref{class.copy.elision}.
\end{note}

\pnum
If \placeholder{p}\tcode{.return_void()} is a valid expression,
Expand Down