Skip to content

[Serialization] Distinguish between static and non-static vars. #7187

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

Merged

Conversation

jrose-apple
Copy link
Contributor

@jrose-apple jrose-apple commented Feb 1, 2017

  • Explanation: Serialized references to properties in other files or other modules did not distinguish between static and instance properties. This was a longstanding bug (since Swift 2.2 at least) but it seems to have gotten worse between Swift 3.0 and 3.1, with more cross-references to properties being serialized. It's worth just fixing it.
  • Scope: Changes serialization for nearly all cross-referenced declarations, but should only change the behavior for properties.
  • Issue: SR-2844 / rdar://problem/30289803
  • Reviewed by: @slavapestov
  • Risk: Very low. There's one extra check here that's very simple.
  • Testing: Added compiler regression tests, verified that the more recent developer-submitted project no longer hits this issue.

…tlang#7176)

Every other declaration kind gets this for free in its interface type,
but properties don't. Just add a bit, it's simple enough.

rdar://problem/30289803
@jrose-apple jrose-apple added this to the Swift 3.1 milestone Feb 1, 2017
@jrose-apple
Copy link
Contributor Author

@swift-ci Please test

@tkremenek tkremenek merged commit 36e166c into swiftlang:swift-3.1-branch Feb 1, 2017
@jrose-apple jrose-apple deleted the 3.1-static-electricity branch February 1, 2017 20:21
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