[6.2][Concurrency] SE-0463: Sendable
inference on sync and async variant…
#82674
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…s of imported APIs should match
Explanation:
This is a follow-up to [ClangImporter] SE-0463: Implement
@Sendable
inference exception for global actor isolated functions #82085 which made it so async variant doesn't get@Sendable
inferred because the proposal specified that inference should happen only on completion handler parameter type of a synchronous variant of an imported API.This runs into implementation issues related to thunking in some cases were async convention expects the type of a completion handler to match exactly for both variants of the imported API.
Resolves: rdar://154695053
Main Branch PR: [Concurrency] SE-0463:
Sendable
inference on sync and async variant… #82673Risk: Low. Brings back to behavior which existed pre- [ClangImporter] SE-0463: Implement
@Sendable
inference exception for global actor isolated functions #82085Reviewed By: @DougGregor
Testing: Added new test-cases to the test suite, updated old test-cases.
(cherry picked from commit 30f0fa8)