[libcxx-commits] [PATCH] D110774: [libc++] [ranges] Uncomment transform_view::iterator::operator<=>.

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Sep 29 13:31:00 PDT 2021


Quuxplusone created this revision.
Quuxplusone added reviewers: ldionne, Mordante, libc++.
Quuxplusone added a project: libc++.
Quuxplusone requested review of this revision.
Herald added a subscriber: libcxx-commits.
Herald added 1 blocking reviewer(s): libc++.

It had been commented out because we were missing `std::is_eq` (D110515 <https://reviews.llvm.org/D110515>). However, it turned out that the commented-out test was a bit bogus for a couple other reasons:

- it lacked coverage for the rewritten operators and `operator==`
- it was a bit overcomplicated (especially now that `std::views::transform` has landed)
- it wrongly assumed that the `ContiguousView` from "types.h" had non-three-way-comparable iterators

Note the design decision here to rely on the fact that (for now) `random_access_iterator` has no `operator<=>`. If we ever add one, this test's sanity-check will fail, and we'll have to go find a different legacy iterator to use instead.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D110774

Files:
  libcxx/include/__ranges/transform_view.h
  libcxx/test/std/ranges/range.adaptors/range.transform/iterator/compare.pass.cpp
  libcxx/test/std/ranges/range.adaptors/range.transform/types.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D110774.376025.patch
Type: text/x-patch
Size: 6721 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210929/6822888e/attachment.bin>


More information about the libcxx-commits mailing list