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
A note in [namespace.udir] that metions "using-directive does no introduce name" should be turned to a normative rule #4764
Comments
There is nothing in the wording that say that a using-directive introduces any names, thus it doesn't introduce any. |
The "introduce name" is mentioned in another place, that is
A So, There is nothing in the wording that say that a using-directive introduces any names, thus it doesn't introduce any., which truly is it? In other words, there is nothing in the wording in [namespace.udecl] that says the using-declaration introduces a name, but it indeed does introduce a name. Hence, I think we should explicitly say that a |
What is the specification situation with |
Since the note has existed in [namespace.udir#3], turn it to be a normative rule seems do not impact other things, and at least do it would make [namespace.udir] be clear about this point. |
Well, saying something in one place and not saying the same thing in another place (e.g. for |
Agreed. [basic#pre-5] is not clear on specifying which concrete declarations that introduce names. It's better to specify them in the respective clause. BTW, "What's the difference between here and there that would warrant the difference in specification?" What does it mean? |
If we say X in one place, but don't say X in another place (where it plausibly also applies), we leave confusion whether X does apply to that other place or not. |
Yes, it's exactly the status quo of expounding which declarations can introduce names. |
[namespace.udir#3]
Whether a declaration introduces a name or not is significant in certain rules, for instance:
[module.interface#3]
Since there is no other normative rule in the current standard that explicitly says a
using-directive
declaration does not introduce any name, hence, it's necessary to make the note be a normative rule.The text was updated successfully, but these errors were encountered: