Skip to content

[6.0] SILGen: Reabstract subexpr lvalue before ABISafeConversion. #75194

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

@jckarter jckarter commented Jul 12, 2024

Explanation: Fixes a compiler crash and/or miscompile when accessing a property of function type, in a generic context, from an extension with same-type constraints, in Swift 5 mode with implicit @Sendable conversions introduced.
Scope: Bug fix.
Issue: rdar://130016855
Original PR: #75193
Risk: Low. Fixes a relatively rare problem introduced by strict concurrency checking.
Testing: Test case from bug report, Swift CI
Reviewer: @xedin

Fixes rdar://130016855. When preconcurrency compatibility introduces
implicit `@Sendable` conversions, the `ABISafeConversionExpr` representing
that conversion indicates an ABI-neutral conversion from the substituted
type of the original expression, so we need to reabstract in cases
where the original property is more generic than the type we're working
with.
@jckarter jckarter requested a review from a team as a code owner July 12, 2024 02:08
@jckarter jckarter changed the title SILGen: Reabstract subexpr lvalue before ABISafeConversion. [6.0] SILGen: Reabstract subexpr lvalue before ABISafeConversion. Jul 12, 2024
@jckarter
Copy link
Contributor Author

@swift-ci Please test

@jckarter jckarter merged commit 8e4f9e4 into swiftlang:release/6.0 Jul 12, 2024
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.

2 participants