Details
- Reviewers
ldionne EricWF zoecarver Mordante curdeius • Quuxplusone - Group Reviewers
Restricted Project - Commits
- rG9c5d86aac505: [libcxx][iterator][ranges] adds `bidirectional_iterator` and…
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
rebases so @zoecarver isn't blocked
This patch is not ready for another round of reviews
- moves conformance tests to respective files
- adds canonical test type cxx20_bidirectional_iterator
libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.bidir/bidirectional_iterator.compile.pass.cpp | ||
---|---|---|
24 | I love those tests, BTW, very simple and they test just what needs to be tested. |
- updates iterator conformance tests
- moves subsumption test from test/std/ to test/libcxx/
Chris and I had a chat offline and we agreed that the derived_from part of the subsumption tests can be removed, and so the tests moved back to test/std. LGTM with those changes in.
libcxx/test/libcxx/iterators/iterator.concepts/iterator.concept.bidir/subsumption.compile.pass.cpp | ||
---|---|---|
23 ↗ | (On Diff #342460) | This is a nit, but I don't feel like adding [[nodiscard]] here adds anything. I would remove it here (and in all other places where we added it in similar places). I think we need to clarify libc++'s policy for [[nodiscard]] to avoid marking every single function with it, since that gets into diminishing returns and actually makes stuff harder to read. You can check this in as-is though, and I'll make a NFC commit that changes it and other instances. |
Shouldn't we keep both the assertions for forward_range and bidirectional_range? (here and everywhere else)