[libcxx-commits] [PATCH] D129823: [libc++][ranges] Make range algorithms support proxy iterators
Konstantin Varlamov via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Sat Jul 16 03:14:34 PDT 2022
var-const added inline comments.
================
Comment at: libcxx/include/__algorithm/copy_backward.h:31
+ auto __last_iter = _IterOps<_AlgPolicy>::next(__first, __last);
+ auto __ret = std::__copy(reverse_iterator<_Iter1>(__last_iter),
+ reverse_iterator<_Iter1>(__first),
----------------
var-const wrote:
> philnik wrote:
> > var-const wrote:
> > > @philnik I think this was a bug; it wasn't caught because `copy_backward` tests never try the case where the sentinel isn't the same type as the iterator. This fix is enough to make `robust_against_proxy_iterators` pass; however, if I change `test_iterators` in `copy_backward` test to define `class Sent` as `= sentinel_wrapper<In>`, I get more breakages. Could you please look into this?
> > Since D128864 fixes this properly I would prefer if you revert the changes here and I enable the additional tests over there instead.
> Sure, reverted this (also commented out `copy_backward` in the `robust` test file and added a TODO).
Now that I'm running this test, I'm also getting an error from `move_backward`. Hopefully the other patch will fix those as well; commented it out for now.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D129823/new/
https://reviews.llvm.org/D129823
More information about the libcxx-commits
mailing list