diff --git a/AK/Noncopyable.h b/AK/Noncopyable.h index a2a7e775937..e5b0fcdc180 100644 --- a/AK/Noncopyable.h +++ b/AK/Noncopyable.h @@ -26,14 +26,14 @@ public: \ c(c const&) = default; \ c& operator=(c const&) = default -#define AK_MAKE_CONDITIONALLY_NONMOVABLE(c, ...) \ -public: \ - c(c&&) \ - requires(!(AK::Detail::IsMoveConstructible __VA_ARGS__)) \ - = delete; \ - c& operator=(c&&) \ - requires(!(AK::Detail::IsMoveConstructible __VA_ARGS__) \ - || !(AK::Detail::IsDestructible __VA_ARGS__)) \ +#define AK_MAKE_CONDITIONALLY_NONMOVABLE(c, ...) \ +public: \ + c(c&&) \ + requires(!(AK::Detail::IsMoveConstructible __VA_ARGS__)) \ + = delete; \ + c& operator=(c&&) \ + requires(!((AK::Detail::IsMoveConstructible __VA_ARGS__) || (AK::Detail::IsMoveAssignable __VA_ARGS__)) \ + || !(AK::Detail::IsDestructible __VA_ARGS__)) \ = delete #define AK_MAKE_CONDITIONALLY_MOVABLE(c, T) \ @@ -41,14 +41,14 @@ public: \ c(c&&) = default; \ c& operator=(c&&) = default -#define AK_MAKE_CONDITIONALLY_NONCOPYABLE(c, ...) \ -public: \ - c(c const&) \ - requires(!(AK::Detail::IsCopyConstructible __VA_ARGS__)) \ - = delete; \ - c& operator=(c const&) \ - requires(!(AK::Detail::IsCopyConstructible __VA_ARGS__) \ - || !(AK::Detail::IsDestructible __VA_ARGS__)) \ +#define AK_MAKE_CONDITIONALLY_NONCOPYABLE(c, ...) \ +public: \ + c(c const&) \ + requires(!(AK::Detail::IsCopyConstructible __VA_ARGS__)) \ + = delete; \ + c& operator=(c const&) \ + requires(!((AK::Detail::IsCopyConstructible __VA_ARGS__) || (AK::Detail::IsCopyAssignable __VA_ARGS__)) \ + || !(AK::Detail::IsDestructible __VA_ARGS__)) \ = delete #define AK_MAKE_CONDITIONALLY_COPYABLE(c, ...) \