In a declaration whose declarator-id refers to a specialization
of a function template, template argument deduction is performed to identify
the specialization to which the declaration refers.
In all these cases, P is the type of the function template being considered
as a potential match and A is either the function type from the
declaration
or the type of the deallocation function that would match the placement
operatornew as described in [expr.new].
If, for the set of function templates so considered, there is either no match or
more than one match after partial ordering has been considered ([temp.func.order]),
deduction fails and, in the declaration cases, the
program is ill-formed.