-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[6.1] Add version checks & fix pointer auth for nonisolated deinit #78107
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
[6.1] Add version checks & fix pointer auth for nonisolated deinit #78107
Conversation
…tion.swift using conditional availability
…ft using conditional availability
@swift-ci please test |
@swift-ci please test |
@swift-ci please test |
1 similar comment
@swift-ci please test |
@swift-ci please test |
a1826e0
to
55b8e80
Compare
@swift-ci please test |
fbc6303
to
8e61e8a
Compare
@swift-ci please test |
8e61e8a
to
db34ec1
Compare
db34ec1
to
87191a2
Compare
@swift-ci please test |
@@ -76,7 +76,6 @@ FEATURE(InitRawStructMetadata, (6, 0)) | |||
|
|||
FEATURE(LayoutStringValueWitnesses, (6, 1)) | |||
FEATURE(CreateTaskWithConsumedFunction, (6, 1)) | |||
FEATURE(IsolatedDeinit, (6, 1)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we still need this for checking availability if the experimental feature is enabled?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh I see, yeah let me bring that back.
lib/Sema/TypeCheckAttr.cpp
Outdated
if (auto nominal = dyn_cast<NominalTypeDecl>(D->getDeclContext())) { | ||
if (!isa<ClassDecl>(nominal)) { | ||
// only classes and actors can have isolated deinit. | ||
diagnoseAndRemoveAttr(attr, diag::isolated_deinit_on_value_type); | ||
return; | ||
} | ||
} | ||
|
||
TypeChecker::checkAvailability( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar comment to above: should this be kept around for if the experimental feature is enabled?
I think I've gotten this right now then: |
@swift-ci please test |
Thanks for approving. CI Jobs disappeared heh. Running again. |
@swift-ci please test |
Testing again as it didn’t make it before branches got locked |
@swift-ci please test |
Description: Correct the version guards for the new isolated deinit runtime feature and fix missing pointer auth in the feature.
Scope/Impact: Low, only the new isolated deinit feature is impacted.
Risk: Medium, this brings back isolated deinit logic and fixes pointer auth for it. Code changes are limited to the new feature though.
Testing: CI testing and verified using extra arm64e pre-merge testing to check the pointer auth fix
Reviewed by: @rjmccall?
Original PR: #77730
Radar: rdar://95142593