-
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
<ranges>
: Temporarily disable join_view
for non-forward_range
s, pending resolution of LWG-3698
#2727
Conversation
FYI here's what I think the fix would roughly look like: https://github.com/cpplearner/STL/tree/lwg3698. |
I'm speculatively mirroring this to the MSVC-internal repo - further changes can be pushed, but please notify me. |
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'm applying a clarification to the error message to make the consequences of overriding clear.
…oroughly. Co-authored-by: timsong-cpp <[email protected]>
Thanks for noticing this issue and preventing users from being bitten by it! 🐍 🦇 🧛 |
… pending resolution of LWG-3698 (microsoft#2727) Co-authored-by: Casey Carter <[email protected]> Co-authored-by: timsong-cpp <[email protected]>
…range`s, pending resolution of LWG-3698 (microsoft#2727)" This reverts commit 2966813.
As pointed out in LWG-3698,
join_view
is currently broken for "stashing iterators" (iterators that return a reference to a member object). The issue mentions thatjoin_view
would need to store the outer iterator in a non-propagating-cache for input ranges.The fix might change the layout of
join_view
(and of its iterator type, if we don't want to store a redundant outer iterator). So I believe that it is useful to flag the affected uses ofjoin_view
.This requires users to define a macro if they don't depend on the ABI of
join_view
and want to usejoin_view
for input ranges. I hope it's not too much of a problem.