...
DCL54-CPP-EX1: A placement deallocation function may be elided for a corresponding placement allocation function, but only if the object placement allocation and object construction are guaranteed to be noexcept(true). Because placement deallocation functions are automatically invoked when the object initialization terminates by throwing an exception, it is safe to elide the placement deallocation function when exceptions cannot be thrown. For instance, some vendors implement compiler flags disabling exception support (such as -fno-cxx-exceptions in Clang and /EHs-c- in Microsoft Visual Studio), which has implementation-defined behavior when an exception is thrown but generally results in program termination similar to calling abort().
DCL54-CPP-EX2: If a one user-defined allocation or deallocation function unconditionally calls the default such function (along with possibly doing other things), and the corresponding one in the pair would do nothing other than calling the default function, then it may be omittedin a pair would have the exact same behavior as the default one that it's replacing, then it does not need to be written. Instead there should be a comment saying that the behavior is the same as the default. For example, if a destroying operator delete implementation does a size calculation, calls the destructor, and then calls the global operator delete, no operator new implementation is required.
...