[libcxx-commits] [libcxx] [libc++][concepts] P2404R3: Move-only types for equality_comparable_with, totally_ordered_with, and three_way_comparable_with (PR #99420)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jul 19 07:11:37 PDT 2024


================
@@ -109,14 +120,20 @@ static_assert(!HasPartialSortCopyRange<R<int*>, RandomAccessRangeNotDerivedFrom>
 static_assert(!HasPartialSortCopyRange<R<int*>, RandomAccessRangeBadIndex>);
 
 // !indirectly_copyable<iterator_t<R1>, iterator_t<R2>>
-static_assert(!HasPartialSortCopyRange<R<int*>, R<MoveOnly*>>);
+static_assert(!HasPartialSortCopyRange<R<int*>, R<OrderedConvertibleToInt*>>);
 
 // !sortable<iterator_t<R2>, Comp, Proj2>
 static_assert(!HasPartialSortCopyRange<R<int*>, R<const int*>>);
 
 // !indirect_strict_weak_order<Comp, projected<iterator_t<R1>, Proj1>, projected<iterator_t<R2>, Proj2>>
 static_assert(!HasPartialSortCopyRange<R<NoComparator*>, R<NoComparator*>>);
 
+#if TEST_STD_VER < 23
+static_assert(!HasPartialSortCopyRange<R<int*>, R<MoveOnly*>>);
+#else
+static_assert(HasPartialSortCopyRange<R<int*>, R<MoveOnly*>>);
----------------
ldionne wrote:

```suggestion
#else
// P2404
static_assert(HasPartialSortCopyRange<R<int*>, R<MoveOnly*>>);
```

https://github.com/llvm/llvm-project/pull/99420


More information about the libcxx-commits mailing list