Deprecate map!(f, A) (and asyncmap!(f, A)) for a cycle #19721
Merged
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.
#12277 discusses the discrepancy between
map!(f, A)
(= map!(f, A, A))
andbroadcast!(f, A)
= (A <- [f() for a in A]
. Sentiment in #12277 leans towardsmap!(f, A)
andbroadcast!(f, A)
having consistent semantics, specificallybroadcast!(f, A)
's semantics for consistency withmap!
/broadcast!
methods accepting more arguments.As an experiment, this pull request deprecates
map!(f, A)
(and analogasyncmap!(f, A)
) in favor ofmap!(f, A, A)
(asyncmap!(f, A, A)
) such thatmap!(f, A)
's (asyncmap!(f, A)
's) semantics can change in a future release without silent breakage.Thoughts? Best!
(I expect the modification of
map!(f, A::SharedArray)
isn't quite correct. Someone with knowledge ofSharedArray
s should have a look at that.)