Don't check sendability of witnesses for @preconcurrency
conformances
#74172
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.
When a witness is part of a
@preconcurrency
conformance, suppress Sendable checking for that witness. The@preconcurrency
conformance will dynamically verify that the code is actually executed on the right actor, which addresses most data race issues. Suppressing Sendable checking in this case is a compromise: it makes@preconcurrency
conformances usable, but admits a small possibility of data races that will be addressed when the protocol is updated appropriately.Fixes #74057.