Skip to content
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

I do not think [fs.req.namespaces] means what it thinks it means LWG2818 #1793

Closed
jwakely opened this issue Nov 7, 2017 · 2 comments · Fixed by #1913 or #4695
Closed

I do not think [fs.req.namespaces] means what it thinks it means LWG2818 #1793

jwakely opened this issue Nov 7, 2017 · 2 comments · Fixed by #1913 or #4695
Assignees
Labels
lwg Issue must be reviewed by LWG. not-editorial Issue is not deemed editorial; the editorial issue is kept open for tracking.

Comments

@jwakely
Copy link
Member

jwakely commented Nov 7, 2017

Unless otherwise specified, references to entities described in this subclause are assumed to be qualified with ::std::filesystem::.

"this subclause" only refers to 30.10.4.1 [fs.req.namespaces], but it really means the whole of 30.10 [filesystems], or at least all the subclauses after 30.4.2.1, not just 30.10.4.1 itself.

Do we really mean all entities? Variables are entities. Class members are entities, and we don't mean to qualify all class members with the namespace name, because e.g. native() means ::std::filesystem::path::native() not ::std::filesystem::native() (which doesn't exist). I think we mean types and non-member functions. And maybe some typedefs, which are not entities.

20.5.1.1 [contents] specifies a similar rule differently, talking about "a name x" not "entities".

We could qualify all uses of types and non-member functions with filesystem:: so that the general rule in [contents] applies, which might hurt readability, or we could fix [fs.req.namespaces].

@jensmaurer jensmaurer added the decision-required A decision of the editorial group (or the Project Editor) is required. label Feb 13, 2018
@jensmaurer
Copy link
Member

Suggested harmonized wording:

Whenever a name \tcode{x} declared in the standard library at
namespace scope is mentioned, the name \tcode{x} is assumed to be
fully qualified as \tcode{::std::x}, unless otherwise specified.

@jensmaurer jensmaurer self-assigned this Feb 13, 2018
@zygoloid zygoloid removed the decision-required A decision of the editorial group (or the Project Editor) is required. label Mar 18, 2018
@jwakely jwakely removed their assignment Mar 21, 2018
@jensmaurer jensmaurer changed the title I do not think [fs.req.namespaces] means what it thinks it means I do not think [fs.req.namespaces] means what it thinks it means LWG 2818 Nov 5, 2020
@jensmaurer jensmaurer added lwg Issue must be reviewed by LWG. not-editorial Issue is not deemed editorial; the editorial issue is kept open for tracking. labels Nov 5, 2020
@jensmaurer
Copy link
Member

jensmaurer commented Nov 5, 2020

LWG2818 will address this issue.

@jensmaurer jensmaurer changed the title I do not think [fs.req.namespaces] means what it thinks it means LWG 2818 I do not think [fs.req.namespaces] means what it thinks it means LWG2818 Jun 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lwg Issue must be reviewed by LWG. not-editorial Issue is not deemed editorial; the editorial issue is kept open for tracking.
Projects
None yet
3 participants