The class template allocator_traits
supplies a uniform interface to all
An allocator cannot be a non-class type, however, even if allocator_traits
supplies the entire required interface.
Thus, it is always possible to create
a derived class from an allocator.
— end note
If a program declares
an explicit or partial specialization of allocator_traits
the program is ill-formed, no diagnostic required.