diff --git a/src/corelib/tools/quniquehandle_p.h b/src/corelib/tools/quniquehandle_p.h index d388b1bb0fc..8f9a31a761a 100644 --- a/src/corelib/tools/quniquehandle_p.h +++ b/src/corelib/tools/quniquehandle_p.h @@ -20,6 +20,7 @@ #include #include +#include QT_BEGIN_NAMESPACE @@ -109,6 +110,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;