-
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 LWG-3520 #2200
Implement LWG-3520 #2200
Conversation
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.
Looks good.
To ensure that we indeed cannot do this, it would be great if you would add a concept ``CanIterSwap` to range_algorithm_support.h like
template <class I>
concept CanIterSwap = requires(I&& i1, I&& i2) {
ranges::iter_swap(std::forward<I>(i1), std::forward<I>(i2));
};
and verify that it is not fulfilled
Co-authored-by: Michael Schellenberger Costa <[email protected]>
Co-authored-by: Adam Bucior <[email protected]>
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.
Looks great.
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.
Looks good, thanks! I'll push a comment change.
I'm mirroring this to an MSVC-internal PR. Please notify me if any further changes are pushed. |
Thanks for implementing and testing this LWG issue resolution, one step closer to 100% conformance! 💯 😸 ✔️ |
Fixes #2180