Build Information
Successful build of Trellis, reference v0.2.1 (17d110
), with Swift 6.0 for Linux on 2 Nov 2024 08:31:56 UTC.
Swift 6 data race errors: 13
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-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: v0.2.1
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/valentinradu/Trellis
* tag v0.2.1 -> FETCH_HEAD
HEAD is now at 17d1104 Updated README.md
Cloned https://github.com/valentinradu/Trellis.git
Revision (git rev-parse @):
17d11044b66b2f6b9bf8036e00e26388f39c027d
SUCCESS checkout https://github.com/valentinradu/Trellis.git at v0.2.1
========================================
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-4609320-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.24s)
Computing version for https://github.com/wickwirew/Runtime.git
Computed https://github.com/wickwirew/Runtime.git at 2.2.7 (0.42s)
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] Compiling Runtime MetadataType.swift
[6/45] Compiling Runtime NominalMetadataType.swift
[7/45] Compiling Runtime ProtocolMetadata.swift
[8/45] Compiling Runtime StructMetadata.swift
[9/45] Compiling Runtime TupleMetadata.swift
[10/45] Compiling Runtime Case.swift
[11/50] Compiling Runtime ProtocolMetadataLayout.swift
[12/50] Compiling Runtime ProtocolTypeContainer.swift
[13/50] Compiling Runtime StructMetadataLayout.swift
[14/50] Compiling Runtime StructTypeDescriptor.swift
[15/50] Compiling Runtime TargetTypeGenericContextDescriptorHeader.swift
[16/50] Compiling Runtime TupleMetadataLayout.swift
[17/50] Compiling Runtime Errors.swift
[18/50] Compiling Runtime FunctionInfo.swift
[19/50] Compiling Runtime Kind.swift
[20/50] Compiling Runtime PropertyInfo.swift
[21/50] Compiling Runtime TypeInfo.swift
[22/50] Compiling Runtime TypeInfoConvertible.swift
[23/50] Compiling Runtime Pointers.swift
[24/50] Compiling Runtime RelativePointer.swift
[25/50] Compiling Runtime RelativeVectorPointer.swift
[26/50] Compiling Runtime Union.swift
[27/50] Compiling Runtime TypeDescriptor.swift
[28/50] Compiling Runtime ValueWitnessTable.swift
[29/50] Compiling Runtime ClassMetadata.swift
[30/50] Compiling Runtime EnumMetadata.swift
[31/50] Compiling Runtime FuntionMetadata.swift
[32/50] Compiling Runtime Metadata.swift
[33/50] Compiling Runtime EnumTypeDescriptor.swift
[34/50] Compiling Runtime ExistentialContainter.swift
[35/50] Compiling Runtime FieldDescriptor.swift
[36/50] Compiling Runtime FunctionMetadataLayout.swift
[37/50] Compiling Runtime MetadataLayoutType.swift
[38/50] Compiling Runtime ProtocolDescriptor.swift
[39/50] Compiling Runtime Vector.swift
[40/50] Compiling Runtime GettersSetters.swift
[41/50] Compiling Runtime Pointer+Extensions.swift
[42/50] Compiling Runtime RetainCounts.swift
[43/50] Compiling Runtime String+Extensions.swift
[44/50] Emitting module Runtime
[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/60] Compiling Trellis Service+Builder.swift
[53/61] 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 DispatchKey: EnvironmentKey {
13 | public static var defaultValue: Dispatch = { _ 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/Service.swift:63: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
61 | }
62 |
63 | func inject(environment: EnvironmentValues, from parentId: Int) async throws {
| `- 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
64 | var environment = environment
65 | environment.id = parentId
/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 environments: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Bootstrap.swift:33:14: warning: sending 'environment' risks causing data races; this is an error in the Swift 6 language mode
31 | environment.dispatch = send
32 | try await _items
33 | .inject(environment: environment,
| |- warning: sending 'environment' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'environment' to main actor-isolated instance method 'inject(environment:from:)' risks causing data races between main actor-isolated and local nonisolated uses
34 | from: rootHashValue)
35 | }
| `- note: access can happen concurrently
36 |
37 | public func send(action: any Action) async throws {
/host/spi-builder-workspace/Sources/Trellis/Bootstrap.swift:33:14: warning: sending 'self._items' risks causing data races; this is an error in the Swift 6 language mode
31 | environment.dispatch = send
32 | try await _items
33 | .inject(environment: environment,
| |- warning: sending 'self._items' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self._items' to main actor-isolated instance method 'inject(environment:from:)' risks causing data races between main actor-isolated and local nonisolated uses
34 | from: rootHashValue)
35 | }
| `- note: access can happen concurrently
36 |
37 | public func send(action: any Action) async throws {
/host/spi-builder-workspace/Sources/Trellis/Emitter.swift:36: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
34 | _items
35 | .bootstrap {
36 | 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
37 | for await action in _stream {
| `- note: closure captures 'self' which is accessible to code in the current task
38 | try await send(action: action,
39 | from: _id)
[54/61] Compiling Trellis Emitter.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 DispatchKey: EnvironmentKey {
13 | public static var defaultValue: Dispatch = { _ 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/Service.swift:63: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
61 | }
62 |
63 | func inject(environment: EnvironmentValues, from parentId: Int) async throws {
| `- 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
64 | var environment = environment
65 | environment.id = parentId
/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 environments: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Bootstrap.swift:33:14: warning: sending 'environment' risks causing data races; this is an error in the Swift 6 language mode
31 | environment.dispatch = send
32 | try await _items
33 | .inject(environment: environment,
| |- warning: sending 'environment' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'environment' to main actor-isolated instance method 'inject(environment:from:)' risks causing data races between main actor-isolated and local nonisolated uses
34 | from: rootHashValue)
35 | }
| `- note: access can happen concurrently
36 |
37 | public func send(action: any Action) async throws {
/host/spi-builder-workspace/Sources/Trellis/Bootstrap.swift:33:14: warning: sending 'self._items' risks causing data races; this is an error in the Swift 6 language mode
31 | environment.dispatch = send
32 | try await _items
33 | .inject(environment: environment,
| |- warning: sending 'self._items' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self._items' to main actor-isolated instance method 'inject(environment:from:)' risks causing data races between main actor-isolated and local nonisolated uses
34 | from: rootHashValue)
35 | }
| `- note: access can happen concurrently
36 |
37 | public func send(action: any Action) async throws {
/host/spi-builder-workspace/Sources/Trellis/Emitter.swift:36: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
34 | _items
35 | .bootstrap {
36 | 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
37 | for await action in _stream {
| `- note: closure captures 'self' which is accessible to code in the current task
38 | try await send(action: action,
39 | from: _id)
[55/61] Compiling Trellis Group.swift
/host/spi-builder-workspace/Sources/Trellis/Service.swift:63: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
61 | }
62 |
63 | func inject(environment: EnvironmentValues, from parentId: Int) async throws {
| `- 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
64 | var environment = environment
65 | environment.id = parentId
/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 environments: [AnyHashable: EnvironmentValues] = [:]
17 |
[56/61] Compiling Trellis Environment.swift
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:16:16: warning: static property 'environments' 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 environments: [AnyHashable: EnvironmentValues] = [:]
| |- warning: static property 'environments' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'environments' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'environments' 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] = [:]
[57/61] 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 DispatchKey: EnvironmentKey {
13 | public static var defaultValue: Dispatch = { _ 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/Service.swift:63: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
61 | }
62 |
63 | func inject(environment: EnvironmentValues, from parentId: Int) async throws {
| `- 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
64 | var environment = environment
65 | environment.id = parentId
/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 environments: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:16:16: warning: static property 'environments' 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 environments: [AnyHashable: EnvironmentValues] = [:]
| |- warning: static property 'environments' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'environments' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'environments' 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:63: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
61 | }
62 |
63 | func inject(environment: EnvironmentValues, from parentId: Int) async throws {
| `- 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
64 | var environment = environment
65 | environment.id = parentId
/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 environments: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Reducer.swift:27:33: warning: generic parameter 'C' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
24 | public struct EmptyReducerState {}
25 |
26 | public struct Reducer<S, C, A>: Service where A: Action {
| `- note: 'C' previously declared here
27 | public typealias SideEffect<C> = (Dispatch, C) async throws -> Void
| `- warning: generic parameter 'C' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
28 | public typealias Reduce = (inout S, A) -> SideEffect<C>?
29 | private let _store: Store<S>
/host/spi-builder-workspace/Sources/Trellis/Service.swift:63: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
61 | }
62 |
63 | func inject(environment: EnvironmentValues, from parentId: Int) async throws {
| `- 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
64 | var environment = environment
65 | environment.id = parentId
/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 environments: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Reducer.swift:123: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
121 |
122 | private struct StateWatchersKey: EnvironmentKey {
123 | static var defaultValue: [ObjectIdentifier: AnyStateWatcher] = [:]
| |- 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
124 | }
125 |
/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:33: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
31 |
32 | private struct BootstrapKey: EnvironmentKey {
33 | static var defaultValue: BootstrapHandler? = 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
34 | }
35 |
/host/spi-builder-workspace/Sources/Trellis/Service+Environment.swift:37: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
35 |
36 | private struct IdKey: EnvironmentKey {
37 | static var defaultValue: Int = 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
38 | }
39 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:63: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
61 | }
62 |
63 | func inject(environment: EnvironmentValues, from parentId: Int) async throws {
| `- 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
64 | var environment = environment
65 | environment.id = parentId
/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 environments: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:63: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
61 | }
62 |
63 | func inject(environment: EnvironmentValues, from parentId: Int) async throws {
| `- 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
64 | var environment = environment
65 | environment.id = parentId
/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 environments: [AnyHashable: EnvironmentValues] = [:]
17 |
[58/61] Compiling Trellis Reducer.swift
/host/spi-builder-workspace/Sources/Trellis/Reducer.swift:27:33: warning: generic parameter 'C' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
24 | public struct EmptyReducerState {}
25 |
26 | public struct Reducer<S, C, A>: Service where A: Action {
| `- note: 'C' previously declared here
27 | public typealias SideEffect<C> = (Dispatch, C) async throws -> Void
| `- warning: generic parameter 'C' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
28 | public typealias Reduce = (inout S, A) -> SideEffect<C>?
29 | private let _store: Store<S>
/host/spi-builder-workspace/Sources/Trellis/Service.swift:63: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
61 | }
62 |
63 | func inject(environment: EnvironmentValues, from parentId: Int) async throws {
| `- 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
64 | var environment = environment
65 | environment.id = parentId
/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 environments: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Reducer.swift:123: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
121 |
122 | private struct StateWatchersKey: EnvironmentKey {
123 | static var defaultValue: [ObjectIdentifier: AnyStateWatcher] = [:]
| |- 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
124 | }
125 |
/host/spi-builder-workspace/Sources/Trellis/Reducer.swift:83:39: warning: non-sendable type '(((any Action) async throws -> Void, C) async throws -> Void)?' returned by call to main actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
81 |
82 | private func storeUpdate(action: A) async throws -> SideEffect<C>? {
83 | let sideEffect = await _store.update {
| |- warning: non-sendable type '(((any Action) async throws -> Void, C) async throws -> Void)?' returned by call to main actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
84 | _reduce(&$0, action)
85 | }
/host/spi-builder-workspace/Sources/Trellis/Reducer.swift:100:39: warning: non-sendable type '(((any Action) async throws -> Void, C) async throws -> Void)?' returned by call to main actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
98 | let preState = _store.state
99 |
100 | let sideEffect = await _store.update {
| |- warning: non-sendable type '(((any Action) async throws -> Void, C) async throws -> Void)?' returned by call to main actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
101 | _reduce(&$0, action)
102 | }
/host/spi-builder-workspace/Sources/Trellis/Reducer.swift:83:39: warning: sending task-isolated value of type '(inout S) -> (((any Action) async throws -> Void, C) async throws -> Void)?' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
81 |
82 | private func storeUpdate(action: A) async throws -> SideEffect<C>? {
83 | let sideEffect = await _store.update {
| `- warning: sending task-isolated value of type '(inout S) -> (((any Action) async throws -> Void, C) async throws -> Void)?' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
84 | _reduce(&$0, action)
85 | }
/host/spi-builder-workspace/Sources/Trellis/Reducer.swift:83:39: warning: sending 'self._store' risks causing data races; this is an error in the Swift 6 language mode
81 |
82 | private func storeUpdate(action: A) async throws -> SideEffect<C>? {
83 | let sideEffect = await _store.update {
| |- warning: sending 'self._store' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self._store' to main actor-isolated instance method 'update' risks causing data races between main actor-isolated and task-isolated uses
84 | _reduce(&$0, action)
85 | }
/host/spi-builder-workspace/Sources/Trellis/Reducer.swift:100:39: warning: sending task-isolated value of type '(inout S) -> (((any Action) async throws -> Void, C) async throws -> Void)?' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
98 | let preState = _store.state
99 |
100 | let sideEffect = await _store.update {
| `- warning: sending task-isolated value of type '(inout S) -> (((any Action) async throws -> Void, C) async throws -> Void)?' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
101 | _reduce(&$0, action)
102 | }
/host/spi-builder-workspace/Sources/Trellis/Reducer.swift:100:39: warning: sending 'self._store' risks causing data races; this is an error in the Swift 6 language mode
98 | let preState = _store.state
99 |
100 | let sideEffect = await _store.update {
| |- warning: sending 'self._store' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self._store' to main actor-isolated instance method 'update' risks causing data races between main actor-isolated and task-isolated uses
101 | _reduce(&$0, action)
102 | }
[59/61] Compiling Trellis Service.swift
/host/spi-builder-workspace/Sources/Trellis/Service.swift:63: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
61 | }
62 |
63 | func inject(environment: EnvironmentValues, from parentId: Int) async throws {
| `- 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
64 | var environment = environment
65 | environment.id = parentId
/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 environments: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Service.swift:63: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
61 | }
62 |
63 | func inject(environment: EnvironmentValues, from parentId: Int) async throws {
| `- 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
64 | var environment = environment
65 | environment.id = parentId
/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 environments: [AnyHashable: EnvironmentValues] = [:]
17 |
/host/spi-builder-workspace/Sources/Trellis/Environment.swift:16:16: warning: static property 'environments' 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 environments: [AnyHashable: EnvironmentValues] = [:]
| |- warning: static property 'environments' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'environments' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'environments' 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:72:28: warning: sending 'environment' risks causing data races; this is an error in the Swift 6 language mode
70 |
71 | if Body.self != Never.self {
72 | 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
73 | from: id)
74 | }
/host/spi-builder-workspace/Sources/Trellis/Service.swift:72: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
70 |
71 | if Body.self != Never.self {
72 | 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
73 | from: id)
74 | }
[60/61] 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:33: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
31 |
32 | private struct BootstrapKey: EnvironmentKey {
33 | static var defaultValue: BootstrapHandler? = 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
34 | }
35 |
/host/spi-builder-workspace/Sources/Trellis/Service+Environment.swift:37: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
35 |
36 | private struct IdKey: EnvironmentKey {
37 | static var defaultValue: Int = 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
38 | }
39 |
[61/61] Compiling Trellis Service+Tuple.swift
/host/spi-builder-workspace/Sources/Trellis/Service+Tuple.swift:140: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
138 | try await withThrowingTaskGroup(of: Void.self) { [_children] group in
139 | for child in _children {
140 | 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
141 | try await child.send(action: action,
| | `- note: closure captures non-Sendable 'action'
| `- note: closure captures non-Sendable 'child'
142 | from: id)
143 | }
/host/spi-builder-workspace/Sources/Trellis/Service+Tuple.swift:151: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
149 | await withThrowingTaskGroup(of: Void.self) { [_children] group in
150 | for child in _children {
151 | 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
152 | try await child.send(action: action,
| | `- note: closure captures non-Sendable 'action'
| `- note: closure captures non-Sendable 'child'
153 | from: id)
154 | }
/host/spi-builder-workspace/Sources/Trellis/Service+Tuple.swift:159: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
157 | while let result = await group.nextResult() {
158 | if case let .failure(error) = result {
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 send(action: handler(error),
| `- note: closure captures 'handler' which is accessible to code in the current task
161 | from: parentId)
162 | }
Build complete! (10.97s)
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",
"Emitter.swift",
"Environment.swift",
"Group.swift",
"Reducer.swift",
"Service+Builder.swift",
"Service+Environment.swift",
"Service+Tuple.swift",
"Service.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.