Skip to content

[5.7] Canonicalize the conforming type of BuiltinConformances. #60439

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 Aug 8, 2022

Explanation: An inconsistency in the internal representation of tuple Sendable conformances could cause the compiler to crash when handling opaque return types from SwiftUI's WindowGroup.backgroundTask modifier.

Scope: Fixes a compiler crash on valid SwiftUI code.

Issue: rdar://94877954.

Risk: Low. Fixes a logic error by canonicalizing protocol conformance representations that were not canonical.

Testing: Project from bug report, Swift CI

Reviewed by: @slavapestov

It turns out they aren't always canonical by construction (and they don't
really need to be), so we should canonicalize the type and requirements
when we canonical a conformance ref. Fixes rdar://94877954.
@jckarter jckarter requested a review from a team as a code owner August 8, 2022 15:21
@jckarter
Copy link
Contributor Author

jckarter commented Aug 8, 2022

@swift-ci Please test

@jckarter jckarter merged commit 25d8029 into swiftlang:release/5.7 Aug 8, 2022
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