Skip to content

[SE-0338] Implement Sendable checking for SE-0338 #59086

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 5 commits into from
May 26, 2022

Conversation

DougGregor
Copy link
Member

Implement most of the remaining places where Sendable checking is missing, but is required by either SE-0302 or SE-0338, including:

  • When exiting an actor-isolated context to a non-isolated async context
  • Overriding a function with a different actor isolation
  • Witnessing a requirement with a function/property that has different actor isolation than the requirement

Tracked by rdar://93930900

When an override means crossing an actor boundary, check Sendability of
parameters and results.
…ance.

When a requirement is actor-isolated and asynchronous but its witness is
non-isolated, perform Sendable checking on the requirement's type.
@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@DougGregor DougGregor merged commit 6390fcb into swiftlang:main May 26, 2022
@DougGregor DougGregor deleted the se-0338-sendable branch May 26, 2022 02:30
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