Skip to content

Commit 350450f

Browse files
authored
Enable strict concurrency (#47)
### Motivation: Catch potential data races at build time. ### Modifications: - Enabled strict concurrency checking in the Package.swift and removed it from the CI flags. ### Result: Fewer potential data races can sneak in. ### Test Plan Ran tests locally, did not see any concurrency warnings or errors.
1 parent e578b9e commit 350450f

File tree

4 files changed

+11
-4
lines changed

4 files changed

+11
-4
lines changed

Diff for: .github/workflows/main.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ jobs:
1111
name: Unit tests
1212
uses: ./.github/workflows/unit_tests.yml
1313
with:
14-
linux_5_9_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -strict-concurrency=complete"
15-
linux_5_10_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -strict-concurrency=complete"
14+
linux_5_9_arguments_override: "--explicit-target-dependency-import-check error"
15+
linux_5_10_arguments_override: "--explicit-target-dependency-import-check error"
1616
linux_6_0_arguments_override: "--explicit-target-dependency-import-check error"
1717
linux_nightly_6_0_arguments_override: "--explicit-target-dependency-import-check error"
1818
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error"

Diff for: .github/workflows/pull_request.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ jobs:
1515
name: Unit tests
1616
uses: ./.github/workflows/unit_tests.yml
1717
with:
18-
linux_5_9_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -strict-concurrency=complete"
19-
linux_5_10_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -strict-concurrency=complete"
18+
linux_5_9_arguments_override: "--explicit-target-dependency-import-check error"
19+
linux_5_10_arguments_override: "--explicit-target-dependency-import-check error"
2020
linux_6_0_arguments_override: "--explicit-target-dependency-import-check error"
2121
linux_nightly_6_0_arguments_override: "--explicit-target-dependency-import-check error"
2222
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error"

Diff for: .gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ DerivedData/
99
.netrc
1010
Package.resolved
1111
.*.sw?
12+
.vscode

Diff for: Package.swift

+6
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,9 @@ let package = Package(
5757
),
5858
]
5959
)
60+
61+
for target in package.targets {
62+
var settings = target.swiftSettings ?? []
63+
settings.append(.enableExperimentalFeature("StrictConcurrency=complete"))
64+
target.swiftSettings = settings
65+
}

0 commit comments

Comments
 (0)