Skip to content
Open
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
13 changes: 7 additions & 6 deletions source/basic.tex
Original file line number Diff line number Diff line change
Expand Up @@ -4756,27 +4756,28 @@
\end{itemize}
implementations are permitted
to create temporary objects
to hold the function parameter or result object,
to hold the value of the function parameter or result object,
as follows:
\begin{itemize}
\item
The first such temporary object
is constructed from the function argument or return value, respectively.
is initialized from the function argument or
the operand of \keyword{return}, respectively.
\item
Each successive temporary object
is initialized from the previous one
as if by direct-initialization if \tcode{X} is a scalar type,
otherwise by using an eligible trivial constructor.
\item
The function parameter or return object is initialized
from the final temporary
The function parameter or result object is initialized
from the final temporary object
as if by direct-initialization if \tcode{X} is a scalar type,
otherwise by using an eligible trivial constructor.
\end{itemize}
(In all cases, the eligible constructor is used
In all cases, the eligible constructor is used
even if that constructor is inaccessible
or would not be selected by overload resolution
to perform a copy or move of the object).
to perform a copy or move of the object.
\begin{note}
This latitude is granted to allow objects
to be passed to or returned from functions in registers.
Expand Down