For purposes of name lookup and instantiation,
default arguments,
type-constraints,
requires-clauses (
[temp.pre]),
and
noexcept-specifiers
of function templates
and
of member functions of class templates
are considered definitions;
each
default argument,
type-constraint,
requires-clause,
or
noexcept-specifier
is a separate definition
which is unrelated
to the templated function definition or
to any other
default arguments,
type-constraints,
requires-clauses,
or
noexcept-specifiers.