If a function declaration in namespace scope or block scope has the same
name and the same
parameter-type-list as
a function introduced by a
using-declaration, and the
declarations do not declare the same function, the program is
ill-formed
. If a function template declaration in namespace scope has
the same
name,
parameter-type-list,
trailing
requires-clause (if any),
return type, and
template-head,
as a function template introduced by a
using-declaration, the program is ill-formed
.