Defined in header
Destructible specifies the concept of all types whose instances can safely be destroyed at the end of their lifetime (including reference types).
Unlike the Destructible named requirement,
std::Destructible requires the destructor to be noexcept(true), not merely non-throwing when invoked, and allows reference types and array types.
| checks if a type has a non-deleted destructor |