Skip to content

[5.8 🍒] TypeCheckType: Fix existential any migration diagnostics for extra-modular protocols #65160

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

Conversation

AnthonyLatsis
Copy link
Collaborator

@AnthonyLatsis AnthonyLatsis commented Apr 13, 2023

I’m attempting to bring this fix to 5.8 because the issue negatively affects piecemeal adoption of existential any syntax (--enable-upcoming-feature ExistentialAny) — a Swift 6 feature with substantial source impact — in that the syntax is not enforced on standard library existentials such as Error and Codable. More generally, any existential that has a native imported constraint type and is normally allowed to omit any in Swift 5.

…entsRequest

The current name is misleading because it suggests that the request accounts
for language feature state, which it does not (and is not supposed to).
@AnthonyLatsis AnthonyLatsis requested a review from a team as a code owner April 13, 2023 20:43
@AnthonyLatsis AnthonyLatsis added compiler The Swift compiler itself diagnostics QoI Bug: Diagnostics Quality of Implementation type checker Area → compiler: Semantic analysis existentials Feature: values of types like `any Collection`, `Any` and `AnyObject`; type-erased values 🍒 release cherry pick Flag: Release branch cherry picks swift 5.8 labels Apr 13, 2023
@AnthonyLatsis AnthonyLatsis added the bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. label Apr 21, 2023
@hborla
Copy link
Member

hborla commented Jul 21, 2023

Unfortunately, we can't take general type checker bug fixes anymore for the 5.8 branch.

@hborla hborla closed this Jul 21, 2023
@AnthonyLatsis AnthonyLatsis deleted the existential-any-multimodule-5.8 branch July 22, 2023 02:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. compiler The Swift compiler itself diagnostics QoI Bug: Diagnostics Quality of Implementation existentials Feature: values of types like `any Collection`, `Any` and `AnyObject`; type-erased values 🍒 release cherry pick Flag: Release branch cherry picks type checker Area → compiler: Semantic analysis
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enabling upcoming feature ExistentialAny does not work for standard library protocols.
2 participants