C++ named requirements: Destructible
Specifies that an instance of the type can be destructed.
T satisfies Destructible if
u, a expression of type
The following expressions must be valid and have their specified effects
| All resources owned by
u are reclaimed, no exceptions are thrown.
Thanks to pseudo destructor call, all scalar types meet the requirement of Destructible, while array types and reference types do not. Note that std::is_destructible allows arrays and reference types.
| checks if a type has a non-deleted destructor