-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement P2997R1 Removing The Common Reference Requirement From The Indirectly Invocable Concepts #4816
Conversation
- `std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_binary_predicate.compile.pass.cpp` - `std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_equivalence_relation.compile.pass.cpp` - `std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_strict_weak_order.compile.pass.cpp` - `std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_unary_predicate.compile.pass.cpp` - `std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirectly_regular_unary_invocable.compile.pass.cpp` - `std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirectly_unary_invocable.compile.pass.cpp`
#if _HAS_CXX23 | ||
#define __cpp_lib_ranges 202302L // P2609R3 Relaxing Ranges Just A Smidge | ||
// P2997R1 Removing The Common Reference Requirement From The Indirectly Invocable Concepts | ||
#define __cpp_lib_ranges 202406L | ||
#elif _HAS_CXX20 | ||
#define __cpp_lib_ranges 202110L // P2415R2 What Is A view? | ||
#endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No change requested: I forgot what was going on here and had to look it up. The divergence between feature implementation and feature-test macros is intentional, see #3486 (comment) . This change continues the existing pattern, so it's correct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I filed LWG-3931 for this, but haven't come up with a good resolution.
tests/std/tests/P0896R4_ranges_algorithm_machinery/test.compile.pass.cpp
Show resolved
Hide resolved
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
Thanks for implementing this de facto DR! 🚫 🧑⚖️ 😹 |
As a DR against C++20. Fixes #4771.
Blocked libcxx tests:
std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_binary_predicate.compile.pass.cpp
std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_equivalence_relation.compile.pass.cpp
std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_strict_weak_order.compile.pass.cpp
std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_unary_predicate.compile.pass.cpp
std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirectly_regular_unary_invocable.compile.pass.cpp
std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirectly_unary_invocable.compile.pass.cpp