-
Notifications
You must be signed in to change notification settings - Fork 10.5k
AST: Allow @_fixed_layout protocols #32887
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
AST: Allow @_fixed_layout protocols #32887
Conversation
c74d2c0
to
3af8c49
Compare
3af8c49
to
c013ba5
Compare
@swift-ci please test |
Build failed |
c013ba5
to
70be07b
Compare
@swift-ci Please test |
Build failed |
Build failed |
70be07b
to
50d61e3
Compare
@swift-ci please test |
1 similar comment
@swift-ci please test |
Build failed |
A @_fixed_layout protocol exposes its witness table layout to clients, which prevents re-ordering of requirements or adding new requiremenst with a default. When library evolution is enabled, we still emit method descriptors even for @_fixed_layout protocols; this allows a previously-resilient protocol to become @_fixed_layout as long as the published layout matches the resilient layout in all previously-shipped versions of the library.
50d61e3
to
4a47190
Compare
@swift-ci please smoke test |
A @_fixed_layout protocol exposes its witness table layout to
clients, which prevents re-ordering of requirements or adding
new requiremenst with a default.
When library evolution is enabled, we still emit method
descriptors even for @_fixed_layout protocols; this allows a
previously-resilient protocol to become @_fixed_layout as long
as the published layout matches the resilient layout in all
previously-shipped versions of the library.