[libcxx-commits] [PATCH] D126053: [libc++][ranges] Finish LWG issues directly related to the One Ranges Proposal.

Konstantin Varlamov via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri May 20 02:28:13 PDT 2022


var-const created this revision.
Herald added a project: All.
var-const requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

- P1252 <https://reviews.llvm.org/P1252> ("Ranges Design Cleanup") -- deprecate `move_iterator::operator->` starting from C++20; add range comparisons to the `<functional>` synopsis. Note that changes to `*_result` types from 6.1 in the paper are no longer relevant now that these types are aliases;
- P2106 <https://reviews.llvm.org/P2106> ("Alternative wording for GB315 and GB316") -- add a few `*_result` types to the synopsis in `<algorithm>` (some algorithms are not implemented yet and thus some of the proposal still cannot be marked as done);

Also mark already done issues as done (or as nothing to do):

- P2091 <https://reviews.llvm.org/P2091> ("Fixing Issues With Range Access CPOs") was already implemented (this patch adds tests for some ill-formed cases);
- LWG 3247 ("`ranges::iter_move` should perform ADL-only lookup of `iter_move`") was already implemented;
- LWG 3300 ("Non-array ssize overload is underconstrained") doesn't affect the implementation;
- LWG 3335 ("Resolve C++20 NB comments US 273 and GB 274") was already implemented;
- LWG 3355 ("The memory algorithms should support move-only input iterators introduced by P1207 <https://reviews.llvm.org/P1207>") was already implemented (except for testing).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D126053

Files:
  libcxx/docs/Status/Cxx20Issues.csv
  libcxx/docs/Status/Cxx20Papers.csv
  libcxx/docs/Status/RangesIssues.csv
  libcxx/include/__iterator/move_iterator.h
  libcxx/include/__ranges/empty.h
  libcxx/include/__ranges/size.h
  libcxx/include/algorithm
  libcxx/include/functional
  libcxx/include/iterator
  libcxx/test/std/ranges/range.access/begin.verify.cpp
  libcxx/test/std/ranges/range.access/data.verify.cpp
  libcxx/test/std/ranges/range.access/empty.verify.cpp
  libcxx/test/std/ranges/range.access/end.verify.cpp
  libcxx/test/std/ranges/range.access/rbegin.verify.cpp
  libcxx/test/std/ranges/range.access/rend.verify.cpp
  libcxx/test/std/ranges/range.access/size.verify.cpp
  libcxx/test/std/ranges/range.access/ssize.verify.cpp
  libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy.pass.cpp
  libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy_n.pass.cpp
  libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp
  libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D126053.430920.patch
Type: text/x-patch
Size: 34389 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220520/035cb7ca/attachment-0001.bin>


More information about the libcxx-commits mailing list