If the declaration inhabits a block scope
S and
declares a function (
[dcl.fct]) or uses the
extern specifier,
the declaration shall not be attached to a named module (
[module.unit]);
its target scope is the innermost enclosing namespace scope,
but the name is bound in
S.