Skip to content

Commit 17e5a9d

Browse files
committed
[over.match.oper] Add a note for conversions on synthesized candidates.
1 parent 5a98cbf commit 17e5a9d

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

source/overloading.tex

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,7 @@
496496
functions to be resolved against the same argument list.
497497
So that argument and parameter lists are comparable within this
498498
heterogeneous set, a member function is considered to have an
499-
extra parameter, called the
499+
extra first parameter, called the
500500
\defn{implicit object parameter},
501501
which represents the object for which the member function has been
502502
called.
@@ -508,13 +508,8 @@
508508
Similarly, when appropriate, the context can construct an
509509
argument list that contains an
510510
\defn{implied object argument}
511-
to denote
511+
as the first argument in the list to denote
512512
the object to be operated on.
513-
Since arguments and parameters are
514-
associated by position within their respective lists, the
515-
convention is that the implicit object parameter, if present, is
516-
always the first parameter and the implied object argument, if
517-
present, is always the first argument.
518513

519514
\pnum
520515
For non-static member functions, the type of the implicit object
@@ -1076,6 +1071,11 @@
10761071
\end{itemize}
10771072
where in each case \tcode{operator<=>} candidates
10781073
are not considered for the recursive lookup of operator \tcode{@}.
1074+
\begin{note}
1075+
A candidate synthesized from a member candidate has its implicit
1076+
object parameter as the second parameter, thus implicit conversions
1077+
are considered for the first, but not for the second, parameter.
1078+
\end{note}
10791079

10801080
\pnum
10811081
The argument list contains all of the

0 commit comments

Comments
 (0)