You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Tests/AppTests/__Snapshots__/WebpageSnapshotTests/test_ReadyForSwift6Show.1.html
+15-7Lines changed: 15 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -83,16 +83,16 @@ <h1>
83
83
<main>
84
84
<divclass="inner">
85
85
<h2>Ready for Swift 6</h2>
86
-
<p>The Swift 6 language mode prevents data-races at compile time. When you opt into Swift 6 mode, the compiler will produce errors when your code has a risk of concurrent access, turning hard-to-debug runtime failures into compiler errors.</p>
86
+
<p>The Swift 6 language mode prevents dataraces at compile time. When you opt into Swift 6 mode, the compiler will produce errors when your code has a risk of concurrent access, turning hard-to-debug runtime failures into compiler errors.</p>
87
87
<p>To track the progress of the Swift package ecosystem, the Swift Package Index is running regular package compatibility checks across all packages in the index.</p>
88
88
<p>For help migrating your project's code, see the
89
89
<ahref="https://www.swift.org/migration/documentation/migrationguide/">Swift 6 language mode migration guide</a>.
90
90
</p>
91
-
<h3id="total-zero-errors">Total packages with Swift 6 zero data-race safety errors</h3>
92
-
<p>Packages with zero data-race safety compiler diagnostics during a successful build on at least one tested platform.</p>
91
+
<h3id="total-zero-errors">Total packages with Swift 6 zero datarace safety errors</h3>
92
+
<p>This chart shows packages with zero datarace safety compiler diagnostics during a successful build on at least one tested platform.</p>
93
93
<p>Couldn’t load chart data.</p>
94
-
<h3id="total-errors">Total Swift 6 data-race safety errors</h3>
95
-
<p>The total number of all data-race safety diagnostics across
94
+
<h3id="total-errors">Total Swift 6 datarace safety errors</h3>
95
+
<p>This chart shows the total number of all datarace safety diagnostics across
<strong>Q: </strong>What is a “data race safety error”?
102
102
</p>
103
103
<p>
104
-
<strong>A: </strong>Swift 6 introduces complete concurrency checking, a compiler feature that checks your code for data-race safety. The number of data race safety errors reflects how many issues the compiler detected relating to these concurrency or data-race checks. The total errors chart plots the total number of these errors summed across all packages.
104
+
<strong>A: </strong>Swift 6 introduces complete concurrency checking, a compiler feature that checks your code for datarace safety. The number of data race safety errors reflects how many issues the compiler detected relating to these concurrency or datarace checks. The total errors chart plots the total number of these errors summed across all packages.
<code>xcodebuild</code> to achieve this by enabling all data race safety checks in the compiler.
115
115
</p>
116
116
<hrclass="minor"/>
117
+
<p>
118
+
<strong>Q: </strong>Are packages that show zero data race compiler diagnostics guaranteed to be safe from data race errors?
119
+
</p>
120
+
<p>
121
+
<strong>A: </strong>No. We gather data on data race safety from Swift compiler diagnostics with “complete” concurrency checks enabled. We can’t tell if the diagnostics produce zero errors due to a genuine lack of data race safety errors or whether errors have been suppressed using techniques like
122
+
<code>@unchecked Sendable</code>.
123
+
</p>
124
+
<hrclass="minor"/>
117
125
<p>
118
126
<strong>Q: </strong>Why use
119
127
<code>-strict-concurrency=complete</code> instead of
120
128
<code>-swift-version 6</code>?
121
129
</p>
122
130
<p>
123
-
<strong>A: </strong>Data-race safety diagnostics are determined in different stages of the compiler. For example, type checking produces some data-race safety errors, and others are diagnosed during control-flow analysis after code generation. If type checking produces errors, the compiler will not proceed to code generation, so testing with
131
+
<strong>A: </strong>Datarace safety diagnostics are determined in different stages of the compiler. For example, type checking produces some datarace safety errors, and others are diagnosed during control-flow analysis after code generation. If type checking produces errors, the compiler will not proceed to code generation, so testing with
124
132
<code>-swift-version 6</code> would show fewer errors than really exist across the package ecosystem.
0 commit comments