[contents,fs.req.namespace] Qualify only namespace-scope names LWG2818#1913
[contents,fs.req.namespace] Qualify only namespace-scope names LWG2818#1913tkoeppe merged 1 commit intocplusplus:mainfrom
Conversation
|
Editorial meeting: What if there are nested namespaces? What if this is ambiguous (different namespaces)? |
|
I have rebased the patch, but it does not yet implement the "editorial meeting" outcome. This patch is currently not ready to be merged. |
e3dbfe2 to
1a21a65
Compare
|
I would like to make sure that LWG has a chance to look at this and comment on it before it's applied. |
|
We appear to have quite a few places that fail to satisfy this "unless otherwise specified" rule (these are pre-existing errors, but still): [optional.swap]'s Table 43 says "calls ... which is wrong, and likewise for [priqueue.overview] and [stack.defn]. [container.node.modifiers] likewise uses The definition of All this makes me think that perhaps we should move the "swap is found by ADL" rule into the front matter: "Unless otherwise specified, argument-dependent name lookup is only performed within the standard library for operator-function-ids and for the identifier |
|
Rebased, |
8726270 to
20b2b7c
Compare
|
I've added the front-matter talk about "swap", which results in fewer changes than talking about ADL everywhere "swap" appears. @jwakely, could you have LWG look at this? |
45d536b to
d709495
Compare
|
The only residual open issue is the special treatment of |
|
@jwakely, this adds special treatment for |
jwakely
left a comment
There was a problem hiding this comment.
make_error_code and make_error_condition also need to be looked up using ADL, but I haven't opened the LWG issue about that yet.
|
@tkoeppe, this looks ready now. |
This is not accurate: So, the implementer needs to use |
It does not make sense to attempt to qualify class members
with a nested-name-specifier consisting of namespace-names.
Fixes #1793.