Build Information
Successful build of CoreEngine, reference 1.3.1 (7d7f21
), with Swift 6.0 for macOS (SPM) on 6 Nov 2024 15:36:15 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/sobabear/CoreEngine.git
Reference: 1.3.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/sobabear/CoreEngine
* tag 1.3.1 -> FETCH_HEAD
HEAD is now at 7d7f215 Update AsyncCoreSequence.swift with no flatmap (#7)
Cloned https://github.com/sobabear/CoreEngine.git
Revision (git rev-parse @):
7d7f215c99a957c20fd1465779ae56655152b58e
SUCCESS checkout https://github.com/sobabear/CoreEngine.git at 1.3.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "coreengine",
"name": "CoreEngine",
"url": "https://github.com/sobabear/CoreEngine.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CoreEngine",
"dependencies": [
]
}
]
}
Fetching https://github.com/sobabear/CoreEngine.git
[1/399] Fetching coreengine
Fetched https://github.com/sobabear/CoreEngine.git from cache (0.98s)
Creating working copy for https://github.com/sobabear/CoreEngine.git
Working copy of https://github.com/sobabear/CoreEngine.git resolved at 1.3.1 (7d7f215)
warning: '.resolve-product-dependencies': dependency 'coreengine' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/sobabear/CoreEngine.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun 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--7754E27361AE5C74.txt
[3/8] Compiling CoreEngine DidPublished.swift
[4/8] Compiling CoreEngine PublisherCore.swift
[5/8] Compiling CoreEngine Core.swift
[6/8] Compiling CoreEngine AsyncCore.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/AsyncCore.swift:21:51: warning: non-sendable type 'Self.State' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
19 | guard let self = self else { return }
20 | do {
21 | let reducedState = try await self.reduce(state: self.currentState, action: _action)
| `- warning: non-sendable type 'Self.State' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
22 | await self.update(state: reducedState)
23 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/AsyncCore.swift:21:70: warning: non-sendable type 'Self.State' in implicitly asynchronous access to actor-isolated property 'currentState' cannot cross actor boundary; this is an error in the Swift 6 language mode
19 | guard let self = self else { return }
20 | do {
21 | let reducedState = try await self.reduce(state: self.currentState, action: _action)
| `- warning: non-sendable type 'Self.State' in implicitly asynchronous access to actor-isolated property 'currentState' cannot cross actor boundary; this is an error in the Swift 6 language mode
22 | await self.update(state: reducedState)
23 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/AsyncCore.swift:42:24: warning: non-sendable type '(Self.Action) async -> ()' in implicitly asynchronous access to actor-isolated property 'action' cannot cross actor boundary; this is an error in the Swift 6 language mode
40 | nonisolated func send(_ action: Action) {
41 | Task {
42 | await self.action(action)
| |- warning: non-sendable type '(Self.Action) async -> ()' in implicitly asynchronous access to actor-isolated property 'action' cannot cross actor boundary; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/AsyncCore.swift:52:22: warning: 'self'-isolated value of type 'Self.State' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
50 | private func update(state: State) async {
51 | self.currentState = state
52 | continuation.yield(self.currentState)
| `- warning: 'self'-isolated value of type 'Self.State' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
53 | self.states.send(state)
54 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/AsyncCore.swift:21:51: warning: sending '_action' risks causing data races; this is an error in the Swift 6 language mode
19 | guard let self = self else { return }
20 | do {
21 | let reducedState = try await self.reduce(state: self.currentState, action: _action)
| |- warning: sending '_action' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated '_action' to actor-isolated instance method 'reduce(state:action:)' risks causing data races between actor-isolated and task-isolated uses
22 | await self.update(state: reducedState)
23 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/AsyncCore.swift:32:24: warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
30 | func dynamicallyCall(withArguments actions: [Action]) async {
31 | for action in actions {
32 | await self.action(action)
| |- warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
| |- note: sending 'self'-isolated 'action' to nonisolated callee risks causing data races between nonisolated and local actor-isolated uses
| `- note: access can happen concurrently
33 | }
34 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/AsyncCore.swift:41:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
39 |
40 | nonisolated func send(_ action: Action) {
41 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
42 | await self.action(action)
| | `- note: closure captures non-Sendable 'action'
| `- note: closure captures non-Sendable 'self'
43 | }
44 | }
[7/8] Emitting module CoreEngine
[8/8] Compiling CoreEngine AsyncCoreSequence.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:54:41: warning: capture of 'keyPath' with non-sendable type 'KeyPath<State, Property>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 | continuation.yield(last)
53 | }
54 | return stream.map { $0[keyPath: keyPath] }
| `- warning: capture of 'keyPath' with non-sendable type 'KeyPath<State, Property>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
55 | }
56 | }
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
| `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 | @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:70:41: warning: capture of 'keyPath' with non-sendable type 'KeyPath<State, Property>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
68 | }
69 |
70 | return stream.map { $0[keyPath: keyPath] }
| `- warning: capture of 'keyPath' with non-sendable type 'KeyPath<State, Property>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
71 | }
72 |
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
| `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 | @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:92:27: warning: passing non-sendable parameter 'transform' to function expecting a @Sendable closure
83 |
84 | func map<Transformed>(
85 | _ transform: @escaping (State) async throws -> Transformed
| `- note: parameter 'transform' is implicitly non-sendable
86 | ) -> AsyncThrowingMapSequence<AsyncStream<State>, Transformed> {
87 | let (stream, continuation) = AsyncStream<State>.createStream()
:
90 | continuation.yield(last)
91 | }
92 | return stream.map(transform)
| `- warning: passing non-sendable parameter 'transform' to function expecting a @Sendable closure
93 | }
94 |
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:103:30: warning: passing non-sendable parameter 'isIncluded' to function expecting a @Sendable closure
94 |
95 | func filter(
96 | _ isIncluded: @escaping (State) async -> Bool
| `- note: parameter 'isIncluded' is implicitly non-sendable
97 | ) -> AsyncFilterSequence<AsyncStream<State>> {
98 | let (stream, continuation) = AsyncStream<State>.createStream()
:
101 | continuation.yield(last)
102 | }
103 | return stream.filter(isIncluded)
| `- warning: passing non-sendable parameter 'isIncluded' to function expecting a @Sendable closure
104 | }
105 |
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:134:31: warning: passing non-sendable parameter 'transform' to function expecting a @Sendable closure
125 |
126 | func flatMap<SegmentOfResult: AsyncSequence>(
127 | _ transform: @escaping (State) async throws -> SegmentOfResult
| `- note: parameter 'transform' is implicitly non-sendable
128 | ) -> AsyncThrowingFlatMapSequence<AsyncStream<State>, SegmentOfResult> {
129 | let (stream, continuation) = AsyncStream<State>.createStream()
:
132 | continuation.yield(last)
133 | }
134 | return stream.flatMap(transform)
| `- warning: passing non-sendable parameter 'transform' to function expecting a @Sendable closure
135 | }
136 |
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:145:35: warning: passing non-sendable parameter 'predicate' to function expecting a @Sendable closure
136 |
137 | func drop(
138 | while predicate: @escaping (State) async -> Bool
| `- note: parameter 'predicate' is implicitly non-sendable
139 | ) -> AsyncDropWhileSequence<AsyncStream<State>> {
140 | let (stream, continuation) = AsyncStream<State>.createStream()
:
143 | continuation.yield(last)
144 | }
145 | return stream.drop(while: predicate)
| `- warning: passing non-sendable parameter 'predicate' to function expecting a @Sendable closure
146 | }
147 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:42:26: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
40 | last = state
41 | for continuation in continuations {
42 | continuation.yield(state)
| |- warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'state' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:52:26: warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
50 | continuations.append(continuation)
51 | if let last {
52 | continuation.yield(last)
| |- warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'last' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
53 | }
54 | return stream.map { $0[keyPath: keyPath] }
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:67:26: warning: sending 'lastState' risks causing data races; this is an error in the Swift 6 language mode
65 |
66 | if let lastState = last {
67 | continuation.yield(lastState)
| |- warning: sending 'lastState' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'lastState' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
68 | }
69 |
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:79:26: warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
77 | continuations.append(continuation)
78 | if let last = last {
79 | continuation.yield(last)
| |- warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'last' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
80 | }
81 | return stream.map(transform)
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:90:26: warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
88 | continuations.append(continuation)
89 | if let last = last {
90 | continuation.yield(last)
| |- warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'last' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
91 | }
92 | return stream.map(transform)
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:101:26: warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
99 | continuations.append(continuation)
100 | if let last = last {
101 | continuation.yield(last)
| |- warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'last' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
102 | }
103 | return stream.filter(isIncluded)
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:110:26: warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
108 | continuations.append(continuation)
109 | if let last = last {
110 | continuation.yield(last)
| |- warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'last' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
111 | }
112 | return stream.dropFirst(count)
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:132:26: warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
130 | continuations.append(continuation)
131 | if let last = last {
132 | continuation.yield(last)
| |- warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'last' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
133 | }
134 | return stream.flatMap(transform)
/Users/admin/builder/spi-builder-workspace/Sources/CoreEngine/Classes/Async/AsyncCoreSequence.swift:143:26: warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
141 | continuations.append(continuation)
142 | if let last = last {
143 | continuation.yield(last)
| |- warning: sending 'last' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'last' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
144 | }
145 | return stream.drop(while: predicate)
Build complete! (7.97s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "CoreEngine",
"name" : "CoreEngine",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "CoreEngine",
"targets" : [
"CoreEngine"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CoreEngineTests",
"module_type" : "SwiftTarget",
"name" : "CoreEngineTests",
"path" : "Tests/CoreEngineTests",
"sources" : [
"AsyncCoreTest.swift",
"DidPublishedTest.swift"
],
"target_dependencies" : [
"CoreEngine"
],
"type" : "test"
},
{
"c99name" : "CoreEngine",
"module_type" : "SwiftTarget",
"name" : "CoreEngine",
"path" : "Sources/CoreEngine",
"product_memberships" : [
"CoreEngine"
],
"sources" : [
"Classes/Async/AsyncCoreSequence.swift",
"Classes/AsyncCore.swift",
"Classes/Core.swift",
"Classes/PublisherCore.swift",
"Misc/DidPublished.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Done.