Progress toward the Swift 6 language mode

Swift 5.10 incorporates the remaining language proposals necessary for accomplishing full data isolation under strict concurrency checking. It does so conservatively, and the set of proposals under active development now in Swift evolution aim to lift some of the limitations for patterns that are diagnosed in Swift 5.10, but can be proven safe using other techniques, namely region isolation in SE-0414. Region isolation has just been accepted, and the remaining concurrency proposals for Swift 6 on the horizon are minor in nature; they're all small model tweaks that lift limitations, such as by inferring @Sendable on actor isolated closures or extending rules that are already part of today's concurrency semantic model.

At this point, these changes are all additive changes that make the model easier to use, and could be included after Swift 6 is released. As such, the next release of Swift will be Swift 6.

5.11 was used as a placeholder; I will update the codebase to use 6.0 shortly.

62 Likes