[5.6][SE-0309] Disable SE-0309 in Swift 5.6. #41131
Merged
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.
Self
or associated type requirements as existential types. This feature is not fully implemented; one of the missing pieces from the proposal in Swift 5.6 is covariant erasure for dependent-member types, which allows calling the APIs that useSelf
or associated type in covariant position on the existential type. Without this functionality, the API surface on SE-0309 existentials is fairly limited, and leads to confusing error messages when attempting to call APIs that should be available via covariant erasure. This change adds a frontend flag-enable-experimental-universal-existentials
for SE-0309, and disables the feature by default. This change also disables building the experimental _Distributed library by default, because it adopts SE-0309 (in code that no longer exists on themain
branch).-enable-experimental-universal-existentials
flag to several existing tests that make use of SE-0309.