The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of Trellis, reference v0.4.2-beta (cb3a67), with Swift 6.0 for Linux on 2 Nov 2024 08:26:22 UTC.

Swift 6 data race errors: 19

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/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: v0.4.2-beta
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
 * tag               v0.4.2-beta -> FETCH_HEAD
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 v0.4.2-beta
========================================
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-1":/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.23s)
Computing version for https://github.com/wickwirew/Runtime.git
Computed https://github.com/wickwirew/Runtime.git at 2.2.7 (0.49s)
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
[3/4] Write swift-version-24593BA9C3E375BF.txt
[5/45] Emitting module Runtime
[6/50] Compiling Runtime MetadataType.swift
[7/50] Compiling Runtime NominalMetadataType.swift
[8/50] Compiling Runtime ProtocolMetadata.swift
[9/50] Compiling Runtime StructMetadata.swift
[10/50] Compiling Runtime TupleMetadata.swift
[11/50] Compiling Runtime Case.swift
[12/50] Compiling Runtime TypeDescriptor.swift
[13/50] Compiling Runtime ValueWitnessTable.swift
[14/50] Compiling Runtime ClassMetadata.swift
[15/50] Compiling Runtime EnumMetadata.swift
[16/50] Compiling Runtime FuntionMetadata.swift
[17/50] Compiling Runtime Metadata.swift
[18/50] Compiling Runtime Vector.swift
[19/50] Compiling Runtime GettersSetters.swift
[20/50] Compiling Runtime Pointer+Extensions.swift
[21/50] Compiling Runtime RetainCounts.swift
[22/50] Compiling Runtime String+Extensions.swift
[23/50] Compiling Runtime TypeInfoConvertible.swift
[24/50] Compiling Runtime Pointers.swift
[25/50] Compiling Runtime RelativePointer.swift
[26/50] Compiling Runtime RelativeVectorPointer.swift
[27/50] Compiling Runtime Union.swift
[28/50] Compiling Runtime ProtocolMetadataLayout.swift
[29/50] Compiling Runtime ProtocolTypeContainer.swift
[30/50] Compiling Runtime StructMetadataLayout.swift
[31/50] Compiling Runtime StructTypeDescriptor.swift
[32/50] Compiling Runtime TargetTypeGenericContextDescriptorHeader.swift
[33/50] Compiling Runtime TupleMetadataLayout.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 Errors.swift
[41/50] Compiling Runtime FunctionInfo.swift
[42/50] Compiling Runtime Kind.swift
[43/50] Compiling Runtime PropertyInfo.swift
[44/50] Compiling Runtime TypeInfo.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.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 |         }
[53/63] 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 |                     }
[54/63] 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 |                     }
[55/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
[56/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
[57/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
[58/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
[59/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
[60/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 |
[61/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
[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.76s)
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.