Skip to content

Commit 55fd62b

Browse files
committed
[Change Log] Add a change log entry for the Swift 6 language mode.
1 parent 135e3f2 commit 55fd62b

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,22 @@
55
66
## Swift 6.0
77

8+
* Swift 6 comes with a new language mode that prevents the risk of data races
9+
at compile time. This guarantee is accomplished through _data isolation_; the
10+
compiler will validate that data passed over a boundary between concurrently
11+
executing code is either safe to reference concurrently, or mutually
12+
exclusive access to the value is enforced.
13+
14+
The data-race safety checks were previously available in Swift 5.10 through
15+
the `-strict-concurrency=complete` compiler flag. Complete concurrency
16+
checking in Swift 5.10 was overly restrictive, and Swift 6 removes many
17+
false-positive data-race warnings through better `Sendable` inference,
18+
new analysis that proves mutually exclusive access when passing values with
19+
non-`Sendable` type over isolation boundaries, and more.
20+
21+
You can enable the Swift 6 language mode using the `-swift-version 6`
22+
compiler flag.
23+
824
* [SE-0423][]:
925
You can now use `@preconcurrency` attribute to replace static actor isolation
1026
checking with dynamic checks for witnesses of synchronous nonisolated protocol

0 commit comments

Comments
 (0)