[libcxx-commits] [PATCH] D102639: [libcxx][ranges] Add `indirectly_­movable`.

Christopher Di Bella via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon May 17 11:28:37 PDT 2021


cjdb requested changes to this revision.
cjdb added a comment.
This revision now requires changes to proceed.

Please add conformance and subsumption tests. It also makes sense to do both `indirectly_movable` and `indirectly_movable_storable` in the same patch, although I won't block on this.



================
Comment at: libcxx/test/std/iterators/iterator.requirements/alg.req/ind.move.compile.pass.cpp:34
+
+struct MoveOnlyWrapper {
+  using value_type = MoveOnly;
----------------
`IndirectlyReadableMoveOnly` is a more descriptive name. It's not really wrapping anything.


================
Comment at: libcxx/test/std/iterators/iterator.requirements/alg.req/ind.move.compile.pass.cpp:40-41
+static_assert( std::indirectly_movable<int*, int*>);
+static_assert(!std::indirectly_movable<int[2], int*>);
+static_assert(!std::indirectly_movable<int[2], int[2]>);
+static_assert(!std::indirectly_movable<int, int*>);
----------------
Please add tests for lvalue arrays too.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D102639/new/

https://reviews.llvm.org/D102639



More information about the libcxx-commits mailing list