New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[expr.call] Say "implicit object parameter" instead of "this
parameter"
#6803
base: main
Are you sure you want to change the base?
[expr.call] Say "implicit object parameter" instead of "this
parameter"
#6803
Conversation
da94a6b
to
c181823
Compare
This comment was marked as resolved.
This comment was marked as resolved.
@@ -3345,7 +3345,7 @@ | |||
If the function is an implicit object member | |||
function, | |||
the object expression of the class member access shall be a glvalue and | |||
the \keyword{this} parameter of the function\iref{expr.prim.this} | |||
the implicit object parameter of the function\iref{over.match.funcs} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this right? https://eel.is/c++draft/over.match.funcs#general-4 says that the implicit object parameter is of type "reference to X" -- how can you initialize that with a pointer to the obeject of the call?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah. And also, referring to overload resolution for something affecting the actual call doesn't feel good.
Retracting my approval.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems that we can say the implicit object parameter is initialized with the aforementioned glvalue.
And correct the initialization of the implicit object parameter.
c181823
to
1c2595d
Compare
Separated from #6748.