Skip to content

Concurrency: Declare explicit Failure typealiases on AsyncSequence iterators #72645

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

Merged
merged 1 commit into from
Mar 28, 2024

Conversation

tshortli
Copy link
Contributor

Associated type inference ought to take care of providing the Failure typealias for these AsyncIteratorProtocol types. However, the inferred typealias is printed with @_implements in the .swiftinterface, guarded with the $AssociatedTypeImplements language feature guard, which means older compilers cannot see the typealias and therefore think the conformance is incomplete. To make sure the _Concurrency module's interface is backward compatible, we must manually define these typealiases temporarily.

Part of rdar://125138945

…erators.

Associated type inference ought to take care of providing the `Failure`
typealias for these `AsyncIteratorProtocol` types. However, the inferred
typealias is printed with `@_implements` in the `.swiftinterface`, guarded with
the `$AssociatedTypeImplements` language feature guard, which means older
compilers cannot see the typealias and therefore think the conformance is
incomplete. To make sure the `_Concurrency` module's interface is backward
compatible, we must manually define these typealiases temporarily.

Part of rdar://125138945
@tshortli tshortli requested a review from DougGregor March 28, 2024 01:10
@tshortli tshortli requested a review from ktoso as a code owner March 28, 2024 01:10
@tshortli
Copy link
Contributor Author

@swift-ci please smoke test

@tshortli tshortli enabled auto-merge March 28, 2024 04:48
@tshortli tshortli merged commit ceee764 into swiftlang:main Mar 28, 2024
@tshortli tshortli deleted the async-sequence-condfails branch March 28, 2024 05:50
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.

1 participant