Skip to content

[5.1][4-24-2019] Cherry-pick of recent module interface fixes #24257

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

Conversation

nathawes
Copy link
Contributor

@nathawes nathawes commented Apr 24, 2019

Cherry-pick of:

  1. [ModuleInterface] Allow non-mutable IBOutlet instance properties in module interfaces #24225
    If an @IBOutlet property is public private(set) its interface only has a getter. Consuming this interface was triggering a diagnostic that @IBOutlet properties must be mutable. This patch bypasses this check for module interfaces.

  2. [Deserialization] Don't add an OverrideAttr if the 'overridden' decl is a convenience init when deserializing #24212
    The convenience initializer isn't really being overridden, and the attribute is only introduced after serializing and then de-serializing the AST. The attribute was causing us to incorrectly add the 'override' modifier on such initializers when printing the module interface as part of the merge-modules step. Trying to then consume them would give error: initializer does not override a designated initializer from its superclass.

Resolves rdar://problem/49856177
Resolves rdar://problem/49856927

Both were reviewed by Harlan and Jordan in their respective PRs.

Nathan Hawes added 2 commits April 24, 2019 16:46
…odule interfaces

If an IBOutlet property is public private(set), it's interface only has a
getter. Consuming this interface was triggering a diagnostic that IBOutlet
properties must be mutable. This patch bypasses this check for module
interfaces.

Resolves rdar://problem/49856177
@nathawes
Copy link
Contributor Author

@swift-ci please test

@nathawes nathawes marked this pull request as ready for review April 25, 2019 03:41
@nathawes nathawes requested a review from a team as a code owner April 25, 2019 03:41
@nathawes nathawes requested a review from akyrtzi April 25, 2019 03:41
@akyrtzi akyrtzi merged commit 2335540 into swiftlang:swift-5.1-branch-04-24-2019 Apr 25, 2019
@nathawes nathawes deleted the module-interface-fixes-5.1-04-24-2019 branch April 26, 2019 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants