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
or the type of the deallocation function that would match the placement
operator new 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.