Skip to content

Commit bc780b6

Browse files
committed
Cleanup
1 parent 6bc98ca commit bc780b6

File tree

2 files changed

+13
-16
lines changed

2 files changed

+13
-16
lines changed

libcxx/test/std/utilities/optional/optional.comp_with_t/equal.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ static_assert(HasOperatorEqual<EqualityComparable, std::optional<EqualityCompara
2828
static_assert(!HasOperatorEqual<NonComparable, std::optional<NonComparable>>);
2929
static_assert(!HasOperatorEqual<NonComparable, std::optional<EqualityComparable>>);
3030

31-
3231
static_assert(HasOperatorEqual<std::optional<int>, int>);
3332
static_assert(HasOperatorEqual<std::optional<EqualityComparable>, int>);
3433
static_assert(HasOperatorEqual<std::optional<EqualityComparable>, EqualityComparable>);

libcxx/test/support/test_comparisons.h

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -293,20 +293,15 @@ concept HasOperatorGreaterThanEqual = requires(T1 t1, T2 t2) { t1 >= t2; };
293293
template <typename T1, typename T2 = T1>
294294
concept HasOperatorSpaceship = requires(T1 t1, T2 t2) { t1 <=> t2; };
295295

296-
template <typename T1, typename T2 = T1>
297-
concept CanCompareWithSpaceship = HasOperatorSpaceship<T1, T2> && requires(T1 t1, T2 t2) {
298-
{ t1 <=> t2 } -> std::same_as<std::strong_ordering>;
299-
};
300-
301-
template <typename T1, typename T2 = T1>
302-
concept CanCompare =
303-
HasOperatorEqual<T1, T2> && HasOperatorNotEqual<T1, T2> && HasOperatorLessThan<T1, T2> &&
304-
HasOperatorGreaterThan<T1, T2> && HasOperatorLessThanEqual<T1, T2> && HasOperatorGreaterThanEqual<T1, T2>;
305-
306296
struct NonComparable {};
307-
308297
static_assert(!std::equality_comparable<NonComparable>);
309-
static_assert(!CanCompare<NonComparable>);
298+
static_assert(!HasOperatorEqual<NonComparable>);
299+
static_assert(!HasOperatorNotEqual<NonComparable>);
300+
static_assert(!HasOperatorLessThan<NonComparable>);
301+
static_assert(!HasOperatorGreaterThan<NonComparable>);
302+
static_assert(!HasOperatorLessThanEqual<NonComparable>);
303+
static_assert(!HasOperatorGreaterThanEqual<NonComparable>);
304+
static_assert(!HasOperatorSpaceship<NonComparable>);
310305

311306
class EqualityComparable {
312307
public:
@@ -318,26 +313,29 @@ class EqualityComparable {
318313
int value_;
319314
};
320315
static_assert(std::equality_comparable<EqualityComparable>);
316+
static_assert(HasOperatorEqual<EqualityComparable>);
317+
static_assert(HasOperatorNotEqual<EqualityComparable>);
321318

322319
class ThreeWayComparable {
323320
public:
324321
constexpr ThreeWayComparable(int value) : value_{value} {};
325322

326-
friend constexpr std::strong_ordering operator<=>(const ThreeWayComparable&, const ThreeWayComparable&) noexcept = default;
327323
friend constexpr bool operator==(const ThreeWayComparable&, const ThreeWayComparable&) noexcept = default;
324+
friend constexpr std::strong_ordering
325+
operator<=>(const ThreeWayComparable&, const ThreeWayComparable&) noexcept = default;
326+
328327
private:
329328
int value_;
330329
};
331330
static_assert(std::equality_comparable<ThreeWayComparable>);
331+
static_assert(std::three_way_comparable<ThreeWayComparable>);
332332
static_assert(HasOperatorEqual<ThreeWayComparable>);
333333
static_assert(HasOperatorNotEqual<ThreeWayComparable>);
334334
static_assert(HasOperatorLessThan<ThreeWayComparable>);
335335
static_assert(HasOperatorGreaterThan<ThreeWayComparable>);
336336
static_assert(HasOperatorLessThanEqual<ThreeWayComparable>);
337337
static_assert(HasOperatorGreaterThanEqual<ThreeWayComparable>);
338338
static_assert(HasOperatorSpaceship<ThreeWayComparable>);
339-
static_assert(CanCompare<ThreeWayComparable>);
340-
static_assert(CanCompareWithSpaceship<ThreeWayComparable>);
341339

342340
#endif // TEST_STD_VER >= 26
343341

0 commit comments

Comments
 (0)