[4.1] Restore a very narrow function argument conversion for -swift-version 4. #14480
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.
Explanation: We broke compatibility with treating function types that take
Void
as an argument as being allowed as arguments to functions expecting function types that take no arguments. We do not want to support this long term, but did up through Swift 4, so we shouldn't break it in Swift 4.1.Scope of Issue: This particular case probably will not effect a large number of users directly, but this affects at least one popular project and could effect the users of that project.
Origination: A change was made to make function types more consistent, to avoid exactly this kind of "emergent behavior".
Risk: The fix here is very targeted, so the risk seems low.
Fixes: rdar://problem/36670720 / https://bugs.swift.org/browse/SR-6796
Reviewed By: @xedin