Build Information
Successful build of CoreEngine, reference 1.3.1 (7d7f21
), with Swift 6.0 for Linux on 6 Nov 2024 15:24:03 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
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 /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
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
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $PWD
https://github.com/sobabear/CoreEngine.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/8] Compiling CoreEngine AsyncCore.swift
/host/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 {
/host/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 {
/host/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 | }
/host/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 | }
/host/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 {
/host/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 | }
/host/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 | }
[4/8] Emitting module CoreEngine
[5/8] Compiling CoreEngine AsyncCoreSequence.swift
/host/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 | deinit
3 | }
/host/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 | deinit
3 | }
/host/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 |
/host/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 |
/host/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 |
/host/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 | }
/host/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 | }
/host/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] }
/host/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 |
/host/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)
/host/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)
/host/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)
/host/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)
/host/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)
/host/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)
[6/8] Compiling CoreEngine Core.swift
[7/8] Compiling CoreEngine DidPublished.swift
[8/8] Compiling CoreEngine PublisherCore.swift
Build complete! (9.19s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "CoreEngine",
"name" : "CoreEngine",
"path" : "/host/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"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.