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.