20 Memory management library [mem]

20.4 Types for composite class design [mem.composite.types]

20.4.2 Class template polymorphic [polymorphic]

20.4.2.4 Destructor [polymorphic.dtor]

constexpr ~polymorphic();
Mandates: T is a complete type.
Effects: If *this is not valueless, destroys the owned object using allocator_traits<Allocator>​::​destroy and then the storage is deallocated.