Skip to content

[6.2] SIL: Resilient types don't need to be treated as addressable-for-dependencies inside their resilience domain. #81628

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

jckarter
Copy link
Contributor

Explanation: Avoids spurious lifetime escape diagnostics in cases where an internal type wraps a public type in a library with library evolution enabled.

Scope: Bug fix.

Issue: rdar://151268401

Original PR: #81583

Risk: Low.

Testing: Swift CI, test case from bug report

Reviewer: TBD

…ndencies inside their resilience domain.

Outside of the resilience domain, they have to be treated as opaque and therefore potentially
addressable-for-dependencies, but inside of the resilience domain, we may take advantage of
knowing the type layout to load indirect parameters out of memory and break the (unnecessary)
dependency on a fixed memory location. Fixes rdar://151268401.

We do still however have problems when the type is actually `@_addressableForDependencies`
inside of its resilience domain (rdar://151500074). I'll fix that in a follow up.
@jckarter jckarter requested a review from a team as a code owner May 20, 2025 01:12
@jckarter
Copy link
Contributor Author

@swift-ci Please test

@atrick
Copy link
Contributor

atrick commented May 22, 2025

LGTM

@jckarter jckarter merged commit 9a8b04f into swiftlang:release/6.2 May 22, 2025
5 checks passed
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.

3 participants