-
Notifications
You must be signed in to change notification settings - Fork 769
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.ref]/(6.3.2) function type spelling doesn't match [dcl.fct]/1 #3607
Comments
I agree with most of the suggestions, but the "parameter-type-list" actually better captures the processing that occurs between the parameter-declaration-clause and the resulting types. (Thus, [dcl.fct] should be fixed.) Oh, and "cv" is an established term for a set of cv-qualifiers, so I think we're good in that regard. |
Is it actually necessary to repeat the full function type spelling, instead of just saying
|
I'm actually wondering about something else: Do we have to include "cv" and "ref-qualifier" in the resulting type for E1.E2? After all, those things only matter when checking the relationship of E1 and E2, but once that has been cleared, they're irrelevant for further processing. The relevant overload resolution section talks about "the non-static member function", so don't actually refer to "E1.E2" which is a funny prvalue invented for recursive parsing mechanics but not much else. |
[expr.ref]/(6.3.2) says:
However, this doesn't match how function types are spelled in [dcl.fct]/1:
[expr.ref]/(6.3.2):
noexcept
optAlso, why ref-qualifieropt of
E2
's type is missing in the type ofE1.E2
?The text was updated successfully, but these errors were encountered: