-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[4.1] IRGen: Empty fields do have an entry in the field offset vector #13905
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
[4.1] IRGen: Empty fields do have an entry in the field offset vector #13905
Conversation
This is an error introduced as the result of a refactoring a while ago and means that we will store dependently typed stored properties at the wrong offset in a generic struct if it has stored properties of empty types before said property. rdar://36384871
@swift-ci Please test |
@swift-ci Please test source compatibility |
Master PR: #13904 |
Build failed |
Oh, right old mangling on 4.1 ... |
@swift-ci Please test |
@swift-ci Please test source compatibility |
Build failed |
Build failed |
The latest source compat suite run is here: https://ci.swift.org/view/Pull%20Request/job/swift-PR-source-compat-suite/559/ |
@swift-ci Please test |
Build failed |
Build failed |
Build failed |
@swift-ci Please test source compatibility |
Latest SCS run here: https://ci.swift.org/view/Pull%20Request/job/swift-PR-source-compat-suite/567/ |
@swift-ci Please nominate |
@swift-ci please nominate |
@swift-ci nominate |
This is an error introduced as the result of a refactoring a while ago
and means that we will store dependently typed stored properties at the
wrong offset in a generic struct if it has stored properties of empty
types before said property.
Explanation: We would compute the wrong offset for dependently typed properties inside generic structs if said property was preceded by a stored property of empty type.
Scope: This was introduced as the result of a refactoring in the swift-4.1-branch timeframe.
Risk: Low. Single line change that only applies to empty types when we compute their offset in the field offset vector.
Testing: Swift CI Tests added.
Reviewed by: Erik
rdar://36384871