Implemented P2711R1 for existing views.
(join_with_view is not yet implemented)
Details
- Reviewers
philnik - Group Reviewers
Restricted Project - Commits
- rG40aaa272f145: [libc++][ranges] P2711R1 Making multi-param constructors of views explicit
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
With added tests this should be good to go.
libcxx/docs/Status/Cxx2bPapers.csv | ||
---|---|---|
111 | Please add a note that join_with_view isn't yet implemented, so we know what's missing to complete it. | |
libcxx/include/__ranges/drop_view.h | ||
77 | You are missing a test for this constructor. | |
libcxx/include/__ranges/iota_view.h | ||
317 | You are missing tests for these constructors. | |
libcxx/include/__ranges/lazy_split_view.h | ||
85 | You are missing tests for these constructors. | |
libcxx/include/__ranges/split_view.h | ||
78 | You are missing tests for these constructors. | |
libcxx/include/__ranges/take_view.h | ||
70–71 | You are missing a test for this constructor. | |
libcxx/test/std/ranges/range.adaptors/range.filter/ctor.view_pred.pass.cpp | ||
45 | We normally don't use aliases to make it easier to see what is tested. For a single instance it's also not really worth it. | |
101 | We generally have SFINAE tests at the top of the file, so let's move them there. |
@philnik Thank you very much for the review! I hope I addressed all comments as requested.
libcxx/include/__ranges/filter_view.h | ||
---|---|---|
67–68 | It looks like that the clang-format auto-fixer has it own oppinion. |
Note I just skimmed over the patch out of curiosity and I didn't do a real review. I noticed some issues.
libcxx/docs/Status/Cxx2b.rst | ||
---|---|---|
46 | ||
libcxx/test/std/ranges/range.adaptors/range.drop.while/ctor.view.pass.cpp | ||
38 | We shouldn't use _LIBCPP_foo macros in our test suite. Other vendors like MSVC STL and libstdc++ use our tests too. They don't define _LIBCPP_foo macros. Note this change requires #include "test_macros.h" too. The same applies to the other tests for explicit. |
Thank you for the reviews!
I'd like to confirm what would be appropriate course of action on my side at this point in general:
- I believe I addressed all remarks (IMO).
- I fixed all related CI errors but there is still one unrelated (IMO).
- I got LGTM but I still made changes after that.
In the context of the above at this point:
- Shall I request a re-review explicitly.
- Shall I wait for another review.
- Shall I decide on my own if I am good to land the patch or wait for 1) or 2)
It's generally a judgement call on your side. It depends on how much the patch changed. In this case IMO it would be OK for you to just land the patch, but it's also OK if you ask again.
+1 but in general you're free to commit, unless you make "large" changes to fix the CI. That's a judgement call.
Note if I (or a different reviewer) disagrees with the original approval they can request change (the red circle with a cross next to the review), which means a new approval is required. In this case I deemed the changes small enough that I trust you to address them correctly and it doesn't need another review.
I took a look at the changes you made and I was right to trust you :-)