diff --git a/libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp b/libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp index 25eb97a2df4d3..16c6986ae670e 100644 --- a/libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp +++ b/libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp @@ -16,14 +16,14 @@ #include #include +#include "test_comparisons.h" #include "test_macros.h" -#include "../../types.h" #if TEST_STD_VER >= 26 // https://wg21.link/P3379R0 -static_assert(CanCompare, int>); -static_assert(CanCompare, EqualityComparable>); -static_assert(!CanCompare, NonComparable>); +static_assert(HasOperatorEqual, int>); +static_assert(HasOperatorEqual, EqualityComparable>); +static_assert(!HasOperatorEqual, NonComparable>); #endif constexpr bool test() { diff --git a/libcxx/test/std/utilities/expected/expected.expected/equality/equality.other_expected.pass.cpp b/libcxx/test/std/utilities/expected/expected.expected/equality/equality.other_expected.pass.cpp index f0f549b6b7772..218f0c39740e5 100644 --- a/libcxx/test/std/utilities/expected/expected.expected/equality/equality.other_expected.pass.cpp +++ b/libcxx/test/std/utilities/expected/expected.expected/equality/equality.other_expected.pass.cpp @@ -17,26 +17,26 @@ #include #include +#include "test_comparisons.h" #include "test_macros.h" -#include "../../types.h" // Test constraint -static_assert(!CanCompare); +static_assert(!HasOperatorEqual); -static_assert(CanCompare, std::expected>); -static_assert(CanCompare, std::expected>); +static_assert(HasOperatorEqual, std::expected>); +static_assert(HasOperatorEqual, std::expected>); #if TEST_STD_VER >= 26 // https://wg21.link/P3379R0 -static_assert(!CanCompare, std::expected>); -static_assert(CanCompare, std::expected>); -static_assert(!CanCompare, std::expected>); -static_assert(!CanCompare, std::expected>); -static_assert(!CanCompare, std::expected>); -static_assert(!CanCompare, std::expected>); +static_assert(!HasOperatorEqual, std::expected>); +static_assert(HasOperatorEqual, std::expected>); +static_assert(!HasOperatorEqual, std::expected>); +static_assert(!HasOperatorEqual, std::expected>); +static_assert(!HasOperatorEqual, std::expected>); +static_assert(!HasOperatorEqual, std::expected>); #else // Note this is true because other overloads in expected are unconstrained -static_assert(CanCompare, std::expected>); +static_assert(HasOperatorEqual, std::expected>); #endif constexpr bool test() { // x.has_value() && y.has_value() diff --git a/libcxx/test/std/utilities/expected/expected.expected/equality/equality.unexpected.pass.cpp b/libcxx/test/std/utilities/expected/expected.expected/equality/equality.unexpected.pass.cpp index 6c7d2f39514e7..153cbbddf3062 100644 --- a/libcxx/test/std/utilities/expected/expected.expected/equality/equality.unexpected.pass.cpp +++ b/libcxx/test/std/utilities/expected/expected.expected/equality/equality.unexpected.pass.cpp @@ -16,14 +16,14 @@ #include #include +#include "test_comparisons.h" #include "test_macros.h" -#include "../../types.h" #if TEST_STD_VER >= 26 // https://wg21.link/P3379R0 -static_assert(CanCompare, std::unexpected>); -static_assert(CanCompare, std::unexpected>); -static_assert(!CanCompare, std::unexpected>); +static_assert(HasOperatorEqual, std::unexpected>); +static_assert(HasOperatorEqual, std::unexpected>); +static_assert(!HasOperatorEqual, std::unexpected>); #endif constexpr bool test() { diff --git a/libcxx/test/std/utilities/expected/expected.void/equality/equality.other_expected.pass.cpp b/libcxx/test/std/utilities/expected/expected.void/equality/equality.other_expected.pass.cpp index b6c3d8deee644..af53d0c00f578 100644 --- a/libcxx/test/std/utilities/expected/expected.void/equality/equality.other_expected.pass.cpp +++ b/libcxx/test/std/utilities/expected/expected.void/equality/equality.other_expected.pass.cpp @@ -17,26 +17,26 @@ #include #include +#include "test_comparisons.h" #include "test_macros.h" -#include "../../types.h" struct Foo{}; -static_assert(!CanCompare); +static_assert(!HasOperatorEqual); -static_assert(CanCompare, std::expected>); -static_assert(CanCompare, std::expected>); +static_assert(HasOperatorEqual, std::expected>); +static_assert(HasOperatorEqual, std::expected>); #if TEST_STD_VER >= 26 // https://wg21.link/P3379R0 -static_assert(!CanCompare, std::expected>); -static_assert(CanCompare, std::expected>); -static_assert(CanCompare, std::expected>); -static_assert(!CanCompare, std::expected>); -static_assert(!CanCompare, std::expected>); -static_assert(!CanCompare, std::expected>); +static_assert(!HasOperatorEqual, std::expected>); +static_assert(HasOperatorEqual, std::expected>); +static_assert(HasOperatorEqual, std::expected>); +static_assert(!HasOperatorEqual, std::expected>); +static_assert(!HasOperatorEqual, std::expected>); +static_assert(!HasOperatorEqual, std::expected>); #else // Note this is true because other overloads in expected are unconstrained -static_assert(CanCompare, std::expected>); +static_assert(HasOperatorEqual, std::expected>); #endif constexpr bool test() { diff --git a/libcxx/test/std/utilities/expected/expected.void/equality/equality.unexpected.pass.cpp b/libcxx/test/std/utilities/expected/expected.void/equality/equality.unexpected.pass.cpp index f37f38bb71512..8d040d2ab7c0a 100644 --- a/libcxx/test/std/utilities/expected/expected.void/equality/equality.unexpected.pass.cpp +++ b/libcxx/test/std/utilities/expected/expected.void/equality/equality.unexpected.pass.cpp @@ -16,14 +16,14 @@ #include #include +#include "test_comparisons.h" #include "test_macros.h" -#include "../../types.h" #if TEST_STD_VER >= 26 // https://wg21.link/P3379R0 -static_assert(CanCompare, std::unexpected>); -static_assert(CanCompare, std::unexpected>); -static_assert(!CanCompare, std::unexpected>); +static_assert(HasOperatorEqual, std::unexpected>); +static_assert(HasOperatorEqual, std::unexpected>); +static_assert(!HasOperatorEqual, std::unexpected>); #endif constexpr bool test() { diff --git a/libcxx/test/std/utilities/expected/types.h b/libcxx/test/std/utilities/expected/types.h index 11473ca3d97de..df73ebdfe495e 100644 --- a/libcxx/test/std/utilities/expected/types.h +++ b/libcxx/test/std/utilities/expected/types.h @@ -336,17 +336,4 @@ struct CheckForInvalidWrites : public CheckForInvalidWritesBase -concept CanCompare = requires(T1 t1, T2 t2) { t1 == t2; }; - #endif // TEST_STD_UTILITIES_EXPECTED_TYPES_H diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp index c472906c5ed7f..226a3587a47f4 100644 --- a/libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp +++ b/libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp @@ -21,28 +21,15 @@ #include #include +#include "test_comparisons.h" #include "test_macros.h" #if TEST_STD_VER >= 26 // Test SFINAE. -struct EqualityComparable { - constexpr EqualityComparable(int value) : value_{value} {}; - - friend constexpr bool operator==(const EqualityComparable&, const EqualityComparable&) noexcept = default; - - int value_; -}; - -static_assert(std::equality_comparable); - static_assert(std::equality_comparable>); -struct NonComparable {}; - -static_assert(!std::equality_comparable); - static_assert(!std::equality_comparable>); static_assert(!std::equality_comparable>);