Skip to content

Conversation

@Azoy
Copy link
Contributor

@Azoy Azoy commented Oct 15, 2025

When checking the generic requirements of a type and its generic arguments, we have to check that an extended existential doesn't invert some protocols that the bound generic type isn't expecting. However, for extended existentials that are metatypes, e.g. any (~Copyable & ~Escapable).Type or any Collection<Int>.Type, they are always copyable and escapable. Don't do inverse protocol requirement checking on these.

Resolves: rdar://153105845

@Azoy Azoy requested review from al45tair and mikeash as code owners October 15, 2025 18:00
@Azoy
Copy link
Contributor Author

Azoy commented Oct 15, 2025

@swift-ci please test

@Azoy Azoy merged commit a867ff8 into swiftlang:main Oct 20, 2025
5 checks passed
@Azoy Azoy deleted the fix-existential-thing-idk branch October 20, 2025 16:52
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.

2 participants