If you wish to be sure that your code adopts Swift concurrency as appropriately as attainable in Swift 5.7, it is a good suggestion to allow the Strict Concurrency Checking (
SWIFT_STRICT_CONCURRENCY) in your venture.
To do that, choose your venture’s goal and navigate to the
Construct Settings tab. Be sure you choose
All from the listing of settings that’s proven (
Fundamental is the default) and kind
Strict Concurrency within the searchbar to seek out the
Strict Concurrency Checking construct setting.
The screenshot beneath exhibits all of the related components so that you can see:
The default worth for this setting is
Minimal which boils right down to the Compiler solely checking specific
Sendable annotations amongst different issues. This setting is the least restrictive and enforces as little of Swift Concurrency’s constraints as attainable in the meanwhile.
You possibly can bump your checking to
Focused which can implement
Sendable and actor-isolation checks in your code, and it’ll explicitly very that
Sendable constraints are met whenever you mark certainly one of your sorts as
Sendable. This mode is actually a little bit of a hybrid between the conduct that is meant in Swift 6, and what’s allowed now. You should utilize this mode to have a little bit of checking in your code that makes use of Swift Concurrency with out an excessive amount of warnings and / or errors in your present codebase.
Full you’ll get the total suite of concurrency constraints, primarily as they are going to work in Swift 6. Personally I might suggest enabling this setting for brand spanking new tasks the place you need your entire code to be correctly checked instantly. In an present codebase this mode is likely to be a little bit too strict, however then again it should flag a lot of issues that can be obligatory in Swift 6.