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.
This will be a long-term project, and is one of the goals of Nimble 13. This branch is intended to be a long-running branch.
Most of this work is "$SOME_CLASS needs to conform to
Sendable
".As CI indicates, this breaks the async version of
waitUntil
. This work will require a re-examining of howwaitUntil
and thetoEventually
methods work in async contexts.There are also a number of issues in Apple APIs that also block this.
Apple API issues:
NSException
does not conform to Sendable.Dispatch
conforms to Sendable. Again, Swift Concurrency and GCD are not really compatible with each other.Some of these can be solved by adding an extension to the relevant API and making it conform to Sendable. I am strongly against shipping that, as it could cause issues with other libraries that do the same. Similarly, I am against adding the
@preconcurrency
tag to the relevant import statements to fix those warnings.