#include #include #include struct Foo { std::string str; ~Foo() noexcept {}; }; struct Bar { ~Bar() = default; }; int main() { std::cout << std::boolalpha << "std::string is destructible? " << std::is_destructible::value << '\n' << "Foo is trivially destructible? " << std::is_trivially_destructible_v << '\n' << "Foo is nothrow destructible? " << std::is_nothrow_destructible() << '\n' << "Bar is trivially destructible? " << std::is_trivially_destructible{} << '\n'; }