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
ADL for cv T or T& #3896
Comments
It already could be a reference type from a template argument, no? |
@timsong-cpp: True—and we also consider function parameter and return types, so this is entirely preexisting. |
I think [basic.lookup.argdep] is fine for cv-qualified types. Cv-qualified types are versions of their cv-unqualified types, and so are of the same categories (eg,
I think the language rules are clear that the call is ill-formed, but all implementations accept. I can't bring myself to see fixing this as being editorial; please file a core issue (and let us know when that's done so this can be closed). |
I don't think we state that clearly; for example, [basic.types]/9 says that
and [basic.fundamental]/1 says that there are 5 (not 20) standard signed integer types. Am I misinterpreting [basic.types], or do we need some sort of correction there if not in [basic.lookup.argdep]? |
[class.name]/1 says «A class definition introduces a new type». Shouldn't it say that 4 types are introduced? Also, shall |
[basic.lookup.argdep] never considers that
T
might be cv-qualified; now that [concept.booleantestable]/2.2 sendsdecltype((e))
to "ADL", it might also be a reference type. The intent here is obviously to ignore such decorations; can that be done editorially?The text was updated successfully, but these errors were encountered: