[all-commits] [llvm/llvm-project] 79a2b4: [libc++][ranges] Finish LWG issues directly relate...
Konstantin Varlamov via All-commits
all-commits at lists.llvm.org
Tue Jun 28 12:01:14 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 79a2b4ba98a1eecc214b68fc31483ebbd7cf8c8a
https://github.com/llvm/llvm-project/commit/79a2b4ba98a1eecc214b68fc31483ebbd7cf8c8a
Author: Konstantin Varlamov <varconst at apple.com>
Date: 2022-06-28 (Tue, 28 Jun 2022)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/RangesIssues.csv
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__ranges/size.h
M libcxx/include/algorithm
M libcxx/include/functional
M libcxx/include/iterator
A libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.ref/deprecated.verify.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.ref/op_arrow.pass.cpp
A libcxx/test/std/ranges/range.access/begin.verify.cpp
A libcxx/test/std/ranges/range.access/data.verify.cpp
A libcxx/test/std/ranges/range.access/empty.verify.cpp
A libcxx/test/std/ranges/range.access/end.verify.cpp
A libcxx/test/std/ranges/range.access/rbegin.verify.cpp
A libcxx/test/std/ranges/range.access/rend.verify.cpp
A libcxx/test/std/ranges/range.access/size.verify.cpp
A libcxx/test/std/ranges/range.access/ssize.verify.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp
Log Message:
-----------
[libc++][ranges] Finish LWG issues directly related to the One Ranges Proposal.
- P1252 ("Ranges Design Cleanup") -- deprecate
`move_iterator::operator->` starting from C++20; add range comparisons
to the `<functional>` synopsis. This restores
`move_iterator::operator->` that was incorrectly deleted in D117656;
it's still defined in the latest draft, see
http://eel.is/c++draft/depr.move.iter.elem. Note that changes to
`*_result` types from 6.1 in the paper are no longer relevant now that
these types are aliases;
- 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 ("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") was already implemented (except for
testing).
Differential Revision: https://reviews.llvm.org/D126053
More information about the All-commits
mailing list