In each case where a candidate is a function template, candidate
function template specializations
are generated using template argument deduction ([temp.over]
If a constructor template or conversion function template
has an explicit-specifier
is value-dependent ([temp.dep]
template argument deduction is performed first and then,
if the context admits only candidates that
are not explicit and the generated specialization is explicit ([dcl.fct.spec]
it will be removed from the candidate set.
Those candidates are then handled as candidate
functions in the usual way.
A given name can refer to, or a conversion can consider,
one or more function templates as well as a set of non-template functions.
In such a case, the
candidate functions generated from each function template are combined
with the set of non-template candidate functions.