diff --git a/src/corelib/tools/quniquehandle_p.h b/src/corelib/tools/quniquehandle_p.h index 815d0768b06..c746e51fe72 100644 --- a/src/corelib/tools/quniquehandle_p.h +++ b/src/corelib/tools/quniquehandle_p.h @@ -22,6 +22,7 @@ #include #include +#include QT_BEGIN_NAMESPACE @@ -111,6 +112,19 @@ class QUniqueHandle { public: using Type = typename HandleTraits::Type; + static_assert(std::is_nothrow_default_constructible_v); + static_assert(std::is_nothrow_constructible_v); + static_assert(std::is_nothrow_copy_constructible_v); + static_assert(std::is_nothrow_move_constructible_v); + static_assert(std::is_nothrow_copy_assignable_v); + static_assert(std::is_nothrow_move_assignable_v); + static_assert(std::is_nothrow_destructible_v); + static_assert(noexcept(std::declval() == std::declval())); + static_assert(noexcept(std::declval() != std::declval())); + static_assert(noexcept(std::declval() < std::declval())); + static_assert(noexcept(std::declval() <= std::declval())); + static_assert(noexcept(std::declval() > std::declval())); + static_assert(noexcept(std::declval() >= std::declval())); QUniqueHandle() = default;