Skip to content

[6.0] Fix incorrect BitwiseCopyable conformance lookups #73462

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

slavapestov
Copy link
Contributor

@slavapestov slavapestov commented May 6, 2024

6.0 cherry-pick of #73457

  • Description: IRGen would conclude that certain types were BitwiseCopyable even when they weren't, causing memory leaks because the destroy value operation was not emitted.

  • Scope of the issue: we would leak all values whose type was a resilient struct or enum with a conditional conformance to BitwiseCopyable, or any tuple type that contains a pack expansion type.

  • Origination: Recent regression that didn't ship from d1bd039.

  • Reviewed by: @hborla

  • Tested: Various new tests added.

  • Radar: rdar://126637139, rdar://126779977

@slavapestov slavapestov requested a review from a team as a code owner May 6, 2024 20:29
@slavapestov slavapestov force-pushed the bitwise-copyable-lookup-conformance-irgen-6.0 branch 2 times, most recently from 602463f to b2d6a56 Compare May 7, 2024 15:13
@slavapestov slavapestov force-pushed the bitwise-copyable-lookup-conformance-irgen-6.0 branch from b2d6a56 to 31c761f Compare May 7, 2024 18:07
@slavapestov
Copy link
Contributor Author

@swift-ci Please test

@slavapestov slavapestov merged commit d769221 into swiftlang:release/6.0 May 8, 2024
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