Skip to content

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