Build Information
Successful build of Trellis, reference main (cb3a67
), with Swift 6.0 for Linux on 2 Nov 2024 08:32:08 UTC.
Swift 6 data race errors: 19
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/valentinradu/Trellis.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/valentinradu/Trellis
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at cb3a675 Bootstrap is a main actor now
Cloned https://github.com/valentinradu/Trellis.git
Revision (git rev-parse @):
cb3a67537a39565c623efb891b451c82f8390298
SUCCESS checkout https://github.com/valentinradu/Trellis.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $PWD
https://github.com/valentinradu/Trellis.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/wickwirew/Runtime.git
[1/1966] Fetching runtime
Fetched https://github.com/wickwirew/Runtime.git from cache (0.27s)
Computing version for https://github.com/wickwirew/Runtime.git
Computed https://github.com/wickwirew/Runtime.git at 2.2.7 (0.50s)
Creating working copy for https://github.com/wickwirew/Runtime.git
Working copy of https://github.com/wickwirew/Runtime.git resolved at 2.2.7
Building for debugging...
[0/4] Write sources
[2/4] Compiling CRuntime dummy.c
[2/4] Write swift-version-24593BA9C3E375BF.txt
[5/45] Emitting module Runtime
[6/50] Compiling Runtime TypeDescriptor.swift
[7/50] Compiling Runtime ValueWitnessTable.swift
[8/50] Compiling Runtime ClassMetadata.swift
[9/50] Compiling Runtime EnumMetadata.swift
[10/50] Compiling Runtime FuntionMetadata.swift
[11/50] Compiling Runtime Metadata.swift
[12/50] Compiling Runtime Vector.swift
[13/50] Compiling Runtime GettersSetters.swift
[14/50] Compiling Runtime Pointer+Extensions.swift
[15/50] Compiling Runtime RetainCounts.swift
[16/50] Compiling Runtime String+Extensions.swift
[17/50] Compiling Runtime ProtocolMetadataLayout.swift
[18/50] Compiling Runtime ProtocolTypeContainer.swift
[19/50] Compiling Runtime StructMetadataLayout.swift
[20/50] Compiling Runtime StructTypeDescriptor.swift
[21/50] Compiling Runtime TargetTypeGenericContextDescriptorHeader.swift
[22/50] Compiling Runtime TupleMetadataLayout.swift
[23/50] Compiling Runtime MetadataType.swift
[24/50] Compiling Runtime NominalMetadataType.swift
[25/50] Compiling Runtime ProtocolMetadata.swift
[26/50] Compiling Runtime StructMetadata.swift
[27/50] Compiling Runtime TupleMetadata.swift
[28/50] Compiling Runtime Case.swift
[29/50] Compiling Runtime Errors.swift
[30/50] Compiling Runtime FunctionInfo.swift
[31/50] Compiling Runtime Kind.swift
[32/50] Compiling Runtime PropertyInfo.swift
[33/50] Compiling Runtime TypeInfo.swift
[34/50] Compiling Runtime EnumTypeDescriptor.swift
[35/50] Compiling Runtime ExistentialContainter.swift
[36/50] Compiling Runtime FieldDescriptor.swift
[37/50] Compiling Runtime FunctionMetadataLayout.swift
[38/50] Compiling Runtime MetadataLayoutType.swift
[39/50] Compiling Runtime ProtocolDescriptor.swift
[40/50] Compiling Runtime TypeInfoConvertible.swift
[41/50] Compiling Runtime Pointers.swift
[42/50] Compiling Runtime RelativePointer.swift
[43/50] Compiling Runtime RelativeVectorPointer.swift
[44/50] Compiling Runtime Union.swift
[45/50] Compiling Runtime DefaultValue.swift
[46/50] Compiling Runtime Factory.swift
[47/50] Compiling Runtime ClassHeader.swift
[48/50] Compiling Runtime ClassMetadataLayout.swift
[49/50] Compiling Runtime ClassTypeDescriptor.swift
[50/50] Compiling Runtime EnumMetadataLayout.swift
[52/62] Compiling Trellis Service+Bootstrap.swift
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Service+Emitter.swift:33:33: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
31 | _items
32 | .bootstrap {
33 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
34 | for await action in _stream {
| `- note: closure captures 'self' which is accessible to code in the current task
35 | try await _send(action)
36 | }
[53/62] Compiling Trellis Service+Emitter.swift
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Service+Emitter.swift:33:33: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
31 | _items
32 | .bootstrap {
33 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
34 | for await action in _stream {
| `- note: closure captures 'self' which is accessible to code in the current task
35 | try await _send(action)
36 | }
[54/63] Compiling Trellis Service.swift
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:16:16: warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | public struct EnvironmentValues {
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
| |- warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'all' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | private var _values: [ObjectIdentifier: Any] = [:]
/host/spi-builder-workspace/Sources/Trellis/Service.swift:96:28: warning: sending 'environment' risks causing data races; this is an error in the Swift 6 language mode
94 |
95 | if Body.self != Never.self {
96 | try await body.inject(environment: environment,
| |- warning: sending 'environment' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'environment' to main actor-isolated instance method 'inject(environment:from:)' risks causing data races between main actor-isolated and task-isolated uses
97 | from: id)
98 | }
/host/spi-builder-workspace/Sources/Trellis/Service.swift:96:28: warning: sending 'id' risks causing data races; this is an error in the Swift 6 language mode
94 |
95 | if Body.self != Never.self {
96 | try await body.inject(environment: environment,
| |- warning: sending 'id' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'id' to main actor-isolated instance method 'inject(environment:from:)' risks causing data races between main actor-isolated and task-isolated uses
97 | from: id)
98 | }
/host/spi-builder-workspace/Sources/Trellis/Service.swift:96:28: warning: sending task-isolated value of type 'Self.Body' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
94 |
95 | if Body.self != Never.self {
96 | try await body.inject(environment: environment,
| `- warning: sending task-isolated value of type 'Self.Body' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
97 | from: id)
98 | }
[55/63] Compiling Trellis Service+Middleware.swift
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
[56/63] Compiling Trellis Service+Environment.swift
/host/spi-builder-workspace/Sources/Trellis/Service+Environment.swift:18:23: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | private struct ConcurrencyStrategyKey: EnvironmentKey {
18 | public static var defaultValue: ConcurrencyStrategy = .concurrent
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | }
20 |
/host/spi-builder-workspace/Sources/Trellis/Service+Environment.swift:27:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | private struct FailureStrategyKey: EnvironmentKey {
27 | static var defaultValue: FailureStrategy = .fail
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 | }
29 |
/host/spi-builder-workspace/Sources/Trellis/Service+Environment.swift:31:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
29 |
30 | private struct IdKey: EnvironmentKey {
31 | static var defaultValue = AnyHashable(0)
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 | }
33 |
[57/63] Compiling Trellis Bootstrap.swift
/host/spi-builder-workspace/Sources/Trellis/Bootstrap.swift:13:23: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | private struct SendKey: EnvironmentKey {
13 | public static var defaultValue: Send = { _ in }
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | }
15 |
/host/spi-builder-workspace/Sources/Trellis/Bootstrap.swift:42:19: warning: non-sendable type 'I' in implicitly asynchronous access to main actor-isolated property '_items' cannot cross actor boundary; this is an error in the Swift 6 language mode
22 |
23 | @MainActor
24 | public class Bootstrap<I>
| `- note: consider making generic parameter 'I' conform to the 'Sendable' protocol
25 | where I: Service
26 | {
:
40 |
41 | public nonisolated func send(action: any Action) async throws {
42 | try await _items.send(action: action,
| `- warning: non-sendable type 'I' in implicitly asynchronous access to main actor-isolated property '_items' cannot cross actor boundary; this is an error in the Swift 6 language mode
43 | from: rootHashValue)
44 | }
/host/spi-builder-workspace/Sources/Trellis/Bootstrap.swift:43:37: warning: non-sendable type 'AnyHashable' in implicitly asynchronous access to main actor-isolated property 'rootHashValue' cannot cross actor boundary; this is an error in the Swift 6 language mode
41 | public nonisolated func send(action: any Action) async throws {
42 | try await _items.send(action: action,
43 | from: rootHashValue)
| `- warning: non-sendable type 'AnyHashable' in implicitly asynchronous access to main actor-isolated property 'rootHashValue' cannot cross actor boundary; this is an error in the Swift 6 language mode
44 | }
45 | }
Swift.AnyHashable:1:23: note: struct 'AnyHashable' does not conform to the 'Sendable' protocol
1 | @frozen public struct AnyHashable {
| `- note: struct 'AnyHashable' does not conform to the 'Sendable' protocol
2 | public init<H>(_ base: H) where H : Hashable
3 | public var base: Any { get }
/host/spi-builder-workspace/Sources/Trellis/Bootstrap.swift:33:23: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
31 | var environment = EnvironmentValues()
32 | environment.send = { [unowned self] in
33 | try await send(action: $0)
| |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated '$0' to nonisolated instance method 'send(action:)' risks causing data races between nonisolated and main actor-isolated uses
34 | }
35 | try await _items
[58/63] Compiling Trellis Builder.swift
/host/spi-builder-workspace/Sources/Trellis/Bootstrap.swift:13:23: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | private struct SendKey: EnvironmentKey {
13 | public static var defaultValue: Send = { _ in }
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | }
15 |
/host/spi-builder-workspace/Sources/Trellis/Bootstrap.swift:42:19: warning: non-sendable type 'I' in implicitly asynchronous access to main actor-isolated property '_items' cannot cross actor boundary; this is an error in the Swift 6 language mode
22 |
23 | @MainActor
24 | public class Bootstrap<I>
| `- note: consider making generic parameter 'I' conform to the 'Sendable' protocol
25 | where I: Service
26 | {
:
40 |
41 | public nonisolated func send(action: any Action) async throws {
42 | try await _items.send(action: action,
| `- warning: non-sendable type 'I' in implicitly asynchronous access to main actor-isolated property '_items' cannot cross actor boundary; this is an error in the Swift 6 language mode
43 | from: rootHashValue)
44 | }
/host/spi-builder-workspace/Sources/Trellis/Bootstrap.swift:43:37: warning: non-sendable type 'AnyHashable' in implicitly asynchronous access to main actor-isolated property 'rootHashValue' cannot cross actor boundary; this is an error in the Swift 6 language mode
41 | public nonisolated func send(action: any Action) async throws {
42 | try await _items.send(action: action,
43 | from: rootHashValue)
| `- warning: non-sendable type 'AnyHashable' in implicitly asynchronous access to main actor-isolated property 'rootHashValue' cannot cross actor boundary; this is an error in the Swift 6 language mode
44 | }
45 | }
Swift.AnyHashable:1:23: note: struct 'AnyHashable' does not conform to the 'Sendable' protocol
1 | @frozen public struct AnyHashable {
| `- note: struct 'AnyHashable' does not conform to the 'Sendable' protocol
2 | public init<H>(_ base: H) where H : Hashable
3 | public var base: Any { get }
/host/spi-builder-workspace/Sources/Trellis/Bootstrap.swift:33:23: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
31 | var environment = EnvironmentValues()
32 | environment.send = { [unowned self] in
33 | try await send(action: $0)
| |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated '$0' to nonisolated instance method 'send(action:)' risks causing data races between nonisolated and main actor-isolated uses
34 | }
35 | try await _items
[59/63] Emitting module Trellis
/host/spi-builder-workspace/Sources/Trellis/Bootstrap.swift:13:23: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | private struct SendKey: EnvironmentKey {
13 | public static var defaultValue: Send = { _ in }
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | }
15 |
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:16:16: warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | public struct EnvironmentValues {
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
| |- warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'all' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | private var _values: [ObjectIdentifier: Any] = [:]
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:51:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | private struct EnvironmentObjectKey: EnvironmentKey {
51 | static var defaultValue: EnvironmentObjects = [:]
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | }
53 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Service+Environment.swift:18:23: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | private struct ConcurrencyStrategyKey: EnvironmentKey {
18 | public static var defaultValue: ConcurrencyStrategy = .concurrent
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | }
20 |
/host/spi-builder-workspace/Sources/Trellis/Service+Environment.swift:27:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | private struct FailureStrategyKey: EnvironmentKey {
27 | static var defaultValue: FailureStrategy = .fail
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 | }
29 |
/host/spi-builder-workspace/Sources/Trellis/Service+Environment.swift:31:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
29 |
30 | private struct IdKey: EnvironmentKey {
31 | static var defaultValue = AnyHashable(0)
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 | }
33 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Store.swift:11:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | private struct ModelKey: EnvironmentKey {
11 | static var defaultValue: Any? = nil
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
[60/63] Compiling Trellis Environment.swift
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:16:16: warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | public struct EnvironmentValues {
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
| |- warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'all' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | private var _values: [ObjectIdentifier: Any] = [:]
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:51:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | private struct EnvironmentObjectKey: EnvironmentKey {
51 | static var defaultValue: EnvironmentObjects = [:]
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | }
53 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
[61/63] Compiling Trellis Group.swift
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:16:16: warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | public struct EnvironmentValues {
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
| |- warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'all' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | private var _values: [ObjectIdentifier: Any] = [:]
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:51:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | private struct EnvironmentObjectKey: EnvironmentKey {
51 | static var defaultValue: EnvironmentObjects = [:]
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | }
53 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
[62/63] Compiling Trellis Service+Tuple.swift
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:16:16: warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | public struct EnvironmentValues {
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
| |- warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'all' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | private var _values: [ObjectIdentifier: Any] = [:]
/host/spi-builder-workspace/Sources/Trellis/Service+Tuple.swift:148:39: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
146 | try await withThrowingTaskGroup(of: Void.self) { [_children] group in
147 | for child in _children {
148 | group.addTask {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
149 | try await child.send(action: action,
| | `- note: closure captures non-Sendable 'action'
| `- note: closure captures non-Sendable 'child'
150 | from: id)
| `- note: closure captures non-Sendable 'id'
151 | }
152 | }
/host/spi-builder-workspace/Sources/Trellis/Service+Tuple.swift:159:39: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
157 | await withThrowingTaskGroup(of: Void.self) { [_children] group in
158 | for child in _children {
159 | group.addTask {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
160 | try await child.send(action: action,
| | `- note: closure captures non-Sendable 'action'
| `- note: closure captures non-Sendable 'child'
161 | from: id)
| `- note: closure captures non-Sendable 'id'
162 | }
163 | }
/host/spi-builder-workspace/Sources/Trellis/Service+Tuple.swift:167:43: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
165 | while let result = await group.nextResult() {
166 | if case let .failure(error) = result {
167 | group.addTask {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
168 | try await _send(handler(error))
| `- note: closure captures 'handler' which is accessible to code in the current task
169 | }
170 | }
[63/63] Compiling Trellis Store.swift
/host/spi-builder-workspace/Sources/Trellis/Store.swift:11:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | private struct ModelKey: EnvironmentKey {
11 | static var defaultValue: Any? = nil
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| `- warning: non-sendable type 'EnvironmentValues' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:15:15: note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
13 | }
14 |
15 | public struct EnvironmentValues {
| `- note: consider making struct 'EnvironmentValues' conform to the 'Sendable' protocol
16 | static var all: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:84:10: warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
82 | func receive(action _: any Action) async throws {}
83 |
84 | func inject<ID>(environment: EnvironmentValues,
| | `- note: consider making generic parameter 'ID' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'ID' in parameter of the protocol requirement satisfied by nonisolated instance method 'inject(environment:from:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | from parentId: ID) async throws
86 | where ID: Identity
Build complete! (13.90s)
Build complete.
{
"dependencies" : [
{
"identity" : "runtime",
"requirement" : {
"range" : [
{
"lower_bound" : "2.2.4",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/wickwirew/Runtime.git"
}
],
"manifest_display_name" : "Trellis",
"name" : "Trellis",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "14.0"
},
{
"name" : "maccatalyst",
"version" : "14.0"
},
{
"name" : "watchos",
"version" : "7.0"
},
{
"name" : "driverkit",
"version" : "20.0"
}
],
"products" : [
{
"name" : "Trellis",
"targets" : [
"Trellis"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TrellisTests",
"module_type" : "SwiftTarget",
"name" : "TrellisTests",
"path" : "Tests/TrellisTests",
"sources" : [
"Fixtures.swift",
"ServiceTests.swift"
],
"target_dependencies" : [
"Trellis"
],
"type" : "test"
},
{
"c99name" : "Trellis",
"module_type" : "SwiftTarget",
"name" : "Trellis",
"path" : "Sources/Trellis",
"product_dependencies" : [
"Runtime"
],
"product_memberships" : [
"Trellis"
],
"sources" : [
"Bootstrap.swift",
"Builder.swift",
"Environment.swift",
"Group.swift",
"Service+Bootstrap.swift",
"Service+Emitter.swift",
"Service+Environment.swift",
"Service+Middleware.swift",
"Service+Tuple.swift",
"Service.swift",
"Store.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.