This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Casey's P/R for LWG3664 "LWG3392 broke std::ranges::distance(a, a+3)"
AbandonedPublic

Authored by ldionne on Feb 7 2022, 9:10 AM.

Details

Reviewers
CaseyCarter
tcanens
Quuxplusone
Group Reviewers
Restricted Project
Summary

This seems equivalent to what we've got today, but doesn't re-evaluate sized_sentinel_for, so it's arguably easier on the compiler.
Casting int(&)[10] to int* const& strikes me as "clever", but I think it works.

Don't merge until LWG3664 is resolved, or at least seems likely to resolve in this direction. But let's poke buildkite with this and prove that it doesn't fail any of our existing regression tests.

The corresponding PR for Microsoft STL is https://github.com/microsoft/STL/pull/2522

Diff Detail

Event Timeline

Quuxplusone requested review of this revision.Feb 7 2022, 9:10 AM
Quuxplusone created this revision.
Herald added 1 blocking reviewer(s): Restricted Project. · View Herald TranscriptFeb 7 2022, 9:10 AM
Quuxplusone planned changes to this revision.Feb 7 2022, 9:10 AM
Quuxplusone added a reviewer: tcanens.
Quuxplusone edited the summary of this revision. (Show Details)Feb 8 2022, 9:27 AM
ldionne commandeered this revision.Sep 5 2023, 1:05 PM
ldionne added a reviewer: Quuxplusone.
ldionne added a subscriber: ldionne.

[Github PR transition cleanup]

Dropping since this is incomplete (at least missing tests).

Herald added a project: Restricted Project. · View Herald TranscriptSep 5 2023, 1:05 PM
ldionne abandoned this revision.Sep 5 2023, 1:05 PM