This is an archive of the discontinued LLVM Phabricator instance.

[libc++][ranges] Finish LWG issues directly related to the One Ranges Proposal.
AbandonedPublicDraft

Authored by var-const on May 10 2022, 8:22 AM.

Details

Reviewers
None
Group Reviewers
Restricted Project
Summary
  • 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 ("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).

Diff Detail

Event Timeline

var-const created this revision.May 10 2022, 8:22 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 10 2022, 8:22 AM
var-const updated this revision to Diff 430904.May 20 2022, 1:39 AM

Finish the implementation, update status pages.

Updating D125317: WIP DO NOT REVIEW

[libc++][ranges] Finish LWG issues directly related to the One Ranges Proposal.

var-const retitled this revision from WIP DO NOT REVIEW [libc++][ranges] Finish LWG issues directly related to the One Ranges Proposal. to [libc++][ranges] Finish LWG issues directly related to the One Ranges Proposal..May 20 2022, 1:40 AM
var-const added inline comments.
libcxx/test/std/ranges/range.access/begin.verify.cpp
23

Please let me know if you think these tests are overkill.

var-const edited the summary of this revision. (Show Details)May 20 2022, 1:42 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 20 2022, 2:28 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript