I do not think [fs.req.namespaces] means what it thinks it means LWG2818 #1793
Labels
lwg
Issue must be reviewed by LWG.
not-editorial
Issue is not deemed editorial; the editorial issue is kept open for tracking.
"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].The text was updated successfully, but these errors were encountered: