Declare that f
is applied iteratively in map!
#47012
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #46352.
A consensus has not been reached in #46352, so this represents my opinion on the correct resolution of that issue. Basically, my resolution is to declare the existing behavior as correct and assert that
f
is applied iteratively inmap!
. Given the possibility of aliasing, and given thatmap!
is intended to act in-place on the destination collection, I think this is the only feasible definition.I added the unit tests outside of the
generic_map_tests()
function, because I don't think the "iteratively applyf
" definition would make sense forasyncmap!
. Please correct me if I am wrong. There appears to be an effort to have the various mapping functions have as similar a behavior as possible, but they are different functions after all, so I think it's ok to have some variation in the documented behaviors.