Skip to content

Conversation

@slavapestov
Copy link
Contributor

This is a narrow workaround for a regression from
9e3d0e0.

There is no reason to skip this logic for protocol extension members, except that doing so happens to break existential opening in an expression that involves a call to Array.init elsewhere.

However there is an underlying issue here with existential opening, which doesn't seem to work right in the presence of overloading.

The test case demonstrates the fixed problem, together with an existing bug that points to the underlying problem.

Fixes rdar://160389221.

This is a narrow workaround for a regression from
9e3d0e0.

There is no reason to skip this logic for protocol extension
members, except that doing so happens to break existential
opening in an expression that involves a call to Array.init
elsewhere.

However there is an underlying issue here with existential opening,
which doesn't seem to work right in the presence of overloading.

The test case demonstrates the fixed problem, together with an
existing bug that points to the underlying problem.

Fixes rdar://160389221.
@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test

@slavapestov
Copy link
Contributor Author

@swift-ci Please test source compatibility

@slavapestov
Copy link
Contributor Author

@swift-ci Please test Windows

@slavapestov slavapestov merged commit 2c6846f into swiftlang:main Sep 26, 2025
3 of 5 checks passed
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