Add main actor isolation for Swift Concurrency #37
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.
Adds
@MainActor
isolation to protocols and structs that don't already have it. In projects adopting Swift Concurrency that use Duvet, attempting to conform a main actor-isolated class to one of Duvet's protocols that is not explicitly marked as main actor-isolated will result in the following warning (and future error):Main actor-isolated instance method 'dism 8000 issSheetViewController()' cannot be used to satisfy nonisolated requirement from protocol 'SheetViewControllerDelegate'; this is an error in the Swift 6 language mode
I've added a few more
@MainActor
s to other protocols (etc) as well as the test cases in order to avoid other potential issues, even though the only one we're resolving on Box Tops is withSheetViewControllerDelegate
.