Consider the following bit of code:
namespace N { struct S { void f(); }; } using namespace N; void S::f() { extern void g(); // ::g or N::g? }
In 6.6 [basic.link] paragraph 7 the Standard says (among other things),
When a block scope declaration of an entity with linkage is not found to refer to some other declaration, then that entity is a member of the innermost enclosing namespace.
The question then is whether N is an “enclosing namespace” for the local declaration of g()?