Skip to content

Commit 1d50d2d

Browse files
jensmaurerzygoloid
authored andcommitted
[over.match.oper] Add a note for conversions on synthesized candidates.
1 parent 63dd5c6 commit 1d50d2d

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
@@ -497,7 +497,7 @@
497497
functions to be resolved against the same argument list.
498498
So that argument and parameter lists are comparable within this
499499
heterogeneous set, a member function is considered to have an
500-
extra parameter, called the
500+
extra first parameter, called the
501501
\defn{implicit object parameter},
502502
which represents the object for which the member function has been
503503
called.
@@ -509,13 +509,8 @@
509509
Similarly, when appropriate, the context can construct an
510510
argument list that contains an
511511
\defn{implied object argument}
512-
to denote
512+
as the first argument in the list to denote
513513
the object to be operated on.
514-
Since arguments and parameters are
515-
associated by position within their respective lists, the
516-
convention is that the implicit object parameter, if present, is
517-
always the first parameter and the implied object argument, if
518-
present, is always the first argument.
519514

520515
\pnum
521516
For non-static member functions, the type of the implicit object
@@ -1089,6 +1084,11 @@
10891084
synthesized \tcode{operator<=>} candidates
10901085
are not considered for the recursive lookups.
10911086
\end{itemize}
1087+
\begin{note}
1088+
A candidate synthesized from a member candidate has its implicit
1089+
object parameter as the second parameter, thus implicit conversions
1090+
are considered for the first, but not for the second, parameter.
1091+
\end{note}
10921092

10931093
\pnum
10941094
The argument list contains all of the

0 commit comments

Comments
 (0)