次のコードは、ほとんどのコンパイラでコンパイルに失敗します:
#include <type_traits>
class Foo
{
public:
Foo() noexcept {}
~Foo() noexcept(false) {}
};
static_assert(std::is_nothrow_default_constructible_v<Foo>);
CppReferenceは、これはコンパイラの実装では一般的であると述べていますが、代替手段は提供していません。デストラクタが結果に影響を与えることなく、コンストラクタが noexcept であるかどうかをテストするにはどうすればよいですか?