Build Information
Failed to build StateTree, reference v0.1.1 (d35898
), with Swift 6.2 (beta) for macOS (SPM) on 20 Jun 2025 15:11:11 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Build Log
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:371:12: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
369 | case inactive
370 | case created(runtime: Runtime)
371 | case started(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
372 | runtime: Runtime,
373 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:387:36: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
385 |
386 | private let sessionSubject = ValueSubject<Session, Never>(.inactive)
387 | private let onceSessionSubject = ValueSubject<(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
388 | runtime: Runtime,
389 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:387:15: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
385 |
386 | private let sessionSubject = ValueSubject<Session, Never>(.inactive)
387 | private let onceSessionSubject = ValueSubject<(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
388 | runtime: Runtime,
389 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:72:26: warning: capture of non-sendable type 'N.Type' in an isolated closure; this is an error in the Swift 6 language mode
70 | sessionSubject
71 | .compactMap { session in
72 | switch session.state {
| `- warning: capture of non-sendable type 'N.Type' in an isolated closure; this is an error in the Swift 6 language mode
73 | case .created(let runtime): return runtime
74 | case .started(let runtime, _, _): return runtime
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:20: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:13: warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:20: warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:232:48: warning: type 'NodeScope<N>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
230 | get async {
231 | while true {
232 | if let vals = await onceSessionSubject.compact().firstValue {
| `- warning: type 'NodeScope<N>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
233 | return Once(runtime: vals.runtime, root: vals.root, result: vals.result)
234 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NodeScope.swift:13:20: note: generic class 'NodeScope' does not conform to the 'Sendable' protocol
11 |
12 | @_spi(Implementation)
13 | public final class NodeScope<N: Node>: Equatable {
| `- note: generic class 'NodeScope' does not conform to the 'Sendable' protocol
14 |
15 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:232:48: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
230 | get async {
231 | while true {
232 | if let vals = await onceSessionSubject.compact().firstValue {
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
233 | return Once(runtime: vals.runtime, root: vals.root, result: vals.result)
234 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:19: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:65: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:11: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:322:9: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
320 | let currentState = sessionSubject.value.state
321 | let runtime: Runtime
322 | let asyncResult: Async.Value<Result<TreeStateRecord, TreeError>>?
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
323 | switch currentState {
324 | case .inactive: throw TreeError(.inactive)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:15:7: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
13 | }
14 |
15 | let asyncValue: Async.Value<Result<TreeStateRecord, TreeError>>
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:22: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:11: warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:22: warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:337:12: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
335 | let result: Result<TreeStateRecord, TreeError> = .success(snapshot)
336 | if let asyncResult {
337 | Task.detached {
| `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
338 | await asyncResult.resolve(to: result)
| |- note: closure captures non-Sendable 'asyncResult'
| `- note: closure captures non-Sendable 'result'
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:65: warning: non-Sendable 'Async.Value<Result<TreeStateRecord, TreeError>>'-typed result can not be returned from actor-isolated initializer 'init()' to main actor-isolated context; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: non-Sendable 'Async.Value<Result<TreeStateRecord, TreeError>>'-typed result can not be returned from actor-isolated initializer 'init()' to main actor-isolated context; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/AsyncValue.swift:6:16: note: generic actor 'Value' does not conform to the 'Sendable' protocol
4 |
5 | /// A value `T` which will eventually be resolved for access.
6 | public actor Value<T: Sendable>: Equatable {
| `- note: generic actor 'Value' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: sending task-isolated 'result' to actor-isolated instance method 'resolve(to:)' risks causing data races between actor-isolated and task-isolated uses
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: sending 'asyncResult' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| |- warning: sending 'asyncResult' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: sending task-isolated 'asyncResult' to actor-isolated instance method 'resolve(to:)' risks causing data races between actor-isolated and task-isolated uses
339 | }
340 | }
[#ConformanceIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/conformance-isolation>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[319/322] Compiling StateTree UpdatableScope.swift
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:20: warning: conformance of 'NeverScope' to protocol 'ScopeTypeInternal' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'ScopeTypeInternal' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
48 | }
49 |
50 | var node: N {
| `- note: main actor-isolated property 'node' cannot satisfy nonisolated requirement
51 | assertionFailure("NeverScope should never be invoked")
52 | return _node
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'ScopeType' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'ScopeType' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
48 | }
49 |
50 | var node: N {
| `- note: main actor-isolated property 'node' cannot satisfy nonisolated requirement
51 | assertionFailure("NeverScope should never be invoked")
52 | return _node
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
88 | }
89 |
90 | var requiresReadying: Bool {
| `- note: main actor-isolated property 'requiresReadying' cannot satisfy nonisolated requirement
91 | assertionFailure("NeverScope should never be invoked")
92 | return false
93 | }
94 |
95 | var isStable: Bool {
| `- note: main actor-isolated property 'isStable' cannot satisfy nonisolated requirement
96 | assertionFailure("NeverScope should never be invoked")
97 | return true
98 | }
99 |
100 | var requiresFinishing: Bool {
| `- note: main actor-isolated property 'requiresFinishing' cannot satisfy nonisolated requirement
101 | assertionFailure("NeverScope should never be invoked")
102 | return true
:
108 | }
109 |
110 | func sendUpdateEvent() {
| `- note: main actor-isolated instance method 'sendUpdateEvent()' cannot satisfy nonisolated requirement
111 | assertionFailure("NeverScope should never be invoked")
112 | }
113 |
114 | func applyIntent(_: Intent) -> IntentStepResolution {
| `- note: main actor-isolated instance method 'applyIntent' cannot satisfy nonisolated requirement
115 | assertionFailure("NeverScope should never be invoked")
116 | return .inapplicable
:
131 | }
132 |
133 | func stepTowardsFinished() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsFinished()' cannot satisfy nonisolated requirement
134 | assertionFailure("NeverScope should never be invoked")
135 | throw NeverScopeError()
136 | }
137 |
138 | func stop() throws {
| `- note: main actor-isolated instance method 'stop()' cannot satisfy nonisolated requirement
139 | assertionFailure("NeverScope should never be invoked")
140 | }
141 |
142 | func disconnectSendingNotification() {
| `- note: main actor-isolated instance method 'disconnectSendingNotification()' cannot satisfy nonisolated requirement
143 | assertionFailure("NeverScope should never be invoked")
144 | }
145 |
146 | func markDirty(pending _: ExternalRequirement) {
| `- note: main actor-isolated instance method 'markDirty(pending:)' cannot satisfy nonisolated requirement
147 | assertionFailure("NeverScope should never be invoked")
148 | }
149 |
150 | func stepTowardsReady() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsReady()' cannot satisfy nonisolated requirement
151 | assertionFailure("NeverScope should never be invoked")
152 | throw NeverScopeError()
:
158 | }
159 |
160 | func stopSubtree() throws {
| `- note: main actor-isolated instance method 'stopSubtree()' cannot satisfy nonisolated requirement
161 | assertionFailure("NeverScope should never be invoked")
162 | }
163 |
164 | func start() throws {
| `- note: main actor-isolated instance method 'start()' cannot satisfy nonisolated requirement
165 | assertionFailure("NeverScope should never be invoked")
166 | }
167 |
168 | func update() throws {
| `- note: main actor-isolated instance method 'update()' cannot satisfy nonisolated requirement
169 | assertionFailure("NeverScope should never be invoked")
170 | }
171 |
172 | func didUpdate() {
| `- note: main actor-isolated instance method 'didUpdate()' cannot satisfy nonisolated requirement
173 | assertionFailure("NeverScope should never be invoked")
174 | }
175 |
176 | func willStop() {
| `- note: main actor-isolated instance method 'willStop()' cannot satisfy nonisolated requirement
177 | assertionFailure("NeverScope should never be invoked")
178 | }
179 |
180 | func didStart() {
| `- note: main actor-isolated instance method 'didStart()' cannot satisfy nonisolated requirement
181 | assertionFailure("NeverScope should never be invoked")
182 | }
183 |
184 | func handleIntents() {
| `- note: main actor-isolated instance method 'handleIntents()' cannot satisfy nonisolated requirement
185 | assertionFailure("NeverScope should never be invoked")
186 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
121 | }
122 |
123 | func own(_ disposable: some Disposable) {
| `- note: main actor-isolated instance method 'own' cannot satisfy nonisolated requirement
124 | assertionFailure("NeverScope should never be invoked")
125 | disposable.dispose()
126 | }
127 |
128 | func canOwn() -> Bool {
| `- note: main actor-isolated instance method 'canOwn()' cannot satisfy nonisolated requirement
129 | assertionFailure("NeverScope should never be invoked")
130 | return false
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'Hashable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'Hashable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
117 | }
118 |
119 | func hash(into _: inout Hasher) {
| `- note: main actor-isolated instance method 'hash(into:)' cannot satisfy nonisolated requirement
120 | assertionFailure("NeverScope should never be invoked")
121 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'Equatable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'Equatable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
103 | }
104 |
105 | static func == (_: NeverScope, _: NeverScope) -> Bool {
| `- note: main actor-isolated operator function '==' cannot satisfy nonisolated requirement
106 | assertionFailure("NeverScope should never be invoked")
107 | return false
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NodeScope.swift:106:22: warning: conformance of 'NodeScope<N>' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
104 | // MARK: BehaviorScoping
105 |
106 | extension NodeScope: BehaviorScoping {
| |- warning: conformance of 'NodeScope<N>' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
107 |
108 | @TreeActor
109 | public func own(_ disposable: some Disposable) {
| `- note: main actor-isolated instance method 'own' cannot satisfy nonisolated requirement
110 | if isActive {
111 | stage.stage(disposable)
:
116 |
117 | @TreeActor
118 | public func canOwn() -> Bool {
| `- note: main actor-isolated instance method 'canOwn()' cannot satisfy nonisolated requirement
119 | isActive
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:43:22: warning: conformance of 'NodeScope<N>' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
41 | // MARK: - NodeScope + UpdatableScope
42 |
43 | extension NodeScope: UpdatableScope {
| |- warning: conformance of 'NodeScope<N>' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
44 |
45 | // MARK: Public
46 |
47 | @TreeActor public var requiresReadying: Bool {
| `- note: main actor-isolated property 'requiresReadying' cannot satisfy nonisolated requirement
48 | state.requiresReadying
49 | }
50 |
51 | @TreeActor public var requiresFinishing: Bool {
| `- note: main actor-isolated property 'requiresFinishing' cannot satisfy nonisolated requirement
52 | state.requiresFinishing
53 | }
54 |
55 | @TreeActor public var isStable: Bool {
| `- note: main actor-isolated property 'isStable' cannot satisfy nonisolated requirement
56 | state.isStable
57 | }
58 |
59 | @TreeActor
60 | public func disconnectSendingNotification() {
| `- note: main actor-isolated instance method 'disconnectSendingNotification()' cannot satisfy nonisolated requirement
61 | runtime.disconnect(scopeID: nid)
62 | didUpdateSubject.finish()
:
66 |
67 | @TreeActor
68 | func start() throws {
| `- note: main actor-isolated instance method 'start()' cannot satisfy nonisolated requirement
69 | // assert(activeRules == nil)
70 | activeRules = node.rules
:
74 |
75 | @TreeActor
76 | func didStart() {
| `- note: main actor-isolated instance method 'didStart()' cannot satisfy nonisolated requirement
77 | assert(activeRules != nil)
78 | _ = activeRules?.act(
:
83 |
84 | @TreeActor
85 | func update() throws {
| `- note: main actor-isolated instance method 'update()' cannot satisfy nonisolated requirement
86 | assert(activeRules != nil)
87 | try activeRules?.updateRule(
:
93 |
94 | @TreeActor
95 | func didUpdate() {
| `- note: main actor-isolated instance method 'didUpdate()' cannot satisfy nonisolated requirement
96 | assert(activeRules != nil)
97 | _ = activeRules?.act(
:
102 |
103 | @TreeActor
104 | func stopSubtree() throws {
| `- note: main actor-isolated instance method 'stopSubtree()' cannot satisfy nonisolated requirement
105 | assert(activeRules != nil)
106 | try activeRules?.removeRule(with: context)
:
109 |
110 | @TreeActor
111 | func willStop() {
| `- note: main actor-isolated instance method 'willStop()' cannot satisfy nonisolated requirement
112 | assert(activeRules != nil)
113 | _ = activeRules?.act(
:
118 |
119 | @TreeActor
120 | func stop() throws {
| `- note: main actor-isolated instance method 'stop()' cannot satisfy nonisolated requirement
121 | assert(activeRules != nil)
122 | activeRules = nil
:
127 |
128 | @TreeActor
129 | func handleIntents() {
| `- note: main actor-isolated instance method 'handleIntents()' cannot satisfy nonisolated requirement
130 | guard
131 | let activeIntent = runtime.activeIntent,
:
161 |
162 | @TreeActor
163 | func applyIntent(_ intent: Intent) -> IntentStepResolution {
| `- note: main actor-isolated instance method 'applyIntent' cannot satisfy nonisolated requirement
164 | let resolutions = activeRules?
165 | .act(for: .handleIntent(intent), with: context)
:
176 |
177 | @TreeActor
178 | func stepTowardsReady() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsReady()' cannot satisfy nonisolated requirement
179 | if let act = state.forward(scope: self) {
180 | return try act()
:
186 |
187 | @TreeActor
188 | func stepTowardsFinished() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsFinished()' cannot satisfy nonisolated requirement
189 | if let act = state.finalize(scope: self) {
190 | return try act()
:
196 |
197 | @TreeActor
198 | func markDirty(
| `- note: main actor-isolated instance method 'markDirty(pending:)' cannot satisfy nonisolated requirement
199 | pending requirement: ExternalRequirement
200 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:132:33: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
130 | guard
131 | let activeIntent = runtime.activeIntent,
132 | let intent = activeIntent.intent,
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
133 | nid == activeIntent.lastConsumerID || ancestors.contains(activeIntent.lastConsumerID)
134 | else {
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:133:27: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
131 | let activeIntent = runtime.activeIntent,
132 | let intent = activeIntent.intent,
133 | nid == activeIntent.lastConsumerID || ancestors.contains(activeIntent.lastConsumerID)
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
134 | else {
135 | return
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:133:77: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
131 | let activeIntent = runtime.activeIntent,
132 | let intent = activeIntent.intent,
133 | nid == activeIntent.lastConsumerID || ancestors.contains(activeIntent.lastConsumerID)
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
134 | else {
135 | return
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/StateTreeInfo.swift:70:27: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
68 | /// remains pending until it finishes or is replaced.
69 | @TreeActor public var pendingIntent: Intent? {
70 | runtime.activeIntent?.intent
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
71 | }
72 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:144:9: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
142 | // MARK: Internal
143 |
144 | let result: Async.Value<Result<TreeStateRecord, TreeError>>
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
145 |
146 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:371:12: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
369 | case inactive
370 | case created(runtime: Runtime)
371 | case started(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
372 | runtime: Runtime,
373 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:387:36: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
385 |
386 | private let sessionSubject = ValueSubject<Session, Never>(.inactive)
387 | private let onceSessionSubject = ValueSubject<(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
388 | runtime: Runtime,
389 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:387:15: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
385 |
386 | private let sessionSubject = ValueSubject<Session, Never>(.inactive)
387 | private let onceSessionSubject = ValueSubject<(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
388 | runtime: Runtime,
389 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:72:26: warning: capture of non-sendable type 'N.Type' in an isolated closure; this is an error in the Swift 6 language mode
70 | sessionSubject
71 | .compactMap { session in
72 | switch session.state {
| `- warning: capture of non-sendable type 'N.Type' in an isolated closure; this is an error in the Swift 6 language mode
73 | case .created(let runtime): return runtime
74 | case .started(let runtime, _, _): return runtime
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:20: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:13: warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:20: warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:232:48: warning: type 'NodeScope<N>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
230 | get async {
231 | while true {
232 | if let vals = await onceSessionSubject.compact().firstValue {
| `- warning: type 'NodeScope<N>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
233 | return Once(runtime: vals.runtime, root: vals.root, result: vals.result)
234 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NodeScope.swift:13:20: note: generic class 'NodeScope' does not conform to the 'Sendable' protocol
11 |
12 | @_spi(Implementation)
13 | public final class NodeScope<N: Node>: Equatable {
| `- note: generic class 'NodeScope' does not conform to the 'Sendable' protocol
14 |
15 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:232:48: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
230 | get async {
231 | while true {
232 | if let vals = await onceSessionSubject.compact().firstValue {
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
233 | return Once(runtime: vals.runtime, root: vals.root, result: vals.result)
234 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:19: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:65: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:11: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:322:9: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
320 | let currentState = sessionSubject.value.state
321 | let runtime: Runtime
322 | let asyncResult: Async.Value<Result<TreeStateRecord, TreeError>>?
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
323 | switch currentState {
324 | case .inactive: throw TreeError(.inactive)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:15:7: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
13 | }
14 |
15 | let asyncValue: Async.Value<Result<TreeStateRecord, TreeError>>
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:22: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:11: warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:22: warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:337:12: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
335 | let result: Result<TreeStateRecord, TreeError> = .success(snapshot)
336 | if let asyncResult {
337 | Task.detached {
| `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
338 | await asyncResult.resolve(to: result)
| |- note: closure captures non-Sendable 'asyncResult'
| `- note: closure captures non-Sendable 'result'
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:65: warning: non-Sendable 'Async.Value<Result<TreeStateRecord, TreeError>>'-typed result can not be returned from actor-isolated initializer 'init()' to main actor-isolated context; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: non-Sendable 'Async.Value<Result<TreeStateRecord, TreeError>>'-typed result can not be returned from actor-isolated initializer 'init()' to main actor-isolated context; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/AsyncValue.swift:6:16: note: generic actor 'Value' does not conform to the 'Sendable' protocol
4 |
5 | /// A value `T` which will eventually be resolved for access.
6 | public actor Value<T: Sendable>: Equatable {
| `- note: generic actor 'Value' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: sending task-isolated 'result' to actor-isolated instance method 'resolve(to:)' risks causing data races between actor-isolated and task-isolated uses
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: sending 'asyncResult' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| |- warning: sending 'asyncResult' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: sending task-isolated 'asyncResult' to actor-isolated instance method 'resolve(to:)' risks causing data races between actor-isolated and task-isolated uses
339 | }
340 | }
[#ConformanceIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/conformance-isolation>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[320/322] Compiling StateTree StateTreeInfo.swift
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:20: warning: conformance of 'NeverScope' to protocol 'ScopeTypeInternal' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'ScopeTypeInternal' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
48 | }
49 |
50 | var node: N {
| `- note: main actor-isolated property 'node' cannot satisfy nonisolated requirement
51 | assertionFailure("NeverScope should never be invoked")
52 | return _node
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'ScopeType' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'ScopeType' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
48 | }
49 |
50 | var node: N {
| `- note: main actor-isolated property 'node' cannot satisfy nonisolated requirement
51 | assertionFailure("NeverScope should never be invoked")
52 | return _node
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
88 | }
89 |
90 | var requiresReadying: Bool {
| `- note: main actor-isolated property 'requiresReadying' cannot satisfy nonisolated requirement
91 | assertionFailure("NeverScope should never be invoked")
92 | return false
93 | }
94 |
95 | var isStable: Bool {
| `- note: main actor-isolated property 'isStable' cannot satisfy nonisolated requirement
96 | assertionFailure("NeverScope should never be invoked")
97 | return true
98 | }
99 |
100 | var requiresFinishing: Bool {
| `- note: main actor-isolated property 'requiresFinishing' cannot satisfy nonisolated requirement
101 | assertionFailure("NeverScope should never be invoked")
102 | return true
:
108 | }
109 |
110 | func sendUpdateEvent() {
| `- note: main actor-isolated instance method 'sendUpdateEvent()' cannot satisfy nonisolated requirement
111 | assertionFailure("NeverScope should never be invoked")
112 | }
113 |
114 | func applyIntent(_: Intent) -> IntentStepResolution {
| `- note: main actor-isolated instance method 'applyIntent' cannot satisfy nonisolated requirement
115 | assertionFailure("NeverScope should never be invoked")
116 | return .inapplicable
:
131 | }
132 |
133 | func stepTowardsFinished() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsFinished()' cannot satisfy nonisolated requirement
134 | assertionFailure("NeverScope should never be invoked")
135 | throw NeverScopeError()
136 | }
137 |
138 | func stop() throws {
| `- note: main actor-isolated instance method 'stop()' cannot satisfy nonisolated requirement
139 | assertionFailure("NeverScope should never be invoked")
140 | }
141 |
142 | func disconnectSendingNotification() {
| `- note: main actor-isolated instance method 'disconnectSendingNotification()' cannot satisfy nonisolated requirement
143 | assertionFailure("NeverScope should never be invoked")
144 | }
145 |
146 | func markDirty(pending _: ExternalRequirement) {
| `- note: main actor-isolated instance method 'markDirty(pending:)' cannot satisfy nonisolated requirement
147 | assertionFailure("NeverScope should never be invoked")
148 | }
149 |
150 | func stepTowardsReady() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsReady()' cannot satisfy nonisolated requirement
151 | assertionFailure("NeverScope should never be invoked")
152 | throw NeverScopeError()
:
158 | }
159 |
160 | func stopSubtree() throws {
| `- note: main actor-isolated instance method 'stopSubtree()' cannot satisfy nonisolated requirement
161 | assertionFailure("NeverScope should never be invoked")
162 | }
163 |
164 | func start() throws {
| `- note: main actor-isolated instance method 'start()' cannot satisfy nonisolated requirement
165 | assertionFailure("NeverScope should never be invoked")
166 | }
167 |
168 | func update() throws {
| `- note: main actor-isolated instance method 'update()' cannot satisfy nonisolated requirement
169 | assertionFailure("NeverScope should never be invoked")
170 | }
171 |
172 | func didUpdate() {
| `- note: main actor-isolated instance method 'didUpdate()' cannot satisfy nonisolated requirement
173 | assertionFailure("NeverScope should never be invoked")
174 | }
175 |
176 | func willStop() {
| `- note: main actor-isolated instance method 'willStop()' cannot satisfy nonisolated requirement
177 | assertionFailure("NeverScope should never be invoked")
178 | }
179 |
180 | func didStart() {
| `- note: main actor-isolated instance method 'didStart()' cannot satisfy nonisolated requirement
181 | assertionFailure("NeverScope should never be invoked")
182 | }
183 |
184 | func handleIntents() {
| `- note: main actor-isolated instance method 'handleIntents()' cannot satisfy nonisolated requirement
185 | assertionFailure("NeverScope should never be invoked")
186 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
121 | }
122 |
123 | func own(_ disposable: some Disposable) {
| `- note: main actor-isolated instance method 'own' cannot satisfy nonisolated requirement
124 | assertionFailure("NeverScope should never be invoked")
125 | disposable.dispose()
126 | }
127 |
128 | func canOwn() -> Bool {
| `- note: main actor-isolated instance method 'canOwn()' cannot satisfy nonisolated requirement
129 | assertionFailure("NeverScope should never be invoked")
130 | return false
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'Hashable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'Hashable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
117 | }
118 |
119 | func hash(into _: inout Hasher) {
| `- note: main actor-isolated instance method 'hash(into:)' cannot satisfy nonisolated requirement
120 | assertionFailure("NeverScope should never be invoked")
121 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'Equatable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'Equatable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
103 | }
104 |
105 | static func == (_: NeverScope, _: NeverScope) -> Bool {
| `- note: main actor-isolated operator function '==' cannot satisfy nonisolated requirement
106 | assertionFailure("NeverScope should never be invoked")
107 | return false
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NodeScope.swift:106:22: warning: conformance of 'NodeScope<N>' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
104 | // MARK: BehaviorScoping
105 |
106 | extension NodeScope: BehaviorScoping {
| |- warning: conformance of 'NodeScope<N>' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
107 |
108 | @TreeActor
109 | public func own(_ disposable: some Disposable) {
| `- note: main actor-isolated instance method 'own' cannot satisfy nonisolated requirement
110 | if isActive {
111 | stage.stage(disposable)
:
116 |
117 | @TreeActor
118 | public func canOwn() -> Bool {
| `- note: main actor-isolated instance method 'canOwn()' cannot satisfy nonisolated requirement
119 | isActive
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:43:22: warning: conformance of 'NodeScope<N>' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
41 | // MARK: - NodeScope + UpdatableScope
42 |
43 | extension NodeScope: UpdatableScope {
| |- warning: conformance of 'NodeScope<N>' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
44 |
45 | // MARK: Public
46 |
47 | @TreeActor public var requiresReadying: Bool {
| `- note: main actor-isolated property 'requiresReadying' cannot satisfy nonisolated requirement
48 | state.requiresReadying
49 | }
50 |
51 | @TreeActor public var requiresFinishing: Bool {
| `- note: main actor-isolated property 'requiresFinishing' cannot satisfy nonisolated requirement
52 | state.requiresFinishing
53 | }
54 |
55 | @TreeActor public var isStable: Bool {
| `- note: main actor-isolated property 'isStable' cannot satisfy nonisolated requirement
56 | state.isStable
57 | }
58 |
59 | @TreeActor
60 | public func disconnectSendingNotification() {
| `- note: main actor-isolated instance method 'disconnectSendingNotification()' cannot satisfy nonisolated requirement
61 | runtime.disconnect(scopeID: nid)
62 | didUpdateSubject.finish()
:
66 |
67 | @TreeActor
68 | func start() throws {
| `- note: main actor-isolated instance method 'start()' cannot satisfy nonisolated requirement
69 | // assert(activeRules == nil)
70 | activeRules = node.rules
:
74 |
75 | @TreeActor
76 | func didStart() {
| `- note: main actor-isolated instance method 'didStart()' cannot satisfy nonisolated requirement
77 | assert(activeRules != nil)
78 | _ = activeRules?.act(
:
83 |
84 | @TreeActor
85 | func update() throws {
| `- note: main actor-isolated instance method 'update()' cannot satisfy nonisolated requirement
86 | assert(activeRules != nil)
87 | try activeRules?.updateRule(
:
93 |
94 | @TreeActor
95 | func didUpdate() {
| `- note: main actor-isolated instance method 'didUpdate()' cannot satisfy nonisolated requirement
96 | assert(activeRules != nil)
97 | _ = activeRules?.act(
:
102 |
103 | @TreeActor
104 | func stopSubtree() throws {
| `- note: main actor-isolated instance method 'stopSubtree()' cannot satisfy nonisolated requirement
105 | assert(activeRules != nil)
106 | try activeRules?.removeRule(with: context)
:
109 |
110 | @TreeActor
111 | func willStop() {
| `- note: main actor-isolated instance method 'willStop()' cannot satisfy nonisolated requirement
112 | assert(activeRules != nil)
113 | _ = activeRules?.act(
:
118 |
119 | @TreeActor
120 | func stop() throws {
| `- note: main actor-isolated instance method 'stop()' cannot satisfy nonisolated requirement
121 | assert(activeRules != nil)
122 | activeRules = nil
:
127 |
128 | @TreeActor
129 | func handleIntents() {
| `- note: main actor-isolated instance method 'handleIntents()' cannot satisfy nonisolated requirement
130 | guard
131 | let activeIntent = runtime.activeIntent,
:
161 |
162 | @TreeActor
163 | func applyIntent(_ intent: Intent) -> IntentStepResolution {
| `- note: main actor-isolated instance method 'applyIntent' cannot satisfy nonisolated requirement
164 | let resolutions = activeRules?
165 | .act(for: .handleIntent(intent), with: context)
:
176 |
177 | @TreeActor
178 | func stepTowardsReady() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsReady()' cannot satisfy nonisolated requirement
179 | if let act = state.forward(scope: self) {
180 | return try act()
:
186 |
187 | @TreeActor
188 | func stepTowardsFinished() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsFinished()' cannot satisfy nonisolated requirement
189 | if let act = state.finalize(scope: self) {
190 | return try act()
:
196 |
197 | @TreeActor
198 | func markDirty(
| `- note: main actor-isolated instance method 'markDirty(pending:)' cannot satisfy nonisolated requirement
199 | pending requirement: ExternalRequirement
200 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:132:33: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
130 | guard
131 | let activeIntent = runtime.activeIntent,
132 | let intent = activeIntent.intent,
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
133 | nid == activeIntent.lastConsumerID || ancestors.contains(activeIntent.lastConsumerID)
134 | else {
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:133:27: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
131 | let activeIntent = runtime.activeIntent,
132 | let intent = activeIntent.intent,
133 | nid == activeIntent.lastConsumerID || ancestors.contains(activeIntent.lastConsumerID)
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
134 | else {
135 | return
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:133:77: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
131 | let activeIntent = runtime.activeIntent,
132 | let intent = activeIntent.intent,
133 | nid == activeIntent.lastConsumerID || ancestors.contains(activeIntent.lastConsumerID)
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
134 | else {
135 | return
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/StateTreeInfo.swift:70:27: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
68 | /// remains pending until it finishes or is replaced.
69 | @TreeActor public var pendingIntent: Intent? {
70 | runtime.activeIntent?.intent
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
71 | }
72 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:144:9: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
142 | // MARK: Internal
143 |
144 | let result: Async.Value<Result<TreeStateRecord, TreeError>>
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
145 |
146 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:371:12: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
369 | case inactive
370 | case created(runtime: Runtime)
371 | case started(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
372 | runtime: Runtime,
373 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:387:36: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
385 |
386 | private let sessionSubject = ValueSubject<Session, Never>(.inactive)
387 | private let onceSessionSubject = ValueSubject<(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
388 | runtime: Runtime,
389 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:387:15: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
385 |
386 | private let sessionSubject = ValueSubject<Session, Never>(.inactive)
387 | private let onceSessionSubject = ValueSubject<(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
388 | runtime: Runtime,
389 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:72:26: warning: capture of non-sendable type 'N.Type' in an isolated closure; this is an error in the Swift 6 language mode
70 | sessionSubject
71 | .compactMap { session in
72 | switch session.state {
| `- warning: capture of non-sendable type 'N.Type' in an isolated closure; this is an error in the Swift 6 language mode
73 | case .created(let runtime): return runtime
74 | case .started(let runtime, _, _): return runtime
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:20: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:13: warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:20: warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:232:48: warning: type 'NodeScope<N>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
230 | get async {
231 | while true {
232 | if let vals = await onceSessionSubject.compact().firstValue {
| `- warning: type 'NodeScope<N>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
233 | return Once(runtime: vals.runtime, root: vals.root, result: vals.result)
234 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NodeScope.swift:13:20: note: generic class 'NodeScope' does not conform to the 'Sendable' protocol
11 |
12 | @_spi(Implementation)
13 | public final class NodeScope<N: Node>: Equatable {
| `- note: generic class 'NodeScope' does not conform to the 'Sendable' protocol
14 |
15 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:232:48: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
230 | get async {
231 | while true {
232 | if let vals = await onceSessionSubject.compact().firstValue {
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
233 | return Once(runtime: vals.runtime, root: vals.root, result: vals.result)
234 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:19: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:65: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:11: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:322:9: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
320 | let currentState = sessionSubject.value.state
321 | let runtime: Runtime
322 | let asyncResult: Async.Value<Result<TreeStateRecord, TreeError>>?
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
323 | switch currentState {
324 | case .inactive: throw TreeError(.inactive)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:15:7: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
13 | }
14 |
15 | let asyncValue: Async.Value<Result<TreeStateRecord, TreeError>>
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:22: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:11: warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:22: warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:337:12: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
335 | let result: Result<TreeStateRecord, TreeError> = .success(snapshot)
336 | if let asyncResult {
337 | Task.detached {
| `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
338 | await asyncResult.resolve(to: result)
| |- note: closure captures non-Sendable 'asyncResult'
| `- note: closure captures non-Sendable 'result'
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:65: warning: non-Sendable 'Async.Value<Result<TreeStateRecord, TreeError>>'-typed result can not be returned from actor-isolated initializer 'init()' to main actor-isolated context; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: non-Sendable 'Async.Value<Result<TreeStateRecord, TreeError>>'-typed result can not be returned from actor-isolated initializer 'init()' to main actor-isolated context; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/AsyncValue.swift:6:16: note: generic actor 'Value' does not conform to the 'Sendable' protocol
4 |
5 | /// A value `T` which will eventually be resolved for access.
6 | public actor Value<T: Sendable>: Equatable {
| `- note: generic actor 'Value' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: sending task-isolated 'result' to actor-isolated instance method 'resolve(to:)' risks causing data races between actor-isolated and task-isolated uses
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: sending 'asyncResult' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| |- warning: sending 'asyncResult' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: sending task-isolated 'asyncResult' to actor-isolated instance method 'resolve(to:)' risks causing data races between actor-isolated and task-isolated uses
339 | }
340 | }
[#ConformanceIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/conformance-isolation>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[321/322] Compiling StateTree Tree.swift
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:20: warning: conformance of 'NeverScope' to protocol 'ScopeTypeInternal' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'ScopeTypeInternal' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
48 | }
49 |
50 | var node: N {
| `- note: main actor-isolated property 'node' cannot satisfy nonisolated requirement
51 | assertionFailure("NeverScope should never be invoked")
52 | return _node
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'ScopeType' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'ScopeType' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
48 | }
49 |
50 | var node: N {
| `- note: main actor-isolated property 'node' cannot satisfy nonisolated requirement
51 | assertionFailure("NeverScope should never be invoked")
52 | return _node
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
88 | }
89 |
90 | var requiresReadying: Bool {
| `- note: main actor-isolated property 'requiresReadying' cannot satisfy nonisolated requirement
91 | assertionFailure("NeverScope should never be invoked")
92 | return false
93 | }
94 |
95 | var isStable: Bool {
| `- note: main actor-isolated property 'isStable' cannot satisfy nonisolated requirement
96 | assertionFailure("NeverScope should never be invoked")
97 | return true
98 | }
99 |
100 | var requiresFinishing: Bool {
| `- note: main actor-isolated property 'requiresFinishing' cannot satisfy nonisolated requirement
101 | assertionFailure("NeverScope should never be invoked")
102 | return true
:
108 | }
109 |
110 | func sendUpdateEvent() {
| `- note: main actor-isolated instance method 'sendUpdateEvent()' cannot satisfy nonisolated requirement
111 | assertionFailure("NeverScope should never be invoked")
112 | }
113 |
114 | func applyIntent(_: Intent) -> IntentStepResolution {
| `- note: main actor-isolated instance method 'applyIntent' cannot satisfy nonisolated requirement
115 | assertionFailure("NeverScope should never be invoked")
116 | return .inapplicable
:
131 | }
132 |
133 | func stepTowardsFinished() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsFinished()' cannot satisfy nonisolated requirement
134 | assertionFailure("NeverScope should never be invoked")
135 | throw NeverScopeError()
136 | }
137 |
138 | func stop() throws {
| `- note: main actor-isolated instance method 'stop()' cannot satisfy nonisolated requirement
139 | assertionFailure("NeverScope should never be invoked")
140 | }
141 |
142 | func disconnectSendingNotification() {
| `- note: main actor-isolated instance method 'disconnectSendingNotification()' cannot satisfy nonisolated requirement
143 | assertionFailure("NeverScope should never be invoked")
144 | }
145 |
146 | func markDirty(pending _: ExternalRequirement) {
| `- note: main actor-isolated instance method 'markDirty(pending:)' cannot satisfy nonisolated requirement
147 | assertionFailure("NeverScope should never be invoked")
148 | }
149 |
150 | func stepTowardsReady() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsReady()' cannot satisfy nonisolated requirement
151 | assertionFailure("NeverScope should never be invoked")
152 | throw NeverScopeError()
:
158 | }
159 |
160 | func stopSubtree() throws {
| `- note: main actor-isolated instance method 'stopSubtree()' cannot satisfy nonisolated requirement
161 | assertionFailure("NeverScope should never be invoked")
162 | }
163 |
164 | func start() throws {
| `- note: main actor-isolated instance method 'start()' cannot satisfy nonisolated requirement
165 | assertionFailure("NeverScope should never be invoked")
166 | }
167 |
168 | func update() throws {
| `- note: main actor-isolated instance method 'update()' cannot satisfy nonisolated requirement
169 | assertionFailure("NeverScope should never be invoked")
170 | }
171 |
172 | func didUpdate() {
| `- note: main actor-isolated instance method 'didUpdate()' cannot satisfy nonisolated requirement
173 | assertionFailure("NeverScope should never be invoked")
174 | }
175 |
176 | func willStop() {
| `- note: main actor-isolated instance method 'willStop()' cannot satisfy nonisolated requirement
177 | assertionFailure("NeverScope should never be invoked")
178 | }
179 |
180 | func didStart() {
| `- note: main actor-isolated instance method 'didStart()' cannot satisfy nonisolated requirement
181 | assertionFailure("NeverScope should never be invoked")
182 | }
183 |
184 | func handleIntents() {
| `- note: main actor-isolated instance method 'handleIntents()' cannot satisfy nonisolated requirement
185 | assertionFailure("NeverScope should never be invoked")
186 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
121 | }
122 |
123 | func own(_ disposable: some Disposable) {
| `- note: main actor-isolated instance method 'own' cannot satisfy nonisolated requirement
124 | assertionFailure("NeverScope should never be invoked")
125 | disposable.dispose()
126 | }
127 |
128 | func canOwn() -> Bool {
| `- note: main actor-isolated instance method 'canOwn()' cannot satisfy nonisolated requirement
129 | assertionFailure("NeverScope should never be invoked")
130 | return false
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'Hashable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'Hashable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
117 | }
118 |
119 | func hash(into _: inout Hasher) {
| `- note: main actor-isolated instance method 'hash(into:)' cannot satisfy nonisolated requirement
120 | assertionFailure("NeverScope should never be invoked")
121 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'Equatable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'Equatable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
103 | }
104 |
105 | static func == (_: NeverScope, _: NeverScope) -> Bool {
| `- note: main actor-isolated operator function '==' cannot satisfy nonisolated requirement
106 | assertionFailure("NeverScope should never be invoked")
107 | return false
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NodeScope.swift:106:22: warning: conformance of 'NodeScope<N>' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
104 | // MARK: BehaviorScoping
105 |
106 | extension NodeScope: BehaviorScoping {
| |- warning: conformance of 'NodeScope<N>' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
107 |
108 | @TreeActor
109 | public func own(_ disposable: some Disposable) {
| `- note: main actor-isolated instance method 'own' cannot satisfy nonisolated requirement
110 | if isActive {
111 | stage.stage(disposable)
:
116 |
117 | @TreeActor
118 | public func canOwn() -> Bool {
| `- note: main actor-isolated instance method 'canOwn()' cannot satisfy nonisolated requirement
119 | isActive
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:43:22: warning: conformance of 'NodeScope<N>' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
41 | // MARK: - NodeScope + UpdatableScope
42 |
43 | extension NodeScope: UpdatableScope {
| |- warning: conformance of 'NodeScope<N>' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
44 |
45 | // MARK: Public
46 |
47 | @TreeActor public var requiresReadying: Bool {
| `- note: main actor-isolated property 'requiresReadying' cannot satisfy nonisolated requirement
48 | state.requiresReadying
49 | }
50 |
51 | @TreeActor public var requiresFinishing: Bool {
| `- note: main actor-isolated property 'requiresFinishing' cannot satisfy nonisolated requirement
52 | state.requiresFinishing
53 | }
54 |
55 | @TreeActor public var isStable: Bool {
| `- note: main actor-isolated property 'isStable' cannot satisfy nonisolated requirement
56 | state.isStable
57 | }
58 |
59 | @TreeActor
60 | public func disconnectSendingNotification() {
| `- note: main actor-isolated instance method 'disconnectSendingNotification()' cannot satisfy nonisolated requirement
61 | runtime.disconnect(scopeID: nid)
62 | didUpdateSubject.finish()
:
66 |
67 | @TreeActor
68 | func start() throws {
| `- note: main actor-isolated instance method 'start()' cannot satisfy nonisolated requirement
69 | // assert(activeRules == nil)
70 | activeRules = node.rules
:
74 |
75 | @TreeActor
76 | func didStart() {
| `- note: main actor-isolated instance method 'didStart()' cannot satisfy nonisolated requirement
77 | assert(activeRules != nil)
78 | _ = activeRules?.act(
:
83 |
84 | @TreeActor
85 | func update() throws {
| `- note: main actor-isolated instance method 'update()' cannot satisfy nonisolated requirement
86 | assert(activeRules != nil)
87 | try activeRules?.updateRule(
:
93 |
94 | @TreeActor
95 | func didUpdate() {
| `- note: main actor-isolated instance method 'didUpdate()' cannot satisfy nonisolated requirement
96 | assert(activeRules != nil)
97 | _ = activeRules?.act(
:
102 |
103 | @TreeActor
104 | func stopSubtree() throws {
| `- note: main actor-isolated instance method 'stopSubtree()' cannot satisfy nonisolated requirement
105 | assert(activeRules != nil)
106 | try activeRules?.removeRule(with: context)
:
109 |
110 | @TreeActor
111 | func willStop() {
| `- note: main actor-isolated instance method 'willStop()' cannot satisfy nonisolated requirement
112 | assert(activeRules != nil)
113 | _ = activeRules?.act(
:
118 |
119 | @TreeActor
120 | func stop() throws {
| `- note: main actor-isolated instance method 'stop()' cannot satisfy nonisolated requirement
121 | assert(activeRules != nil)
122 | activeRules = nil
:
127 |
128 | @TreeActor
129 | func handleIntents() {
| `- note: main actor-isolated instance method 'handleIntents()' cannot satisfy nonisolated requirement
130 | guard
131 | let activeIntent = runtime.activeIntent,
:
161 |
162 | @TreeActor
163 | func applyIntent(_ intent: Intent) -> IntentStepResolution {
| `- note: main actor-isolated instance method 'applyIntent' cannot satisfy nonisolated requirement
164 | let resolutions = activeRules?
165 | .act(for: .handleIntent(intent), with: context)
:
176 |
177 | @TreeActor
178 | func stepTowardsReady() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsReady()' cannot satisfy nonisolated requirement
179 | if let act = state.forward(scope: self) {
180 | return try act()
:
186 |
187 | @TreeActor
188 | func stepTowardsFinished() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsFinished()' cannot satisfy nonisolated requirement
189 | if let act = state.finalize(scope: self) {
190 | return try act()
:
196 |
197 | @TreeActor
198 | func markDirty(
| `- note: main actor-isolated instance method 'markDirty(pending:)' cannot satisfy nonisolated requirement
199 | pending requirement: ExternalRequirement
200 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:132:33: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
130 | guard
131 | let activeIntent = runtime.activeIntent,
132 | let intent = activeIntent.intent,
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
133 | nid == activeIntent.lastConsumerID || ancestors.contains(activeIntent.lastConsumerID)
134 | else {
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:133:27: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
131 | let activeIntent = runtime.activeIntent,
132 | let intent = activeIntent.intent,
133 | nid == activeIntent.lastConsumerID || ancestors.contains(activeIntent.lastConsumerID)
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
134 | else {
135 | return
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:133:77: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
131 | let activeIntent = runtime.activeIntent,
132 | let intent = activeIntent.intent,
133 | nid == activeIntent.lastConsumerID || ancestors.contains(activeIntent.lastConsumerID)
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
134 | else {
135 | return
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/StateTreeInfo.swift:70:27: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
68 | /// remains pending until it finishes or is replaced.
69 | @TreeActor public var pendingIntent: Intent? {
70 | runtime.activeIntent?.intent
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
71 | }
72 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:144:9: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
142 | // MARK: Internal
143 |
144 | let result: Async.Value<Result<TreeStateRecord, TreeError>>
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
145 |
146 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:371:12: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
369 | case inactive
370 | case created(runtime: Runtime)
371 | case started(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
372 | runtime: Runtime,
373 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:387:36: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
385 |
386 | private let sessionSubject = ValueSubject<Session, Never>(.inactive)
387 | private let onceSessionSubject = ValueSubject<(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
388 | runtime: Runtime,
389 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:387:15: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
385 |
386 | private let sessionSubject = ValueSubject<Session, Never>(.inactive)
387 | private let onceSessionSubject = ValueSubject<(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
388 | runtime: Runtime,
389 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:72:26: warning: capture of non-sendable type 'N.Type' in an isolated closure; this is an error in the Swift 6 language mode
70 | sessionSubject
71 | .compactMap { session in
72 | switch session.state {
| `- warning: capture of non-sendable type 'N.Type' in an isolated closure; this is an error in the Swift 6 language mode
73 | case .created(let runtime): return runtime
74 | case .started(let runtime, _, _): return runtime
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:20: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:13: warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:20: warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:232:48: warning: type 'NodeScope<N>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
230 | get async {
231 | while true {
232 | if let vals = await onceSessionSubject.compact().firstValue {
| `- warning: type 'NodeScope<N>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
233 | return Once(runtime: vals.runtime, root: vals.root, result: vals.result)
234 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NodeScope.swift:13:20: note: generic class 'NodeScope' does not conform to the 'Sendable' protocol
11 |
12 | @_spi(Implementation)
13 | public final class NodeScope<N: Node>: Equatable {
| `- note: generic class 'NodeScope' does not conform to the 'Sendable' protocol
14 |
15 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:232:48: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
230 | get async {
231 | while true {
232 | if let vals = await onceSessionSubject.compact().firstValue {
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
233 | return Once(runtime: vals.runtime, root: vals.root, result: vals.result)
234 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:19: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:65: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:11: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:322:9: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
320 | let currentState = sessionSubject.value.state
321 | let runtime: Runtime
322 | let asyncResult: Async.Value<Result<TreeStateRecord, TreeError>>?
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
323 | switch currentState {
324 | case .inactive: throw TreeError(.inactive)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:15:7: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
13 | }
14 |
15 | let asyncValue: Async.Value<Result<TreeStateRecord, TreeError>>
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:22: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:11: warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:22: warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:337:12: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
335 | let result: Result<TreeStateRecord, TreeError> = .success(snapshot)
336 | if let asyncResult {
337 | Task.detached {
| `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
338 | await asyncResult.resolve(to: result)
| |- note: closure captures non-Sendable 'asyncResult'
| `- note: closure captures non-Sendable 'result'
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:65: warning: non-Sendable 'Async.Value<Result<TreeStateRecord, TreeError>>'-typed result can not be returned from actor-isolated initializer 'init()' to main actor-isolated context; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: non-Sendable 'Async.Value<Result<TreeStateRecord, TreeError>>'-typed result can not be returned from actor-isolated initializer 'init()' to main actor-isolated context; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/AsyncValue.swift:6:16: note: generic actor 'Value' does not conform to the 'Sendable' protocol
4 |
5 | /// A value `T` which will eventually be resolved for access.
6 | public actor Value<T: Sendable>: Equatable {
| `- note: generic actor 'Value' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: sending task-isolated 'result' to actor-isolated instance method 'resolve(to:)' risks causing data races between actor-isolated and task-isolated uses
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: sending 'asyncResult' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| |- warning: sending 'asyncResult' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: sending task-isolated 'asyncResult' to actor-isolated instance method 'resolve(to:)' risks causing data races between actor-isolated and task-isolated uses
339 | }
340 | }
[#ConformanceIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/conformance-isolation>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[322/322] Compiling StateTree TreeHandle.swift
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:20: warning: conformance of 'NeverScope' to protocol 'ScopeTypeInternal' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'ScopeTypeInternal' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
48 | }
49 |
50 | var node: N {
| `- note: main actor-isolated property 'node' cannot satisfy nonisolated requirement
51 | assertionFailure("NeverScope should never be invoked")
52 | return _node
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'ScopeType' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'ScopeType' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
48 | }
49 |
50 | var node: N {
| `- note: main actor-isolated property 'node' cannot satisfy nonisolated requirement
51 | assertionFailure("NeverScope should never be invoked")
52 | return _node
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
88 | }
89 |
90 | var requiresReadying: Bool {
| `- note: main actor-isolated property 'requiresReadying' cannot satisfy nonisolated requirement
91 | assertionFailure("NeverScope should never be invoked")
92 | return false
93 | }
94 |
95 | var isStable: Bool {
| `- note: main actor-isolated property 'isStable' cannot satisfy nonisolated requirement
96 | assertionFailure("NeverScope should never be invoked")
97 | return true
98 | }
99 |
100 | var requiresFinishing: Bool {
| `- note: main actor-isolated property 'requiresFinishing' cannot satisfy nonisolated requirement
101 | assertionFailure("NeverScope should never be invoked")
102 | return true
:
108 | }
109 |
110 | func sendUpdateEvent() {
| `- note: main actor-isolated instance method 'sendUpdateEvent()' cannot satisfy nonisolated requirement
111 | assertionFailure("NeverScope should never be invoked")
112 | }
113 |
114 | func applyIntent(_: Intent) -> IntentStepResolution {
| `- note: main actor-isolated instance method 'applyIntent' cannot satisfy nonisolated requirement
115 | assertionFailure("NeverScope should never be invoked")
116 | return .inapplicable
:
131 | }
132 |
133 | func stepTowardsFinished() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsFinished()' cannot satisfy nonisolated requirement
134 | assertionFailure("NeverScope should never be invoked")
135 | throw NeverScopeError()
136 | }
137 |
138 | func stop() throws {
| `- note: main actor-isolated instance method 'stop()' cannot satisfy nonisolated requirement
139 | assertionFailure("NeverScope should never be invoked")
140 | }
141 |
142 | func disconnectSendingNotification() {
| `- note: main actor-isolated instance method 'disconnectSendingNotification()' cannot satisfy nonisolated requirement
143 | assertionFailure("NeverScope should never be invoked")
144 | }
145 |
146 | func markDirty(pending _: ExternalRequirement) {
| `- note: main actor-isolated instance method 'markDirty(pending:)' cannot satisfy nonisolated requirement
147 | assertionFailure("NeverScope should never be invoked")
148 | }
149 |
150 | func stepTowardsReady() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsReady()' cannot satisfy nonisolated requirement
151 | assertionFailure("NeverScope should never be invoked")
152 | throw NeverScopeError()
:
158 | }
159 |
160 | func stopSubtree() throws {
| `- note: main actor-isolated instance method 'stopSubtree()' cannot satisfy nonisolated requirement
161 | assertionFailure("NeverScope should never be invoked")
162 | }
163 |
164 | func start() throws {
| `- note: main actor-isolated instance method 'start()' cannot satisfy nonisolated requirement
165 | assertionFailure("NeverScope should never be invoked")
166 | }
167 |
168 | func update() throws {
| `- note: main actor-isolated instance method 'update()' cannot satisfy nonisolated requirement
169 | assertionFailure("NeverScope should never be invoked")
170 | }
171 |
172 | func didUpdate() {
| `- note: main actor-isolated instance method 'didUpdate()' cannot satisfy nonisolated requirement
173 | assertionFailure("NeverScope should never be invoked")
174 | }
175 |
176 | func willStop() {
| `- note: main actor-isolated instance method 'willStop()' cannot satisfy nonisolated requirement
177 | assertionFailure("NeverScope should never be invoked")
178 | }
179 |
180 | func didStart() {
| `- note: main actor-isolated instance method 'didStart()' cannot satisfy nonisolated requirement
181 | assertionFailure("NeverScope should never be invoked")
182 | }
183 |
184 | func handleIntents() {
| `- note: main actor-isolated instance method 'handleIntents()' cannot satisfy nonisolated requirement
185 | assertionFailure("NeverScope should never be invoked")
186 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
121 | }
122 |
123 | func own(_ disposable: some Disposable) {
| `- note: main actor-isolated instance method 'own' cannot satisfy nonisolated requirement
124 | assertionFailure("NeverScope should never be invoked")
125 | disposable.dispose()
126 | }
127 |
128 | func canOwn() -> Bool {
| `- note: main actor-isolated instance method 'canOwn()' cannot satisfy nonisolated requirement
129 | assertionFailure("NeverScope should never be invoked")
130 | return false
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'Hashable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'Hashable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
117 | }
118 |
119 | func hash(into _: inout Hasher) {
| `- note: main actor-isolated instance method 'hash(into:)' cannot satisfy nonisolated requirement
120 | assertionFailure("NeverScope should never be invoked")
121 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NeverScope.swift:10:8: warning: conformance of 'NeverScope' to protocol 'Equatable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
8 | // MARK: - NeverScope
9 |
10 | struct NeverScope: ScopeTypeInternal {
| |- warning: conformance of 'NeverScope' to protocol 'Equatable' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| |- note: mark all declarations used in the conformance 'nonisolated'
| `- note: turn data races into runtime errors with '@preconcurrency'
11 |
12 | // MARK: Lifecycle
:
103 | }
104 |
105 | static func == (_: NeverScope, _: NeverScope) -> Bool {
| `- note: main actor-isolated operator function '==' cannot satisfy nonisolated requirement
106 | assertionFailure("NeverScope should never be invoked")
107 | return false
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NodeScope.swift:106:22: warning: conformance of 'NodeScope<N>' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
104 | // MARK: BehaviorScoping
105 |
106 | extension NodeScope: BehaviorScoping {
| |- warning: conformance of 'NodeScope<N>' to protocol 'BehaviorScoping' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
107 |
108 | @TreeActor
109 | public func own(_ disposable: some Disposable) {
| `- note: main actor-isolated instance method 'own' cannot satisfy nonisolated requirement
110 | if isActive {
111 | stage.stage(disposable)
:
116 |
117 | @TreeActor
118 | public func canOwn() -> Bool {
| `- note: main actor-isolated instance method 'canOwn()' cannot satisfy nonisolated requirement
119 | isActive
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:43:22: warning: conformance of 'NodeScope<N>' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
41 | // MARK: - NodeScope + UpdatableScope
42 |
43 | extension NodeScope: UpdatableScope {
| |- warning: conformance of 'NodeScope<N>' to protocol 'UpdatableScope' crosses into main actor-isolated code and can cause data races; this is an error in the Swift 6 language mode [#ConformanceIsolation]
| |- note: isolate this conformance to the main actor with '@TreeActor'
| `- note: turn data races into runtime errors with '@preconcurrency'
44 |
45 | // MARK: Public
46 |
47 | @TreeActor public var requiresReadying: Bool {
| `- note: main actor-isolated property 'requiresReadying' cannot satisfy nonisolated requirement
48 | state.requiresReadying
49 | }
50 |
51 | @TreeActor public var requiresFinishing: Bool {
| `- note: main actor-isolated property 'requiresFinishing' cannot satisfy nonisolated requirement
52 | state.requiresFinishing
53 | }
54 |
55 | @TreeActor public var isStable: Bool {
| `- note: main actor-isolated property 'isStable' cannot satisfy nonisolated requirement
56 | state.isStable
57 | }
58 |
59 | @TreeActor
60 | public func disconnectSendingNotification() {
| `- note: main actor-isolated instance method 'disconnectSendingNotification()' cannot satisfy nonisolated requirement
61 | runtime.disconnect(scopeID: nid)
62 | didUpdateSubject.finish()
:
66 |
67 | @TreeActor
68 | func start() throws {
| `- note: main actor-isolated instance method 'start()' cannot satisfy nonisolated requirement
69 | // assert(activeRules == nil)
70 | activeRules = node.rules
:
74 |
75 | @TreeActor
76 | func didStart() {
| `- note: main actor-isolated instance method 'didStart()' cannot satisfy nonisolated requirement
77 | assert(activeRules != nil)
78 | _ = activeRules?.act(
:
83 |
84 | @TreeActor
85 | func update() throws {
| `- note: main actor-isolated instance method 'update()' cannot satisfy nonisolated requirement
86 | assert(activeRules != nil)
87 | try activeRules?.updateRule(
:
93 |
94 | @TreeActor
95 | func didUpdate() {
| `- note: main actor-isolated instance method 'didUpdate()' cannot satisfy nonisolated requirement
96 | assert(activeRules != nil)
97 | _ = activeRules?.act(
:
102 |
103 | @TreeActor
104 | func stopSubtree() throws {
| `- note: main actor-isolated instance method 'stopSubtree()' cannot satisfy nonisolated requirement
105 | assert(activeRules != nil)
106 | try activeRules?.removeRule(with: context)
:
109 |
110 | @TreeActor
111 | func willStop() {
| `- note: main actor-isolated instance method 'willStop()' cannot satisfy nonisolated requirement
112 | assert(activeRules != nil)
113 | _ = activeRules?.act(
:
118 |
119 | @TreeActor
120 | func stop() throws {
| `- note: main actor-isolated instance method 'stop()' cannot satisfy nonisolated requirement
121 | assert(activeRules != nil)
122 | activeRules = nil
:
127 |
128 | @TreeActor
129 | func handleIntents() {
| `- note: main actor-isolated instance method 'handleIntents()' cannot satisfy nonisolated requirement
130 | guard
131 | let activeIntent = runtime.activeIntent,
:
161 |
162 | @TreeActor
163 | func applyIntent(_ intent: Intent) -> IntentStepResolution {
| `- note: main actor-isolated instance method 'applyIntent' cannot satisfy nonisolated requirement
164 | let resolutions = activeRules?
165 | .act(for: .handleIntent(intent), with: context)
:
176 |
177 | @TreeActor
178 | func stepTowardsReady() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsReady()' cannot satisfy nonisolated requirement
179 | if let act = state.forward(scope: self) {
180 | return try act()
:
186 |
187 | @TreeActor
188 | func stepTowardsFinished() throws -> Bool {
| `- note: main actor-isolated instance method 'stepTowardsFinished()' cannot satisfy nonisolated requirement
189 | if let act = state.finalize(scope: self) {
190 | return try act()
:
196 |
197 | @TreeActor
198 | func markDirty(
| `- note: main actor-isolated instance method 'markDirty(pending:)' cannot satisfy nonisolated requirement
199 | pending requirement: ExternalRequirement
200 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:132:33: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
130 | guard
131 | let activeIntent = runtime.activeIntent,
132 | let intent = activeIntent.intent,
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
133 | nid == activeIntent.lastConsumerID || ancestors.contains(activeIntent.lastConsumerID)
134 | else {
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:133:27: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
131 | let activeIntent = runtime.activeIntent,
132 | let intent = activeIntent.intent,
133 | nid == activeIntent.lastConsumerID || ancestors.contains(activeIntent.lastConsumerID)
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
134 | else {
135 | return
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/UpdatableScope.swift:133:77: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
131 | let activeIntent = runtime.activeIntent,
132 | let intent = activeIntent.intent,
133 | nid == activeIntent.lastConsumerID || ancestors.contains(activeIntent.lastConsumerID)
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
134 | else {
135 | return
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/StateTreeInfo.swift:70:27: warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
68 | /// remains pending until it finishes or is replaced.
69 | @TreeActor public var pendingIntent: Intent? {
70 | runtime.activeIntent?.intent
| `- warning: type 'NodeID' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
71 | }
72 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/NodeID.swift:11:15: note: consider making struct 'NodeID' conform to the 'Sendable' protocol
9 | ///
10 | /// String serialised `NodeIDs` are formatted as `<UUID>`
11 | public struct NodeID: TreeState, LosslessStringConvertible, Comparable {
| `- note: consider making struct 'NodeID' conform to the 'Sendable' protocol
12 |
13 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:144:9: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
142 | // MARK: Internal
143 |
144 | let result: Async.Value<Result<TreeStateRecord, TreeError>>
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
145 |
146 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:371:12: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
369 | case inactive
370 | case created(runtime: Runtime)
371 | case started(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
372 | runtime: Runtime,
373 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:387:36: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
385 |
386 | private let sessionSubject = ValueSubject<Session, Never>(.inactive)
387 | private let onceSessionSubject = ValueSubject<(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
388 | runtime: Runtime,
389 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:387:15: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
385 |
386 | private let sessionSubject = ValueSubject<Session, Never>(.inactive)
387 | private let onceSessionSubject = ValueSubject<(
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
388 | runtime: Runtime,
389 | root: NodeScope<N>,
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:72:26: warning: capture of non-sendable type 'N.Type' in an isolated closure; this is an error in the Swift 6 language mode
70 | sessionSubject
71 | .compactMap { session in
72 | switch session.state {
| `- warning: capture of non-sendable type 'N.Type' in an isolated closure; this is an error in the Swift 6 language mode
73 | case .created(let runtime): return runtime
74 | case .started(let runtime, _, _): return runtime
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:20: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:13: warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:139:20: warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
137 |
138 | public func result() async -> Result<TreeStateRecord, TreeError> {
139 | await result.value
| `- warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:232:48: warning: type 'NodeScope<N>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
230 | get async {
231 | while true {
232 | if let vals = await onceSessionSubject.compact().firstValue {
| `- warning: type 'NodeScope<N>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
233 | return Once(runtime: vals.runtime, root: vals.root, result: vals.result)
234 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Scope/NodeScope.swift:13:20: note: generic class 'NodeScope' does not conform to the 'Sendable' protocol
11 |
12 | @_spi(Implementation)
13 | public final class NodeScope<N: Node>: Equatable {
| `- note: generic class 'NodeScope' does not conform to the 'Sendable' protocol
14 |
15 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:232:48: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
230 | get async {
231 | while true {
232 | if let vals = await onceSessionSubject.compact().firstValue {
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
233 | return Once(runtime: vals.runtime, root: vals.root, result: vals.result)
234 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:19: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:65: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:11: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:322:9: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
320 | let currentState = sessionSubject.value.state
321 | let runtime: Runtime
322 | let asyncResult: Async.Value<Result<TreeStateRecord, TreeError>>?
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
323 | switch currentState {
324 | case .inactive: throw TreeError(.inactive)
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:15:7: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
13 | }
14 |
15 | let asyncValue: Async.Value<Result<TreeStateRecord, TreeError>>
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:22: warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: type 'TreeStateRecord' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:11: warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: non-sendable type 'Async.Value<Result<TreeStateRecord, TreeError>>' cannot be sent into actor-isolated context in call to property 'value'; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/TreeHandle.swift:18:22: warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
16 | let stopFunc: () throws -> Result<TreeStateRecord, TreeError>
17 | public func onFinish() async -> Result<TreeStateRecord, TreeError> {
18 | await asyncValue.value
| `- warning: non-sendable type 'Result<TreeStateRecord, TreeError>' of property 'value' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/Foundation/State/TreeStateRecord.swift:8:15: note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
6 |
7 | /// The full StateTree state at a moment in time.
8 | public struct TreeStateRecord: TreeState {
| `- note: consider making struct 'TreeStateRecord' conform to the 'Sendable' protocol
9 |
10 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:337:12: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
335 | let result: Result<TreeStateRecord, TreeError> = .success(snapshot)
336 | if let asyncResult {
337 | Task.detached {
| `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
338 | await asyncResult.resolve(to: result)
| |- note: closure captures non-Sendable 'asyncResult'
| `- note: closure captures non-Sendable 'result'
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:293:65: warning: non-Sendable 'Async.Value<Result<TreeStateRecord, TreeError>>'-typed result can not be returned from actor-isolated initializer 'init()' to main actor-isolated context; this is an error in the Swift 6 language mode
291 | initialState: state
292 | )
293 | let async = Async.Value<Result<TreeStateRecord, TreeError>>()
| `- warning: non-Sendable 'Async.Value<Result<TreeStateRecord, TreeError>>'-typed result can not be returned from actor-isolated initializer 'init()' to main actor-isolated context; this is an error in the Swift 6 language mode
294 | sessionSubject.value.state = .started(runtime: runtime, root: rootScope, result: async)
295 | onceSessionSubject.value = (runtime: runtime, root: rootScope, result: async)
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/AsyncValue.swift:6:16: note: generic actor 'Value' does not conform to the 'Sendable' protocol
4 |
5 | /// A value `T` which will eventually be resolved for access.
6 | public actor Value<T: Sendable>: Equatable {
| `- note: generic actor 'Value' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: sending task-isolated 'result' to actor-isolated instance method 'resolve(to:)' risks causing data races between actor-isolated and task-isolated uses
339 | }
340 | }
/Users/admin/builder/spi-builder-workspace/Sources/StateTree/System/Tree/Tree.swift:338:27: warning: sending 'asyncResult' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
336 | if let asyncResult {
337 | Task.detached {
338 | await asyncResult.resolve(to: result)
| |- warning: sending 'asyncResult' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: sending task-isolated 'asyncResult' to actor-isolated instance method 'resolve(to:)' risks causing data races between actor-isolated and task-isolated uses
339 | }
340 | }
[#ConformanceIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/conformance-isolation>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
Fetching https://github.com/GoodHatsLLC/swift-collections-v1_1-fork.git
Fetching https://github.com/GoodHatsLLC/Disposable.git
Fetching https://github.com/GoodHatsLLC/Emitter.git
[1/926] Fetching emitter
[187/1200] Fetching emitter, disposable
[393/10099] Fetching emitter, disposable, swift-collections-v1_1-fork
Fetched https://github.com/GoodHatsLLC/swift-collections-v1_1-fork.git from cache (1.49s)
Fetched https://github.com/GoodHatsLLC/Disposable.git from cache (1.49s)
Fetched https://github.com/GoodHatsLLC/Emitter.git from cache (1.49s)
Computing version for https://github.com/GoodHatsLLC/swift-collections-v1_1-fork.git
Computed https://github.com/GoodHatsLLC/swift-collections-v1_1-fork.git at 1.1.0 (2.13s)
Computing version for https://github.com/GoodHatsLLC/Emitter.git
Computed https://github.com/GoodHatsLLC/Emitter.git at 1.0.0 (0.41s)
Computing version for https://github.com/GoodHatsLLC/Disposable.git
Computed https://github.com/GoodHatsLLC/Disposable.git at 1.0.0 (0.41s)
Creating working copy for https://github.com/GoodHatsLLC/swift-collections-v1_1-fork.git
Working copy of https://github.com/GoodHatsLLC/swift-collections-v1_1-fork.git resolved at 1.1.0
Creating working copy for https://github.com/GoodHatsLLC/Emitter.git
Working copy of https://github.com/GoodHatsLLC/Emitter.git resolved at 1.0.0
Creating working copy for https://github.com/GoodHatsLLC/Disposable.git
Working copy of https://github.com/GoodHatsLLC/Disposable.git resolved at 1.0.0
BUILD FAILURE 6.2 macosSpm