[Swift 2.2.1][Swift runtime] Deallocation of partial class instances for Objective-C-derived classes #1798
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.
What's in this pull request?
Backport the fix for deallocation of partial class instances for Objective-C-derived classes to Swift 2.2. We had fixed this regression from Swift 2.1 on mainline, but it's causing trouble in Swift 2.2 as well.
Resolved bug number: (SR-704)
Teach swift_deallocPartialClassInstance how to deal with classes that
have pure Objective-C classes in their hierarchy. In such cases, we
need to make sure a few things happen:
swift_deallocClassInstance.
Swift-defined classes in the hierarchy
only execute the dealloc of that class and not any of the subclasses
(which would end up trying to destroy ivars again).
Fixes rdar://problem/25023544 / SR-704.
@swift-ci Please test