[libcxx-commits] [PATCH] D118736: [libc++] Guard std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES.

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Feb 11 06:59:20 PST 2022


Quuxplusone updated this revision to Diff 407870.
Quuxplusone added a comment.

Fix the CI failures. I hadn't removed the `#ifndef` guard around all-of-the-`<ranges>`-header, so the `borrowed_range` tests were failing because they //only// included `<ranges>` and no other headers. Also, `span` is supported-ish in this mode, but can't be constructed from an arbitrary contiguous range because we don't support `contiguous_range` in this mode. (Perhaps we should? It would drag in `ranges::data` and I think also `ranges::size`, as well as all the other `*_range` concepts; but that might not be too bad.)


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

https://reviews.llvm.org/D118736

Files:
  libcxx/include/__algorithm/in_in_out_result.h
  libcxx/include/__algorithm/in_out_result.h
  libcxx/include/__filesystem/directory_iterator.h
  libcxx/include/__filesystem/recursive_directory_iterator.h
  libcxx/include/__functional/ranges_operations.h
  libcxx/include/__iterator/advance.h
  libcxx/include/__iterator/distance.h
  libcxx/include/__iterator/insert_iterator.h
  libcxx/include/__iterator/iter_move.h
  libcxx/include/__iterator/iter_swap.h
  libcxx/include/__iterator/next.h
  libcxx/include/__iterator/prev.h
  libcxx/include/__memory/concepts.h
  libcxx/include/__memory/ranges_construct_at.h
  libcxx/include/__memory/ranges_uninitialized_algorithms.h
  libcxx/include/__ranges/all.h
  libcxx/include/__ranges/common_view.h
  libcxx/include/__ranges/concepts.h
  libcxx/include/__ranges/copyable_box.h
  libcxx/include/__ranges/counted.h
  libcxx/include/__ranges/dangling.h
  libcxx/include/__ranges/data.h
  libcxx/include/__ranges/drop_view.h
  libcxx/include/__ranges/empty.h
  libcxx/include/__ranges/empty_view.h
  libcxx/include/__ranges/enable_borrowed_range.h
  libcxx/include/__ranges/enable_view.h
  libcxx/include/__ranges/iota_view.h
  libcxx/include/__ranges/join_view.h
  libcxx/include/__ranges/non_propagating_cache.h
  libcxx/include/__ranges/owning_view.h
  libcxx/include/__ranges/range_adaptor.h
  libcxx/include/__ranges/ref_view.h
  libcxx/include/__ranges/reverse_view.h
  libcxx/include/__ranges/single_view.h
  libcxx/include/__ranges/size.h
  libcxx/include/__ranges/subrange.h
  libcxx/include/__ranges/take_view.h
  libcxx/include/__ranges/transform_view.h
  libcxx/include/__ranges/view_interface.h
  libcxx/include/ranges
  libcxx/include/span
  libcxx/include/string_view
  libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_iterator.compile.pass.cpp
  libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_iterator.compile.pass.cpp
  libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_sentinel_for.compile.pass.cpp
  libcxx/test/libcxx/ranges/has-no-incomplete-ranges.compile.pass.cpp
  libcxx/test/libcxx/ranges/range.access/end.incomplete_type.pass.cpp
  libcxx/test/libcxx/ranges/range.utility.helpers/different_from.compile.pass.cpp
  libcxx/test/libcxx/ranges/range.utility.helpers/has_arrow.compile.pass.cpp
  libcxx/test/std/algorithms/algorithms.results/in_in_result.pass.cpp
  libcxx/test/std/containers/views/span.cons/deduct.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/constraints.verify.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count_sentinel.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_sentinel.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/lwg3664.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/constraints.compile.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/iterator.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/iterator_count.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/iterator_count_sentinel.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/iterator_sentinel.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/constraints.compile.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator_count.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator_count_sentinel.pass.cpp
  libcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.move/iter_move.nodiscard.verify.cpp
  libcxx/test/std/iterators/predef.iterators/counted.iterator/compare.pass.cpp
  libcxx/test/std/iterators/predef.iterators/iterators.common/assign.pass.cpp
  libcxx/test/std/ranges/range.access/begin.pass.cpp
  libcxx/test/std/ranges/range.access/end.pass.cpp
  libcxx/test/std/ranges/range.req/range.range/borrowed_range.compile.pass.cpp
  libcxx/test/std/ranges/range.req/range.range/borrowed_range.subsumption.compile.pass.cpp
  libcxx/test/std/ranges/range.req/range.range/enable_borrowed_range.compile.pass.cpp
  libcxx/test/std/strings/string.view/string.view.cons/from_iterator_sentinel.pass.cpp
  libcxx/test/std/strings/string.view/string.view.deduct/range.pass.cpp
  libcxx/test/std/utilities/function.objects/range.cmp/equal_to.pass.cpp
  libcxx/test/std/utilities/function.objects/range.cmp/greater.pass.cpp
  libcxx/test/std/utilities/function.objects/range.cmp/greater_equal.pass.cpp
  libcxx/test/std/utilities/function.objects/range.cmp/less.pass.cpp
  libcxx/test/std/utilities/function.objects/range.cmp/less_equal.pass.cpp
  libcxx/test/std/utilities/function.objects/range.cmp/not_equal_to.pass.cpp
  libcxx/test/support/test_iterators.h
  libcxx/test/support/test_macros.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D118736.407870.patch
Type: text/x-patch
Size: 57389 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220211/3fcb00e3/attachment-0001.bin>


More information about the libcxx-commits mailing list