[4.1] [SR-7182] Allow ownership keywords on properties in @objc protocols. #15275
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: SE-0186 removed support for ownership keywords (
weak
andunowned
) on properties in protocols. However, these keywords do have meaning for@objc
protocols, where they affect the@property
declaration that is created in the generated header. Allow these keywords (again) on properties of@objc
protocols.Scope: Affects projects that define
@objc
protocols withweak
orunowned
properties, which were accepted in Swift < 4.1 and started getting warnings in Swift 4.2.Risk: Effectively none; we're re-enabling something we've had since Swift 1.0 and that was recently disabled.
Testing: Compiler regression tests, including new tests
Reviewer: @jrose-apple
SR / Radar: SR-7182 / rdar://problem/38418112.