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
|u.~T()|| All resources owned by |
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.
 See also
| checks if a type has a non-deleted destructor |