-
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
Adopt LWG-3546 common_iterator
's postfix-proxy
is not quite right
#1991
Adopt LWG-3546 common_iterator
's postfix-proxy
is not quite right
#1991
Conversation
We currently have no real infrastructure to test move only iterators, we should discuss that Addresses microsoft#1965
common_iterator
's postfix-proxy
is not quite right
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.
This issue is a patch for the common_iterator
part of WG21-P2259, and I'm not sure how much sense it makes to implement just it without the other common_iterator
changes.
I made a mental note to investigate because I was baffled how we could have missed that proxy case. As is obvious now it should have been a written note ;) I agree that we should merge this with the P2259 changes |
I plan to have a fresh look at this next week |
@CaseyCarter I believe this should be good for another round of review. I did not add test coverage for the exotic cases though |
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.
Stuff needs fixing here; it may make more sense to implement this in the P2259 PR (#2059) or wait until that PR has been completed to finish this.
This comment has been minimized.
This comment has been minimized.
@CaseyCarter I believe I addressed your comments, so this should be good for another round of review |
Co-authored-by: S. B. Tam <cpplearner@outlook.com>
* Move all the conditions for using the postfix-proxy into the helper concept for maximal short-circuiting benefit. * Notice that the postfix-proxy reads from the iterator without requiring it to be `indirectly_readable`, add constraint and submit LWG issue to fix. * Factor commonolity out of two proxy types into a common base * drive-by fix the constraint on `operator->` by requiring `i.operator->()` to be valid for a `const _Iter` lvalue instead of and `_Iter` rvalue.
I'm mirroring this to an MSVC-internal PR. Please notify me if any further changes are pushed. |
Thanks for helping to make |
…microsoft#1991) Addresses microsoft#1965 Co-authored-by: S. B. Tam <cpplearner@outlook.com> Co-authored-by: Casey Carter <Casey@Carter.net>
Currently we are lacking the testing infrastructure for move only iterators.
Should we add it?