[6.0] Fix type lowering of ~Copyable and ~Escapable generics. #72946
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
--- CCC ---
Explanation: Fix type lowering of ~Copyable and ~Escapable generics.
Scope: Required to correctly suppress move-only diagnostics of conditionally copyable types when the type is statically copyable. Required to allow the definition of nonescapable enums.
Radar/SR Issues: rdar://125950218 ([nonescapable] support conditionally escapable enums)
Original PR: #72866
Risk: This only suppresses move-only diagnostics in some cases. It allows the use of ~Escapable on enums, which would always crash before.
Testing: Unit tests added
Reviewer: @slavapestov