The deallocation function's name is looked up by searching for it in the scope of the promise type
.If nothing is found, a search is performed in the
global scope
.If both a usual deallocation
function with only a pointer parameter and a usual deallocation function with
both a pointer parameter and a size parameter are found, then the selected deallocation
function shall be the one with two parameters
.Otherwise, the selected
deallocation function shall be the function with one parameter
.If no usual
deallocation function is found, the program is ill-formed
.The selected deallocation function shall be called with the address of the
block of storage to be reclaimed as its first argument
.If a deallocation
function with a parameter of type 
std::size_t is used, the size of
the block is passed as the corresponding argument
.