Skip to content

Build support for ~Copyable atop @_moveOnly #65556

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

Merged
merged 1 commit into from
May 2, 2023

Conversation

kavon
Copy link
Member

@kavon kavon commented May 1, 2023

We parse ~Copyable in an inheritance clause of enum and struct decls as a synonym for the @_moveOnly attribute being added to that decl. This completely side-steps the additional infrastructure for generalized suppressed conformances in favor of a minimal solution. One benefit of this minimal solution is that it doesn't risk introducing any back-compat issues with older compilers or stdlibs.

The trade-off is that we're more committed to supporting @_moveOnly in compiled modules in the future. In fact, this change does not deprecate @_moveOnly in any way.

This is an alternate implementation of #64699

resolves rdar://106775103

We parse `~Copyable` in an inheritance clause of enum and
struct decls as a synonym for the `@_moveOnly` attribute
being added to that decl. This completely side-steps the
additional infrastructure for generalized suppressed
conformances in favor of a minimal solution. One benefit of
this minimal solution is that it doesn't risk introducing
any back-compat issues with older compilers or stdlibs.

The trade-off is that we're more committed to supporting
`@_moveOnly` in compiled modules in the future. In fact,
this change does not deprecate `@_moveOnly` in any way.

resolves rdar://106775103
@kavon
Copy link
Member Author

kavon commented May 1, 2023

@swift-ci please test

@kavon
Copy link
Member Author

kavon commented May 2, 2023

@swift-ci please test linux

@kavon kavon merged commit 6d01f25 into swiftlang:main May 2, 2023
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.

1 participant