-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Fix covariant erasure for constrained existentials #65785
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
Fix covariant erasure for constrained existentials #65785
Conversation
@swift-ci please smoke test |
53ab11f
to
b7ea961
Compare
b7ea961
to
4014438
Compare
@swift-ci please smoke test |
@swift-ci please smoke test macOS |
f78b63c
to
b3d3263
Compare
@swift-ci please smoke test |
4eb2968
to
d900dcd
Compare
@swift-ci please smoke test |
@swift-ci please smoke test |
d900dcd
to
8a4f965
Compare
@swift-ci please smoke test |
32670ee
to
7c16b27
Compare
@swift-ci please smoke test |
7c16b27
to
68186ce
Compare
@swift-ci please smoke test |
@swift-ci please smoke test macOS |
Looks like a test in |
fcbd2e1
to
c56f99e
Compare
Constrained existentials should be type erased to an upper bound that is dependent on other type parameters.
c56f99e
to
b5400ba
Compare
@swift-ci please smoke test |
Opened existentials should be erased to the dependent upper bound if the dependent member can be reduced to a concrete type. This allows the generic signature to support parameterized protocol types and bound generic class types by producing a more specific constraint instead of just a plain protocol or class.
b5400ba
to
a9f1096
Compare
@swift-ci please smoke test |
@swift-ci please smoke test linux |
@swift-ci please test source compatibility |
@swift-ci please test macOS platform |
|
|
…sure-for-constrained-existentials Fix covariant erasure for constrained existentials
Constrained existential should be type erased to a dependent upper bound for parameterized protocols and generic classes.
Fixes rdar://101343646