Fix is_noexcept for implicit noexcept destructors when marked as default or deleted (#196)

This commit is contained in:
zebullax
2025-10-30 01:30:51 +09:00
committed by GitHub
parent 9171cf41ef
commit 08419a75ac
3 changed files with 22 additions and 7 deletions

View File

@@ -703,6 +703,16 @@ static_assert(!is_noexcept(type_of(^^EC::Something)));
static_assert(!is_noexcept(^^E));
static_assert(!is_noexcept(^^E_Something));
static_assert(!is_noexcept(type_of(^^E_Something)));
// Defaulted special members
struct DelDest { ~DelDest() = delete; };
static_assert(is_noexcept (^^DelDest::~DelDest));
struct DefDest { ~DefDest() = default; };
static_assert(is_noexcept (^^DefDest::~DefDest));
struct EmptyStruct { };
static_assert(is_noexcept (^^EmptyStruct::~EmptyStruct));
} // namespace noexcept_functions
// ================