-
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 ranges::copy_backward #1026
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.
So this seems correct modulo some few nitpicks.
What I do not like ( and I mean like in the sense that I do not have any technical objection) is that it conflates 3 different things.
- It implements the algortihms
copy_backward
- It simplifies some test machinery
- It introduces the TMP optimizations for ranges algorithms.
That not only makes this PR way more complex that the actual algorithm but also introduces a lot of inconsistencies that would have been better addressed with separate PRs.
I wont complain that copy_backward
is fast but I will complain that it is different and the others are slow
I'll second @miscco's concern that this fuses together changes which could apparently be separate. If they could be disentangled, it would be easier to review (and serve as a good example for contributors). If that's more work than it's worth, then it's okay in the name of expediency. |
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.
Having reviewed the whole PR, I'm ok with its combined state (i.e. not worth the time expenditure to decompose). Looks good, minor concerns. Thanks!
This is a righteous comment: I let this one get away from me. I'll try to submit more quantized PRs in the future. (And by "in the future" I mean "after |
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 can push a formatting change.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Workaround new occurrences of VSO-938163 triggered in the heap algorithm tests by my unwrapping-to-pointers change. Wrap lines to 120 columns.
Workaround VSO-938163 in triggered in `P0896R4_ranges_alg_move` as well. Remove `/analyze` "help" from ranges tests. Re-enable `/analyze:only` coverage in `concepts_matrix.lst`. Apply improved workaround for microsoftGH-1030: don't test `constexpr` under `/analyze`. Add missing return type check in `P0896R4_ranges_alg_move`.
b9a93c6
to
47bf430
Compare
**** NOTE TO REVIEWERS *** I squashed-and-rebased what was here onto master to semi-reset, and added a new commit with additional changes. You should be ably to quickly scan the first commit to verify that it contains everything up though Stephan's merge conflict fix, and then focus on the changes in the second commit. That second commit primarily removes all earlier attempts to avoid triggering GH-1030 and applies a new localized workaround to avoid testing |
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 comment seems even more nitpicky when I have no other comments to make.
…he internal compiler
Thanks for your contribution! |
With many thanks to @ahanamuk who did much of the work.
Partially addresses #39.