Build Information
Successful build of Scout with Swift 6.0 for macOS (SPM).
Swift 6 data race errors: 3
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bgerstle/scout.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/bgerstle/scout
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 76a53a4 Playground tweaks
Cloned https://github.com/bgerstle/scout.git
Revision (git rev-parse @):
76a53a47461f3dec6b63bcac4db50e7947a0c2c5
SUCCESS checkout https://github.com/bgerstle/scout.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/bgerstle/scout.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/12] Compiling Scout ExpectVarDSL.swift
[4/13] Compiling Scout Mockable.swift
[5/13] Compiling Scout Mock.swift
[6/13] Compiling Scout CallDSL.swift
[7/13] Compiling Scout Expectation.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/Scout/Expect/Expectation.swift:23:5: warning: let 'returnValue' is not concurrency-safe because non-'Sendable' type '(Any?, UInt) -> any Expectation' may have shared mutable state; this is an error in the Swift 6 language mode
21 |
22 | // Alias for `return` if people don't want to use backticks.
23 | let returnValue = `return`
| |- warning: let 'returnValue' is not concurrency-safe because non-'Sendable' type '(Any?, UInt) -> any Expectation' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'returnValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |
25 | /// Return the same value every time.
/Users/admin/builder/spi-builder-workspace/Sources/Scout/Expect/Expectation.swift:48:30: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
46 |
47 | // Interface for all expectations of a mock.
48 | public protocol Expectation: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
49 | func hasNext() -> Bool
50 | func nextValue() -> Any?
[8/13] Compiling Scout MockFailure.swift
[9/13] Compiling Scout ExpectDSL.swift
[10/13] Compiling Scout ArgMatcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/Scout/Expect/ArgMatcher.swift:15:5: warning: let 'nil' is not concurrency-safe because non-'Sendable' type 'NilMatcher' may have shared mutable state; this is an error in the Swift 6 language mode
13 | }
14 |
15 | let `nil` = NilMatcher()
| |- warning: let 'nil' is not concurrency-safe because non-'Sendable' type 'NilMatcher' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'nil' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | class NilMatcher : ArgMatcher {
| `- note: class 'NilMatcher' does not conform to the 'Sendable' protocol
18 | public func matches(arg: Any?) -> Bool {
19 | return arg == nil
[11/13] Emitting module Scout
/Users/admin/builder/spi-builder-workspace/Sources/Scout/Expect/ArgMatcher.swift:15:5: warning: let 'nil' is not concurrency-safe because non-'Sendable' type 'NilMatcher' may have shared mutable state; this is an error in the Swift 6 language mode
13 | }
14 |
15 | let `nil` = NilMatcher()
| |- warning: let 'nil' is not concurrency-safe because non-'Sendable' type 'NilMatcher' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'nil' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | class NilMatcher : ArgMatcher {
| `- note: class 'NilMatcher' does not conform to the 'Sendable' protocol
18 | public func matches(arg: Any?) -> Bool {
19 | return arg == nil
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/Scout/Expect/ExpectFuncDSL.swift:128:5: warning: let 'throwError' is not concurrency-safe because non-'Sendable' type '(@autoclosure @escaping () -> any Error) -> FuncExpectationBlock' (aka '(@autoclosure @escaping () -> any Error) -> (KeyValuePairs<String, Optional<Any>>) throws -> Optional<Any>') may have shared mutable state; this is an error in the Swift 6 language mode
126 |
127 | // Alias in case backticks aren't desired.
128 | let throwError = `throw`
| |- warning: let 'throwError' is not concurrency-safe because non-'Sendable' type '(@autoclosure @escaping () -> any Error) -> FuncExpectationBlock' (aka '(@autoclosure @escaping () -> any Error) -> (KeyValuePairs<String, Optional<Any>>) throws -> Optional<Any>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'throwError' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
129 |
130 | protocol MockFuncContext {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/Scout/Expect/Expectation.swift:23:5: warning: let 'returnValue' is not concurrency-safe because non-'Sendable' type '(Any?, UInt) -> any Expectation' may have shared mutable state; this is an error in the Swift 6 language mode
21 |
22 | // Alias for `return` if people don't want to use backticks.
23 | let returnValue = `return`
| |- warning: let 'returnValue' is not concurrency-safe because non-'Sendable' type '(Any?, UInt) -> any Expectation' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'returnValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |
25 | /// Return the same value every time.
/Users/admin/builder/spi-builder-workspace/Sources/Scout/Expect/Expectation.swift:48:30: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
46 |
47 | // Interface for all expectations of a mock.
48 | public protocol Expectation: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
49 | func hasNext() -> Bool
50 | func nextValue() -> Any?
[12/13] Compiling Scout ExpectFuncDSL.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/Scout/Expect/ExpectFuncDSL.swift:128:5: warning: let 'throwError' is not concurrency-safe because non-'Sendable' type '(@autoclosure @escaping () -> any Error) -> FuncExpectationBlock' (aka '(@autoclosure @escaping () -> any Error) -> (KeyValuePairs<String, Optional<Any>>) throws -> Optional<Any>') may have shared mutable state; this is an error in the Swift 6 language mode
126 |
127 | // Alias in case backticks aren't desired.
128 | let throwError = `throw`
| |- warning: let 'throwError' is not concurrency-safe because non-'Sendable' type '(@autoclosure @escaping () -> any Error) -> FuncExpectationBlock' (aka '(@autoclosure @escaping () -> any Error) -> (KeyValuePairs<String, Optional<Any>>) throws -> Optional<Any>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'throwError' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
129 |
130 | protocol MockFuncContext {
[13/13] Compiling Scout VarDSL.swift
Build complete! (32.05s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Scout",
"name" : "Scout",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Scout",
"targets" : [
"Scout"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ScoutTests",
"module_type" : "SwiftTarget",
"name" : "ScoutTests",
"path" : "Tests/ScoutTests",
"sources" : [
"Func/ArgMatcherTests.swift",
"Func/ExpectFuncTests.swift",
"Helpers/MockExample.swift",
"Helpers/ScoutTestCase.swift",
"Mock/MockAssertionTests.swift",
"Var/ExpectVarTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Scout"
],
"type" : "test"
},
{
"c99name" : "Scout",
"module_type" : "SwiftTarget",
"name" : "Scout",
"path" : "Sources/Scout",
"product_memberships" : [
"Scout"
],
"sources" : [
"Expect/ArgMatcher.swift",
"Expect/ExpectDSL.swift",
"Expect/ExpectFuncDSL.swift",
"Expect/ExpectVarDSL.swift",
"Expect/Expectation.swift",
"Mock/CallDSL.swift",
"Mock/Mock.swift",
"Mock/MockFailure.swift",
"Mock/Mockable.swift",
"Mock/VarDSL.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.