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 Mobius, reference 0.5.2 (860612), with Swift 6.0 for macOS (SPM) on 4 Nov 2024 09:07:07 UTC.

Swift 6 data race errors: 3

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/spotify/Mobius.swift.git
Reference: 0.5.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/spotify/Mobius.swift
 * tag               0.5.2      -> FETCH_HEAD
HEAD is now at 8606126 Merge pull request #205 from louisdebaere/taskAsDisposable
Cloned https://github.com/spotify/Mobius.swift.git
Revision (git rev-parse @):
8606126a33258c290ad1cfbcccd0a7becb3cff52
SUCCESS checkout https://github.com/spotify/Mobius.swift.git at 0.5.2
Fetching https://github.com/Quick/Nimble
Fetching https://github.com/mattgallagher/CwlPreconditionTesting.git
Fetching https://github.com/mattgallagher/CwlCatchException.git
Fetching https://github.com/pointfreeco/swift-case-paths
Fetching https://github.com/Quick/Quick
[1/1257] Fetching cwlpreconditiontesting
[228/1712] Fetching cwlpreconditiontesting, cwlcatchexception
[383/5886] Fetching cwlpreconditiontesting, cwlcatchexception, swift-case-paths
[4343/20609] Fetching cwlpreconditiontesting, cwlcatchexception, swift-case-paths, quick
[20610/39827] Fetching cwlpreconditiontesting, cwlcatchexception, swift-case-paths, quick, nimble
Fetched https://github.com/mattgallagher/CwlCatchException.git from cache (4.99s)
Fetched https://github.com/pointfreeco/swift-case-paths from cache (4.99s)
Fetched https://github.com/Quick/Quick from cache (4.99s)
Fetched https://github.com/mattgallagher/CwlPreconditionTesting.git from cache (4.99s)
Fetched https://github.com/Quick/Nimble from cache (4.99s)
Computing version for https://github.com/Quick/Quick
Computed https://github.com/Quick/Quick at 5.0.1 (0.66s)
Computing version for https://github.com/Quick/Nimble
Computed https://github.com/Quick/Nimble at 10.0.0 (0.64s)
Computing version for https://github.com/pointfreeco/swift-case-paths
Computed https://github.com/pointfreeco/swift-case-paths at 0.10.1 (0.68s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.1.0 (0.64s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.0.0 (0.61s)
Creating working copy for https://github.com/Quick/Nimble
Working copy of https://github.com/Quick/Nimble resolved at 10.0.0
Creating working copy for https://github.com/pointfreeco/swift-case-paths
Working copy of https://github.com/pointfreeco/swift-case-paths resolved at 0.10.1
Creating working copy for https://github.com/mattgallagher/CwlCatchException.git
Working copy of https://github.com/mattgallagher/CwlCatchException.git resolved at 2.0.0
Creating working copy for https://github.com/Quick/Quick
Working copy of https://github.com/Quick/Quick resolved at 5.0.1
Creating working copy for https://github.com/mattgallagher/CwlPreconditionTesting.git
Working copy of https://github.com/mattgallagher/CwlPreconditionTesting.git resolved at 2.1.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "mobius.swift",
      "name": "Mobius",
      "url": "https://github.com/spotify/Mobius.swift.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Mobius.swift",
      "dependencies": [
        {
          "identity": "swift-case-paths",
          "name": "swift-case-paths",
          "url": "https://github.com/pointfreeco/swift-case-paths",
          "version": "0.10.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-case-paths",
          "dependencies": [
          ]
        },
        {
          "identity": "nimble",
          "name": "Nimble",
          "url": "https://github.com/Quick/Nimble",
          "version": "10.0.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Nimble",
          "dependencies": [
            {
              "identity": "cwlpreconditiontesting",
              "name": "CwlPreconditionTesting",
              "url": "https://github.com/mattgallagher/CwlPreconditionTesting.git",
              "version": "2.2.2",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CwlPreconditionTesting",
              "dependencies": [
                {
                  "identity": "cwlcatchexception",
                  "name": "CwlCatchException",
                  "url": "https://github.com/mattgallagher/CwlCatchException.git",
                  "version": "2.2.1",
                  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CwlCatchException",
                  "dependencies": [
                  ]
                }
              ]
            }
          ]
        },
        {
          "identity": "quick",
          "name": "Quick",
          "url": "https://github.com/Quick/Quick",
          "version": "5.0.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Quick",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/spotify/Mobius.swift.git
[1/4877] Fetching mobius.swift
Fetched https://github.com/spotify/Mobius.swift.git from cache (1.07s)
Fetching https://github.com/Quick/Nimble from cache
Fetching https://github.com/Quick/Quick from cache
Fetching https://github.com/pointfreeco/swift-case-paths from cache
Fetched https://github.com/Quick/Nimble from cache (0.70s)
Fetched https://github.com/pointfreeco/swift-case-paths from cache (0.70s)
Fetched https://github.com/Quick/Quick from cache (0.70s)
Computing version for https://github.com/Quick/Quick
Computed https://github.com/Quick/Quick at 5.0.1 (0.03s)
Computing version for https://github.com/Quick/Nimble
Computed https://github.com/Quick/Nimble at 10.0.0 (0.03s)
Fetching https://github.com/mattgallagher/CwlPreconditionTesting.git from cache
Fetched https://github.com/mattgallagher/CwlPreconditionTesting.git from cache (0.47s)
Computing version for https://github.com/pointfreeco/swift-case-paths
Computed https://github.com/pointfreeco/swift-case-paths at 0.10.1 (0.04s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.2.2 (0.66s)
Fetching https://github.com/mattgallagher/CwlCatchException.git from cache
Fetched https://github.com/mattgallagher/CwlCatchException.git from cache (0.45s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.2.1 (0.64s)
Creating working copy for https://github.com/pointfreeco/swift-case-paths
Working copy of https://github.com/pointfreeco/swift-case-paths resolved at 0.10.1
Creating working copy for https://github.com/Quick/Quick
Working copy of https://github.com/Quick/Quick resolved at 5.0.1
Creating working copy for https://github.com/mattgallagher/CwlCatchException.git
Working copy of https://github.com/mattgallagher/CwlCatchException.git resolved at 2.2.1
Creating working copy for https://github.com/spotify/Mobius.swift.git
Working copy of https://github.com/spotify/Mobius.swift.git resolved at 0.5.2 (8606126)
Creating working copy for https://github.com/mattgallagher/CwlPreconditionTesting.git
Working copy of https://github.com/mattgallagher/CwlPreconditionTesting.git resolved at 2.2.2
Creating working copy for https://github.com/Quick/Nimble
Working copy of https://github.com/Quick/Nimble resolved at 10.0.0
warning: '.resolve-product-dependencies': dependency 'mobius.swift' is not used by any target
Found 3 product dependencies
  - swift-case-paths
  - Nimble
  - Quick
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/spotify/Mobius.swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/13] Write sources
[8/13] Write swift-version--7754E27361AE5C74.txt
[9/18] Compiling CwlMachBadInstructionHandler mach_excServer.c
[10/18] Compiling CwlCatchExceptionSupport CwlCatchException.m
[11/20] Compiling CwlMachBadInstructionHandler CwlMachBadInstructionHandler.m
[12/20] Compiling MobiusThrowableAssertion MobiusThrowableAssertion.m
[14/20] Compiling CasePaths Operators.swift
[15/20] Compiling CasePaths CasePaths.swift
[16/20] Compiling CasePaths EnumReflection.swift
[17/20] Emitting module CwlCatchException
[18/20] Compiling CwlCatchException CwlCatchException.swift
[19/20] Emitting module CasePaths
[20/20] Compiling CasePaths CasePath.swift
[21/53] Emitting module CwlPreconditionTesting
[22/53] Compiling CwlPreconditionTesting CwlCatchBadInstruction.swift
[23/53] Compiling CwlPreconditionTesting CwlBadInstructionException.swift
[24/53] Compiling CwlPreconditionTesting CwlDarwinDefinitions.swift
[25/53] Compiling MobiusCore Task+Disposable.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[26/53] Compiling MobiusCore EffectCallback.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[27/53] Compiling MobiusCore EffectExecutor.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[28/53] Compiling MobiusCore CompositeEventSourceBuilder.swift
[29/53] Compiling MobiusCore EventSource.swift
[30/53] Compiling MobiusCore First.swift
[31/56] Compiling MobiusCore Lock.swift
[32/56] Compiling MobiusCore LoggingAdaptors.swift
[33/56] Compiling MobiusCore Mobius.swift
[34/69] Emitting module MobiusCore
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[35/106] Compiling Nimble NMBExpectation.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:61:21: warning: capture of 'disposalStatus' with non-sendable type 'Synchronized<Bool>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
59 |                 acceptQueue.async {
60 |                     // Prevents forwarding if the connection has since been disposed.
61 |                     disposalStatus.read { disposed in
   |                     `- warning: capture of 'disposalStatus' with non-sendable type 'Synchronized<Bool>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Lock.swift:30:13: note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
28 | }
29 |
30 | final class Synchronized<Value> {
   |             `- note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
31 |     private let lock = DispatchQueue(label: "Mobius synchronized storage")
32 |     private var storage: Value
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:25: warning: capture of 'connection' with non-sendable type 'Connection<Input>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                         `- warning: capture of 'connection' with non-sendable type 'Connection<Input>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Connection.swift:20:20: note: generic class 'Connection' does not conform to the 'Sendable' protocol
18 | ///
19 | /// Used for sending values to the connection and to dispose of it and all resources associated with it.
20 | public final class Connection<Value>: Disposable {
   |                    `- note: generic class 'Connection' does not conform to the 'Sendable' protocol
21 |     private let acceptClosure: (Value) -> Void
22 |     private let disposeClosure: () -> Void
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:43: warning: capture of 'input' with non-sendable type 'Input' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// first switching to the provided `acceptQueue`. In other words, the real `accept` method will always be executed
21 | /// asynchronously on the provided queue.
22 | final class AsyncDispatchQueueConnectable<Input, Output>: Connectable {
   |                                           `- note: consider making generic parameter 'Input' conform to the 'Sendable' protocol
23 |     private let underlyingConnectable: AnyConnectable<Input, Output>
24 |     private let acceptQueue: DispatchQueue
   :
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                                           `- warning: capture of 'input' with non-sendable type 'Input' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:25: warning: capture of 'connection' with non-sendable type 'Connection<Input>' in an isolated closure; this is an error in the Swift 6 language mode
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                         `- warning: capture of 'connection' with non-sendable type 'Connection<Input>' in an isolated closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Connection.swift:20:20: note: generic class 'Connection' does not conform to the 'Sendable' protocol
18 | ///
19 | /// Used for sending values to the connection and to dispose of it and all resources associated with it.
20 | public final class Connection<Value>: Disposable {
   |                    `- note: generic class 'Connection' does not conform to the 'Sendable' protocol
21 |     private let acceptClosure: (Value) -> Void
22 |     private let disposeClosure: () -> Void
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:43: warning: capture of 'input' with non-sendable type 'Input' in an isolated closure; this is an error in the Swift 6 language mode
20 | /// first switching to the provided `acceptQueue`. In other words, the real `accept` method will always be executed
21 | /// asynchronously on the provided queue.
22 | final class AsyncDispatchQueueConnectable<Input, Output>: Connectable {
   |                                           `- note: consider making generic parameter 'Input' conform to the 'Sendable' protocol
23 |     private let underlyingConnectable: AnyConnectable<Input, Output>
24 |     private let acceptQueue: DispatchQueue
   :
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                                           `- warning: capture of 'input' with non-sendable type 'Input' in an isolated closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
[36/106] Compiling Nimble NimbleEnvironment.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:61:21: warning: capture of 'disposalStatus' with non-sendable type 'Synchronized<Bool>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
59 |                 acceptQueue.async {
60 |                     // Prevents forwarding if the connection has since been disposed.
61 |                     disposalStatus.read { disposed in
   |                     `- warning: capture of 'disposalStatus' with non-sendable type 'Synchronized<Bool>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Lock.swift:30:13: note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
28 | }
29 |
30 | final class Synchronized<Value> {
   |             `- note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
31 |     private let lock = DispatchQueue(label: "Mobius synchronized storage")
32 |     private var storage: Value
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:25: warning: capture of 'connection' with non-sendable type 'Connection<Input>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                         `- warning: capture of 'connection' with non-sendable type 'Connection<Input>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Connection.swift:20:20: note: generic class 'Connection' does not conform to the 'Sendable' protocol
18 | ///
19 | /// Used for sending values to the connection and to dispose of it and all resources associated with it.
20 | public final class Connection<Value>: Disposable {
   |                    `- note: generic class 'Connection' does not conform to the 'Sendable' protocol
21 |     private let acceptClosure: (Value) -> Void
22 |     private let disposeClosure: () -> Void
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:43: warning: capture of 'input' with non-sendable type 'Input' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// first switching to the provided `acceptQueue`. In other words, the real `accept` method will always be executed
21 | /// asynchronously on the provided queue.
22 | final class AsyncDispatchQueueConnectable<Input, Output>: Connectable {
   |                                           `- note: consider making generic parameter 'Input' conform to the 'Sendable' protocol
23 |     private let underlyingConnectable: AnyConnectable<Input, Output>
24 |     private let acceptQueue: DispatchQueue
   :
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                                           `- warning: capture of 'input' with non-sendable type 'Input' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:25: warning: capture of 'connection' with non-sendable type 'Connection<Input>' in an isolated closure; this is an error in the Swift 6 language mode
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                         `- warning: capture of 'connection' with non-sendable type 'Connection<Input>' in an isolated closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Connection.swift:20:20: note: generic class 'Connection' does not conform to the 'Sendable' protocol
18 | ///
19 | /// Used for sending values to the connection and to dispose of it and all resources associated with it.
20 | public final class Connection<Value>: Disposable {
   |                    `- note: generic class 'Connection' does not conform to the 'Sendable' protocol
21 |     private let acceptClosure: (Value) -> Void
22 |     private let disposeClosure: () -> Void
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:43: warning: capture of 'input' with non-sendable type 'Input' in an isolated closure; this is an error in the Swift 6 language mode
20 | /// first switching to the provided `acceptQueue`. In other words, the real `accept` method will always be executed
21 | /// asynchronously on the provided queue.
22 | final class AsyncDispatchQueueConnectable<Input, Output>: Connectable {
   |                                           `- note: consider making generic parameter 'Input' conform to the 'Sendable' protocol
23 |     private let underlyingConnectable: AnyConnectable<Input, Output>
24 |     private let acceptQueue: DispatchQueue
   :
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                                           `- warning: capture of 'input' with non-sendable type 'Input' in an isolated closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
[37/106] Compiling Nimble NimbleXCTestHandler.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:61:21: warning: capture of 'disposalStatus' with non-sendable type 'Synchronized<Bool>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
59 |                 acceptQueue.async {
60 |                     // Prevents forwarding if the connection has since been disposed.
61 |                     disposalStatus.read { disposed in
   |                     `- warning: capture of 'disposalStatus' with non-sendable type 'Synchronized<Bool>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Lock.swift:30:13: note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
28 | }
29 |
30 | final class Synchronized<Value> {
   |             `- note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
31 |     private let lock = DispatchQueue(label: "Mobius synchronized storage")
32 |     private var storage: Value
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:25: warning: capture of 'connection' with non-sendable type 'Connection<Input>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                         `- warning: capture of 'connection' with non-sendable type 'Connection<Input>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Connection.swift:20:20: note: generic class 'Connection' does not conform to the 'Sendable' protocol
18 | ///
19 | /// Used for sending values to the connection and to dispose of it and all resources associated with it.
20 | public final class Connection<Value>: Disposable {
   |                    `- note: generic class 'Connection' does not conform to the 'Sendable' protocol
21 |     private let acceptClosure: (Value) -> Void
22 |     private let disposeClosure: () -> Void
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:43: warning: capture of 'input' with non-sendable type 'Input' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// first switching to the provided `acceptQueue`. In other words, the real `accept` method will always be executed
21 | /// asynchronously on the provided queue.
22 | final class AsyncDispatchQueueConnectable<Input, Output>: Connectable {
   |                                           `- note: consider making generic parameter 'Input' conform to the 'Sendable' protocol
23 |     private let underlyingConnectable: AnyConnectable<Input, Output>
24 |     private let acceptQueue: DispatchQueue
   :
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                                           `- warning: capture of 'input' with non-sendable type 'Input' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:25: warning: capture of 'connection' with non-sendable type 'Connection<Input>' in an isolated closure; this is an error in the Swift 6 language mode
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                         `- warning: capture of 'connection' with non-sendable type 'Connection<Input>' in an isolated closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Connection.swift:20:20: note: generic class 'Connection' does not conform to the 'Sendable' protocol
18 | ///
19 | /// Used for sending values to the connection and to dispose of it and all resources associated with it.
20 | public final class Connection<Value>: Disposable {
   |                    `- note: generic class 'Connection' does not conform to the 'Sendable' protocol
21 |     private let acceptClosure: (Value) -> Void
22 |     private let disposeClosure: () -> Void
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:43: warning: capture of 'input' with non-sendable type 'Input' in an isolated closure; this is an error in the Swift 6 language mode
20 | /// first switching to the provided `acceptQueue`. In other words, the real `accept` method will always be executed
21 | /// asynchronously on the provided queue.
22 | final class AsyncDispatchQueueConnectable<Input, Output>: Connectable {
   |                                           `- note: consider making generic parameter 'Input' conform to the 'Sendable' protocol
23 |     private let underlyingConnectable: AnyConnectable<Input, Output>
24 |     private let acceptQueue: DispatchQueue
   :
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                                           `- warning: capture of 'input' with non-sendable type 'Input' in an isolated closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
[38/106] Compiling Nimble BeEmpty.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:61:21: warning: capture of 'disposalStatus' with non-sendable type 'Synchronized<Bool>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
59 |                 acceptQueue.async {
60 |                     // Prevents forwarding if the connection has since been disposed.
61 |                     disposalStatus.read { disposed in
   |                     `- warning: capture of 'disposalStatus' with non-sendable type 'Synchronized<Bool>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Lock.swift:30:13: note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
28 | }
29 |
30 | final class Synchronized<Value> {
   |             `- note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
31 |     private let lock = DispatchQueue(label: "Mobius synchronized storage")
32 |     private var storage: Value
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:25: warning: capture of 'connection' with non-sendable type 'Connection<Input>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                         `- warning: capture of 'connection' with non-sendable type 'Connection<Input>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Connection.swift:20:20: note: generic class 'Connection' does not conform to the 'Sendable' protocol
18 | ///
19 | /// Used for sending values to the connection and to dispose of it and all resources associated with it.
20 | public final class Connection<Value>: Disposable {
   |                    `- note: generic class 'Connection' does not conform to the 'Sendable' protocol
21 |     private let acceptClosure: (Value) -> Void
22 |     private let disposeClosure: () -> Void
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:43: warning: capture of 'input' with non-sendable type 'Input' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// first switching to the provided `acceptQueue`. In other words, the real `accept` method will always be executed
21 | /// asynchronously on the provided queue.
22 | final class AsyncDispatchQueueConnectable<Input, Output>: Connectable {
   |                                           `- note: consider making generic parameter 'Input' conform to the 'Sendable' protocol
23 |     private let underlyingConnectable: AnyConnectable<Input, Output>
24 |     private let acceptQueue: DispatchQueue
   :
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                                           `- warning: capture of 'input' with non-sendable type 'Input' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:25: warning: capture of 'connection' with non-sendable type 'Connection<Input>' in an isolated closure; this is an error in the Swift 6 language mode
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                         `- warning: capture of 'connection' with non-sendable type 'Connection<Input>' in an isolated closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Connection.swift:20:20: note: generic class 'Connection' does not conform to the 'Sendable' protocol
18 | ///
19 | /// Used for sending values to the connection and to dispose of it and all resources associated with it.
20 | public final class Connection<Value>: Disposable {
   |                    `- note: generic class 'Connection' does not conform to the 'Sendable' protocol
21 |     private let acceptClosure: (Value) -> Void
22 |     private let disposeClosure: () -> Void
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncDispatchQueueConnectable.swift:63:43: warning: capture of 'input' with non-sendable type 'Input' in an isolated closure; this is an error in the Swift 6 language mode
20 | /// first switching to the provided `acceptQueue`. In other words, the real `accept` method will always be executed
21 | /// asynchronously on the provided queue.
22 | final class AsyncDispatchQueueConnectable<Input, Output>: Connectable {
   |                                           `- note: consider making generic parameter 'Input' conform to the 'Sendable' protocol
23 |     private let underlyingConnectable: AnyConnectable<Input, Output>
24 |     private let acceptQueue: DispatchQueue
   :
61 |                     disposalStatus.read { disposed in
62 |                         guard !disposed else { return }
63 |                         connection.accept(input)
   |                                           `- warning: capture of 'input' with non-sendable type 'Input' in an isolated closure; this is an error in the Swift 6 language mode
64 |                     }
65 |                 }
[39/106] Compiling Nimble AdapterProtocols.swift
[40/106] Compiling Nimble AssertionDispatcher.swift
[41/106] Compiling Nimble AssertionRecorder.swift
[42/106] Compiling Nimble SatisfyAnyOf.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[43/106] Compiling Nimble ThrowAssertion.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[44/106] Compiling Nimble ThrowError.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[45/106] Compiling Nimble ExpectationMessage.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[46/106] Compiling Nimble Expression.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[47/106] Compiling Nimble SatisfyAllOf.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[48/106] Compiling Nimble DSL+Wait.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/EffectHandlers/EffectRouter.swift:132:37: warning: capture of 'connection' with non-sendable type 'Connection<EffectParameters>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                             if let queue = queue {
131 |                                 queue.async {
132 |                                     connection.accept(parameters)
    |                                     `- warning: capture of 'connection' with non-sendable type 'Connection<EffectParameters>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |                                 }
134 |                             } else {
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Connection.swift:20:20: note: generic class 'Connection' does not conform to the 'Sendable' protocol
18 | ///
19 | /// Used for sending values to the connection and to dispose of it and all resources associated with it.
20 | public final class Connection<Value>: Disposable {
   |                    `- note: generic class 'Connection' does not conform to the 'Sendable' protocol
21 |     private let acceptClosure: (Value) -> Void
22 |     private let disposeClosure: () -> Void
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/EffectHandlers/EffectRouter.swift:132:55: warning: capture of 'parameters' with non-sendable type 'EffectParameters' in a `@Sendable` closure; this is an error in the Swift 6 language mode
117 |     let connect: (@escaping Consumer<Output>) -> ConnectedRoute<Input>
118 |
119 |     init<EffectParameters, Conn: Connectable>(
    |          `- note: consider making generic parameter 'EffectParameters' conform to the 'Sendable' protocol
120 |         extractParameters: @escaping (Input) -> EffectParameters?,
121 |         connectable: Conn,
    :
130 |                             if let queue = queue {
131 |                                 queue.async {
132 |                                     connection.accept(parameters)
    |                                                       `- warning: capture of 'parameters' with non-sendable type 'EffectParameters' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |                                 }
134 |                             } else {
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[49/106] Compiling Nimble DSL.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/EffectHandlers/EffectRouter.swift:132:37: warning: capture of 'connection' with non-sendable type 'Connection<EffectParameters>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                             if let queue = queue {
131 |                                 queue.async {
132 |                                     connection.accept(parameters)
    |                                     `- warning: capture of 'connection' with non-sendable type 'Connection<EffectParameters>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |                                 }
134 |                             } else {
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Connection.swift:20:20: note: generic class 'Connection' does not conform to the 'Sendable' protocol
18 | ///
19 | /// Used for sending values to the connection and to dispose of it and all resources associated with it.
20 | public final class Connection<Value>: Disposable {
   |                    `- note: generic class 'Connection' does not conform to the 'Sendable' protocol
21 |     private let acceptClosure: (Value) -> Void
22 |     private let disposeClosure: () -> Void
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/EffectHandlers/EffectRouter.swift:132:55: warning: capture of 'parameters' with non-sendable type 'EffectParameters' in a `@Sendable` closure; this is an error in the Swift 6 language mode
117 |     let connect: (@escaping Consumer<Output>) -> ConnectedRoute<Input>
118 |
119 |     init<EffectParameters, Conn: Connectable>(
    |          `- note: consider making generic parameter 'EffectParameters' conform to the 'Sendable' protocol
120 |         extractParameters: @escaping (Input) -> EffectParameters?,
121 |         connectable: Conn,
    :
130 |                             if let queue = queue {
131 |                                 queue.async {
132 |                                     connection.accept(parameters)
    |                                                       `- warning: capture of 'parameters' with non-sendable type 'EffectParameters' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |                                 }
134 |                             } else {
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[50/106] Compiling Nimble Expectation.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/EffectHandlers/EffectRouter.swift:132:37: warning: capture of 'connection' with non-sendable type 'Connection<EffectParameters>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                             if let queue = queue {
131 |                                 queue.async {
132 |                                     connection.accept(parameters)
    |                                     `- warning: capture of 'connection' with non-sendable type 'Connection<EffectParameters>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |                                 }
134 |                             } else {
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/Connection.swift:20:20: note: generic class 'Connection' does not conform to the 'Sendable' protocol
18 | ///
19 | /// Used for sending values to the connection and to dispose of it and all resources associated with it.
20 | public final class Connection<Value>: Disposable {
   |                    `- note: generic class 'Connection' does not conform to the 'Sendable' protocol
21 |     private let acceptClosure: (Value) -> Void
22 |     private let disposeClosure: () -> Void
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/EffectHandlers/EffectRouter.swift:132:55: warning: capture of 'parameters' with non-sendable type 'EffectParameters' in a `@Sendable` closure; this is an error in the Swift 6 language mode
117 |     let connect: (@escaping Consumer<Output>) -> ConnectedRoute<Input>
118 |
119 |     init<EffectParameters, Conn: Connectable>(
    |          `- note: consider making generic parameter 'EffectParameters' conform to the 'Sendable' protocol
120 |         extractParameters: @escaping (Input) -> EffectParameters?,
121 |         connectable: Conn,
    :
130 |                             if let queue = queue {
131 |                                 queue.async {
132 |                                     connection.accept(parameters)
    |                                                       `- warning: capture of 'parameters' with non-sendable type 'EffectParameters' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |                                 }
134 |                             } else {
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[51/106] Compiling Nimble ToSucceed.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusController.swift:105:27: warning: capture of 'state' with non-sendable type 'MobiusController<Model, Event, Effect>.State' (aka 'AsyncStartStopStateMachine<MobiusController<Model, Event, Effect>.StoppedState, MobiusController<Model, Event, Effect>.RunningState>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
103 |             return { event in
104 |                 loopQueue.async {
105 |                     guard state.running else {
    |                           `- warning: capture of 'state' with non-sendable type 'MobiusController<Model, Event, Effect>.State' (aka 'AsyncStartStopStateMachine<MobiusController<Model, Event, Effect>.StoppedState, MobiusController<Model, Event, Effect>.RunningState>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |                         // If we got here, the controller was stopped while this async block was queued. Callers can’t
107 |                         // possibly avoid this except through complete external serialization of all access to the
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncStartStopStateMachine.swift:23:13: note: generic class 'AsyncStartStopStateMachine' does not conform to the 'Sendable' protocol
 21 | /// tools to easily make it thread safe. In particular, we need to be able to query whether we’re currently running or
 22 | /// not from any queue, including the designated mutating queue.
 23 | final class AsyncStartStopStateMachine<StoppedState, RunningState> {
    |             `- note: generic class 'AsyncStartStopStateMachine' does not conform to the 'Sendable' protocol
 24 |     // Intermediate states are required to handle the case where `running` is queried during a state transition.
 25 |     //
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusController.swift:114:21: warning: capture of 'consumer' with non-sendable type 'Consumer<Event>' (aka '(Event) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |                         return
113 |                     }
114 |                     consumer(event)
    |                     |- warning: capture of 'consumer' with non-sendable type 'Consumer<Event>' (aka '(Event) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
115 |                 }
116 |             }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusController.swift:114:30: warning: capture of 'event' with non-sendable type 'Event' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 19 | /// If a loop is stopped and then started again via the controller, the new loop will continue from where the last one
 20 | /// left off.
 21 | public final class MobiusController<Model, Event, Effect> {
    |                                            `- note: consider making generic parameter 'Event' conform to the 'Sendable' protocol
 22 |     typealias Loop = MobiusLoop<Model, Event, Effect>
 23 |     typealias ViewConnectable = AsyncDispatchQueueConnectable<Model, Event>
    :
112 |                         return
113 |                     }
114 |                     consumer(event)
    |                              `- warning: capture of 'event' with non-sendable type 'Event' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 |                 }
116 |             }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[52/106] Compiling Nimble FailureMessage.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusController.swift:105:27: warning: capture of 'state' with non-sendable type 'MobiusController<Model, Event, Effect>.State' (aka 'AsyncStartStopStateMachine<MobiusController<Model, Event, Effect>.StoppedState, MobiusController<Model, Event, Effect>.RunningState>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
103 |             return { event in
104 |                 loopQueue.async {
105 |                     guard state.running else {
    |                           `- warning: capture of 'state' with non-sendable type 'MobiusController<Model, Event, Effect>.State' (aka 'AsyncStartStopStateMachine<MobiusController<Model, Event, Effect>.StoppedState, MobiusController<Model, Event, Effect>.RunningState>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |                         // If we got here, the controller was stopped while this async block was queued. Callers can’t
107 |                         // possibly avoid this except through complete external serialization of all access to the
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncStartStopStateMachine.swift:23:13: note: generic class 'AsyncStartStopStateMachine' does not conform to the 'Sendable' protocol
 21 | /// tools to easily make it thread safe. In particular, we need to be able to query whether we’re currently running or
 22 | /// not from any queue, including the designated mutating queue.
 23 | final class AsyncStartStopStateMachine<StoppedState, RunningState> {
    |             `- note: generic class 'AsyncStartStopStateMachine' does not conform to the 'Sendable' protocol
 24 |     // Intermediate states are required to handle the case where `running` is queried during a state transition.
 25 |     //
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusController.swift:114:21: warning: capture of 'consumer' with non-sendable type 'Consumer<Event>' (aka '(Event) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |                         return
113 |                     }
114 |                     consumer(event)
    |                     |- warning: capture of 'consumer' with non-sendable type 'Consumer<Event>' (aka '(Event) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
115 |                 }
116 |             }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusController.swift:114:30: warning: capture of 'event' with non-sendable type 'Event' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 19 | /// If a loop is stopped and then started again via the controller, the new loop will continue from where the last one
 20 | /// left off.
 21 | public final class MobiusController<Model, Event, Effect> {
    |                                            `- note: consider making generic parameter 'Event' conform to the 'Sendable' protocol
 22 |     typealias Loop = MobiusLoop<Model, Event, Effect>
 23 |     typealias ViewConnectable = AsyncDispatchQueueConnectable<Model, Event>
    :
112 |                         return
113 |                     }
114 |                     consumer(event)
    |                              `- warning: capture of 'event' with non-sendable type 'Event' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 |                 }
116 |             }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[53/106] Compiling Nimble AllPass.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusController.swift:105:27: warning: capture of 'state' with non-sendable type 'MobiusController<Model, Event, Effect>.State' (aka 'AsyncStartStopStateMachine<MobiusController<Model, Event, Effect>.StoppedState, MobiusController<Model, Event, Effect>.RunningState>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
103 |             return { event in
104 |                 loopQueue.async {
105 |                     guard state.running else {
    |                           `- warning: capture of 'state' with non-sendable type 'MobiusController<Model, Event, Effect>.State' (aka 'AsyncStartStopStateMachine<MobiusController<Model, Event, Effect>.StoppedState, MobiusController<Model, Event, Effect>.RunningState>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |                         // If we got here, the controller was stopped while this async block was queued. Callers can’t
107 |                         // possibly avoid this except through complete external serialization of all access to the
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/AsyncStartStopStateMachine.swift:23:13: note: generic class 'AsyncStartStopStateMachine' does not conform to the 'Sendable' protocol
 21 | /// tools to easily make it thread safe. In particular, we need to be able to query whether we’re currently running or
 22 | /// not from any queue, including the designated mutating queue.
 23 | final class AsyncStartStopStateMachine<StoppedState, RunningState> {
    |             `- note: generic class 'AsyncStartStopStateMachine' does not conform to the 'Sendable' protocol
 24 |     // Intermediate states are required to handle the case where `running` is queried during a state transition.
 25 |     //
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusController.swift:114:21: warning: capture of 'consumer' with non-sendable type 'Consumer<Event>' (aka '(Event) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |                         return
113 |                     }
114 |                     consumer(event)
    |                     |- warning: capture of 'consumer' with non-sendable type 'Consumer<Event>' (aka '(Event) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
115 |                 }
116 |             }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusController.swift:114:30: warning: capture of 'event' with non-sendable type 'Event' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 19 | /// If a loop is stopped and then started again via the controller, the new loop will continue from where the last one
 20 | /// left off.
 21 | public final class MobiusController<Model, Event, Effect> {
    |                                            `- note: consider making generic parameter 'Event' conform to the 'Sendable' protocol
 22 |     typealias Loop = MobiusLoop<Model, Event, Effect>
 23 |     typealias ViewConnectable = AsyncDispatchQueueConnectable<Model, Event>
    :
112 |                         return
113 |                     }
114 |                     consumer(event)
    |                              `- warning: capture of 'event' with non-sendable type 'Event' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 |                 }
116 |             }
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[54/106] Compiling Nimble BeCloseTo.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[55/106] Compiling Nimble BeLogical.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[56/106] Compiling Nimble BeNil.swift
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    |- warning: static property 'errorHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                    |- note: convert 'errorHandler' to a 'let' constant to make 'Sendable' shared state immutable
   |                                    |- note: annotate 'errorHandler' 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 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[57/122] Emitting module MobiusExtras
[58/122] Compiling MobiusExtras BeginnerLoop.swift
[59/122] Compiling MobiusExtras SimpleLogger.swift
[60/122] Compiling MobiusExtras Copyable.swift
[61/122] Compiling MobiusExtras EventSourceMap.swift
[62/122] Compiling MobiusExtras ConnectableContramap.swift
[63/122] Compiling MobiusExtras ConnectableMap.swift
[64/122] Compiling MobiusExtras ConnectableClass.swift
/Users/admin/builder/spi-builder-workspace/MobiusExtras/Source/ConnectableClass.swift:74:25: warning: reference to static property 'errorHandler' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 72 |
 73 |         guard self.consumer == nil else {
 74 |             MobiusHooks.errorHandler(
    |                         `- warning: reference to static property 'errorHandler' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 75 |                 "Connection limit exceeded: The Connectable \(type(of: self)) is already connected. " +
 76 |                 "Unable to connect more than once",
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: note: static property declared here
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    `- note: static property declared here
28 |
29 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
/Users/admin/builder/spi-builder-workspace/MobiusExtras/Source/ConnectableClass.swift:95:25: warning: reference to static property 'errorHandler' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 93 |         lock.unlock()
 94 |         guard consumerSet else {
 95 |             MobiusHooks.errorHandler(
    |                         `- warning: reference to static property 'errorHandler' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 96 |                 "\(type(of: self)) is unable to handle \(type(of: input)) before any consumer has been set",
 97 |                 #file,
/Users/admin/builder/spi-builder-workspace/MobiusCore/Source/MobiusHooks.swift:27:36: note: static property declared here
25 |     /// Internal: we prefer to call `errorHandler` directly, without abstractions, to minimize the depth of crash
26 |     /// stack traces. This requires that `#file` and `#line` are passed explicitly.
27 |     public private(set) static var errorHandler: ErrorHandler = MobiusHooks.defaultErrorHandler
   |                                    `- note: static property declared here
28 |
29 |     public static func setErrorHandler(_ newErrorHandler: @escaping ErrorHandler) {
[65/122] Emitting module MobiusTest
[66/122] Compiling MobiusTest UpdateSpec.swift
[67/122] Compiling MobiusTest DebugDiff.swift
[68/122] Compiling MobiusTest SimpleDiff.swift
[69/122] Compiling MobiusTest MatcherUtils.swift
[71/122] Compiling Nimble BeGreaterThan.swift
[72/122] Compiling Nimble BeGreaterThanOrEqualTo.swift
[73/122] Compiling Nimble BeIdenticalTo.swift
[74/122] Compiling Nimble BeLessThan.swift
[75/122] Compiling Nimble BeLessThanOrEqual.swift
[76/127] Compiling MobiusTest InitSpec.swift
[77/127] Compiling MobiusTest FirstMatchers.swift
[78/127] Compiling MobiusTest NextMatchers.swift
[79/127] Emitting module Nimble
[86/127] Compiling Nimble ExceptionCapture.swift
[92/127] Compiling Nimble BeginWith.swift
[93/127] Compiling Nimble BeginWithPrefix.swift
[94/127] Compiling Nimble Contain.swift
[95/127] Compiling Nimble ContainElementSatisfying.swift
[96/127] Compiling Nimble ElementsEqual.swift
[99/127] Compiling Nimble BeResult.swift
[100/127] Compiling Nimble BeVoid.swift
[101/127] Compiling Nimble BeWithin.swift
[102/127] Compiling Nimble MatchError.swift
[103/127] Compiling Nimble MatcherProtocols.swift
[104/127] Compiling Nimble PostNotification.swift
[105/127] Compiling Nimble Predicate.swift
[106/127] Compiling Nimble RaisesException.swift
[107/127] Compiling Nimble EndWith.swift
[108/127] Compiling Nimble Equal+Tuple.swift
[109/127] Compiling Nimble Equal.swift
[110/127] Compiling Nimble HaveCount.swift
[111/127] Compiling Nimble Match.swift
[119/127] Compiling Nimble Async.swift
[120/127] Compiling Nimble BeAKindOf.swift
[121/127] Compiling Nimble BeAnInstanceOf.swift
[123/127] Compiling Nimble Await.swift
[124/127] Compiling Nimble DispatchTimeInterval.swift
[125/127] Compiling Nimble Errors.swift
[126/127] Compiling Nimble SourceLocation.swift
[127/127] Compiling Nimble Stringers.swift
[128/130] Emitting module MobiusNimble
/Users/admin/builder/spi-builder-workspace/MobiusNimble/Source/NimbleFirstMatchers.swift:35:5: warning: let 'unexpectedNilParameterPredicateResult' is not concurrency-safe because non-'Sendable' type 'PredicateResult' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |
 34 | let nextBeingNilNotAllowed = "have a non-nil First. Got <nil>"
 35 | let unexpectedNilParameterPredicateResult = PredicateResult(bool: false, message: .expectedTo(nextBeingNilNotAllowed))
    |     `- warning: let 'unexpectedNilParameterPredicateResult' is not concurrency-safe because non-'Sendable' type 'PredicateResult' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |
 37 | /// Returns a `Predicate` that matches `First` instances with a model that is equal to the supplied one.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Nimble/Sources/Nimble/Matchers/Predicate.swift:91:15: note: struct 'PredicateResult' does not conform to the 'Sendable' protocol
 89 | /// The value that a Predicates return to describe if the given (actual) value matches the
 90 | /// predicate.
 91 | public struct PredicateResult {
    |               `- note: struct 'PredicateResult' does not conform to the 'Sendable' protocol
 92 |     /// Status indicates if the predicate matches, does not match, or fails.
 93 |     public var status: PredicateStatus
/Users/admin/builder/spi-builder-workspace/MobiusNimble/Source/NimbleFirstMatchers.swift:18:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Nimble'
 16 | import MobiusCore
 17 | import MobiusTest
 18 | import Nimble
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Nimble'
 19 |
 20 | /// Function produces an `AssertFirst` function to be used with the `InitSpec`
    :
 33 |
 34 | let nextBeingNilNotAllowed = "have a non-nil First. Got <nil>"
 35 | let unexpectedNilParameterPredicateResult = PredicateResult(bool: false, message: .expectedTo(nextBeingNilNotAllowed))
    |     |- note: annotate 'unexpectedNilParameterPredicateResult' 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
 36 |
 37 | /// Returns a `Predicate` that matches `First` instances with a model that is equal to the supplied one.
/Users/admin/builder/spi-builder-workspace/MobiusNimble/Source/NimbleNextMatchers.swift:35:5: warning: let 'unexpectedNilParameterPredicate' is not concurrency-safe because non-'Sendable' type 'PredicateResult' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |
 34 | let haveNonNilNext = "have a non-nil Next. Got <nil>"
 35 | let unexpectedNilParameterPredicate = Nimble.PredicateResult(bool: false, message: .expectedTo(haveNonNilNext))
    |     `- warning: let 'unexpectedNilParameterPredicate' is not concurrency-safe because non-'Sendable' type 'PredicateResult' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |
 37 | /// - Returns: a `Predicate` that matches `Next` instances with no model and no effects.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Nimble/Sources/Nimble/Matchers/Predicate.swift:91:15: note: struct 'PredicateResult' does not conform to the 'Sendable' protocol
 89 | /// The value that a Predicates return to describe if the given (actual) value matches the
 90 | /// predicate.
 91 | public struct PredicateResult {
    |               `- note: struct 'PredicateResult' does not conform to the 'Sendable' protocol
 92 |     /// Status indicates if the predicate matches, does not match, or fails.
 93 |     public var status: PredicateStatus
/Users/admin/builder/spi-builder-workspace/MobiusNimble/Source/NimbleNextMatchers.swift:18:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Nimble'
 16 | import MobiusCore
 17 | import MobiusTest
 18 | import Nimble
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Nimble'
 19 |
 20 | /// Convenience function for creating assertions.
    :
 33 |
 34 | let haveNonNilNext = "have a non-nil Next. Got <nil>"
 35 | let unexpectedNilParameterPredicate = Nimble.PredicateResult(bool: false, message: .expectedTo(haveNonNilNext))
    |     |- note: annotate 'unexpectedNilParameterPredicate' 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
 36 |
 37 | /// - Returns: a `Predicate` that matches `Next` instances with no model and no effects.
[129/130] Compiling MobiusNimble NimbleNextMatchers.swift
/Users/admin/builder/spi-builder-workspace/MobiusNimble/Source/NimbleNextMatchers.swift:35:5: warning: let 'unexpectedNilParameterPredicate' is not concurrency-safe because non-'Sendable' type 'PredicateResult' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |
 34 | let haveNonNilNext = "have a non-nil Next. Got <nil>"
 35 | let unexpectedNilParameterPredicate = Nimble.PredicateResult(bool: false, message: .expectedTo(haveNonNilNext))
    |     `- warning: let 'unexpectedNilParameterPredicate' is not concurrency-safe because non-'Sendable' type 'PredicateResult' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |
 37 | /// - Returns: a `Predicate` that matches `Next` instances with no model and no effects.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Nimble/Sources/Nimble/Matchers/Predicate.swift:91:15: note: struct 'PredicateResult' does not conform to the 'Sendable' protocol
 89 | /// The value that a Predicates return to describe if the given (actual) value matches the
 90 | /// predicate.
 91 | public struct PredicateResult {
    |               `- note: struct 'PredicateResult' does not conform to the 'Sendable' protocol
 92 |     /// Status indicates if the predicate matches, does not match, or fails.
 93 |     public var status: PredicateStatus
/Users/admin/builder/spi-builder-workspace/MobiusNimble/Source/NimbleNextMatchers.swift:18:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Nimble'
 16 | import MobiusCore
 17 | import MobiusTest
 18 | import Nimble
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Nimble'
 19 |
 20 | /// Convenience function for creating assertions.
    :
 33 |
 34 | let haveNonNilNext = "have a non-nil Next. Got <nil>"
 35 | let unexpectedNilParameterPredicate = Nimble.PredicateResult(bool: false, message: .expectedTo(haveNonNilNext))
    |     |- note: annotate 'unexpectedNilParameterPredicate' 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
 36 |
 37 | /// - Returns: a `Predicate` that matches `Next` instances with no model and no effects.
[130/130] Compiling MobiusNimble NimbleFirstMatchers.swift
/Users/admin/builder/spi-builder-workspace/MobiusNimble/Source/NimbleFirstMatchers.swift:35:5: warning: let 'unexpectedNilParameterPredicateResult' is not concurrency-safe because non-'Sendable' type 'PredicateResult' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |
 34 | let nextBeingNilNotAllowed = "have a non-nil First. Got <nil>"
 35 | let unexpectedNilParameterPredicateResult = PredicateResult(bool: false, message: .expectedTo(nextBeingNilNotAllowed))
    |     `- warning: let 'unexpectedNilParameterPredicateResult' is not concurrency-safe because non-'Sendable' type 'PredicateResult' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |
 37 | /// Returns a `Predicate` that matches `First` instances with a model that is equal to the supplied one.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Nimble/Sources/Nimble/Matchers/Predicate.swift:91:15: note: struct 'PredicateResult' does not conform to the 'Sendable' protocol
 89 | /// The value that a Predicates return to describe if the given (actual) value matches the
 90 | /// predicate.
 91 | public struct PredicateResult {
    |               `- note: struct 'PredicateResult' does not conform to the 'Sendable' protocol
 92 |     /// Status indicates if the predicate matches, does not match, or fails.
 93 |     public var status: PredicateStatus
/Users/admin/builder/spi-builder-workspace/MobiusNimble/Source/NimbleFirstMatchers.swift:18:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Nimble'
 16 | import MobiusCore
 17 | import MobiusTest
 18 | import Nimble
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Nimble'
 19 |
 20 | /// Function produces an `AssertFirst` function to be used with the `InitSpec`
    :
 33 |
 34 | let nextBeingNilNotAllowed = "have a non-nil First. Got <nil>"
 35 | let unexpectedNilParameterPredicateResult = PredicateResult(bool: false, message: .expectedTo(nextBeingNilNotAllowed))
    |     |- note: annotate 'unexpectedNilParameterPredicateResult' 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
 36 |
 37 | /// Returns a `Predicate` that matches `First` instances with a model that is equal to the supplied one.
Build complete! (22.87s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-case-paths",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.10.1",
            "upper_bound" : "0.11.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/pointfreeco/swift-case-paths"
    },
    {
      "identity" : "nimble",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "10.0.0",
            "upper_bound" : "11.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Quick/Nimble"
    },
    {
      "identity" : "quick",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.0.1",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Quick/Quick"
    }
  ],
  "manifest_display_name" : "Mobius",
  "name" : "Mobius",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "tvos",
      "version" : "10.0"
    },
    {
      "name" : "watchos",
      "version" : "3.0"
    }
  ],
  "products" : [
    {
      "name" : "MobiusCore",
      "targets" : [
        "MobiusCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MobiusExtras",
      "targets" : [
        "MobiusExtras"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MobiusNimble",
      "targets" : [
        "MobiusNimble"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MobiusTest",
      "targets" : [
        "MobiusTest"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "MobiusThrowableAssertion",
      "module_type" : "ClangTarget",
      "name" : "MobiusThrowableAssertion",
      "path" : "MobiusThrowableAssertion/Source",
      "sources" : [
        "MobiusThrowableAssertion.m"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MobiusTestTests",
      "module_type" : "SwiftTarget",
      "name" : "MobiusTestTests",
      "path" : "MobiusTest/Test",
      "product_dependencies" : [
        "Quick",
        "Nimble"
      ],
      "sources" : [
        "DebugDiffTests.swift",
        "FirstMatchersTests.swift",
        "InitSpecTests.swift",
        "NextMatchersTests.swift",
        "TestUtil.swift",
        "UpdateSpecTests.swift"
      ],
      "target_dependencies" : [
        "MobiusTest"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MobiusTest",
      "module_type" : "SwiftTarget",
      "name" : "MobiusTest",
      "path" : "MobiusTest/Source",
      "product_memberships" : [
        "MobiusNimble",
        "MobiusTest"
      ],
      "sources" : [
        "DebugDiff.swift",
        "FirstMatchers.swift",
        "InitSpec.swift",
        "MatcherUtils.swift",
        "NextMatchers.swift",
        "SimpleDiff.swift",
        "UpdateSpec.swift"
      ],
      "target_dependencies" : [
        "MobiusCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MobiusNimbleTests",
      "module_type" : "SwiftTarget",
      "name" : "MobiusNimbleTests",
      "path" : "MobiusNimble/Test",
      "product_dependencies" : [
        "Quick"
      ],
      "sources" : [
        "NimbleFirstMatchersTests.swift",
        "NimbleNextMatchersTests.swift",
        "TestUtil.swift"
      ],
      "target_dependencies" : [
        "MobiusNimble"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MobiusNimble",
      "module_type" : "SwiftTarget",
      "name" : "MobiusNimble",
      "path" : "MobiusNimble/Source",
      "product_dependencies" : [
        "Nimble"
      ],
      "product_memberships" : [
        "MobiusNimble"
      ],
      "sources" : [
        "NimbleFirstMatchers.swift",
        "NimbleNextMatchers.swift"
      ],
      "target_dependencies" : [
        "MobiusCore",
        "MobiusTest"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MobiusExtrasTests",
      "module_type" : "SwiftTarget",
      "name" : "MobiusExtrasTests",
      "path" : "MobiusExtras/Test",
      "product_dependencies" : [
        "Nimble",
        "Quick"
      ],
      "sources" : [
        "ConnectableClassTests.swift",
        "ConnectableContramapTests.swift",
        "ConnectableMapTests.swift",
        "CopyableTests.swift",
        "EventSource+ExtensionsTests.swift",
        "WikiTutorialTest.swift"
      ],
      "target_dependencies" : [
        "MobiusCore",
        "MobiusExtras",
        "MobiusThrowableAssertion"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MobiusExtras",
      "module_type" : "SwiftTarget",
      "name" : "MobiusExtras",
      "path" : "MobiusExtras/Source",
      "product_memberships" : [
        "MobiusExtras"
      ],
      "sources" : [
        "BeginnerLoop.swift",
        "ConnectableClass.swift",
        "ConnectableContramap.swift",
        "ConnectableMap.swift",
        "Copyable.swift",
        "EventSourceMap.swift",
        "SimpleLogger.swift"
      ],
      "target_dependencies" : [
        "MobiusCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MobiusCoreTests",
      "module_type" : "SwiftTarget",
      "name" : "MobiusCoreTests",
      "path" : "MobiusCore/Test",
      "product_dependencies" : [
        "Nimble",
        "Quick"
      ],
      "sources" : [
        "AnonymousDisposableTests.swift",
        "AnyConnectionTests.swift",
        "AnyMobiusLoggerTests.swift",
        "AsyncDispatchQueueConnectableTests.swift",
        "CompositeDisposableTests.swift",
        "ConnectablePublisherTests.swift",
        "EffectHandlers/AnyEffectHandlerTests.swift",
        "EffectHandlers/CallbackTests.swift",
        "EffectHandlers/EffectHandlerTests.swift",
        "EffectHandlers/EffectRouterDSLTests.swift",
        "EffectHandlers/EffectRouterTests.swift",
        "EffectHandlers/EnumRouteTests.swift",
        "EventRouterDisposalLogicalRaceRegressionTest.swift",
        "EventSources/AnyEventSourceTests.swift",
        "EventSources/CompositeEventSourceBuilderTests.swift",
        "FirstTests.swift",
        "LoggingInitiateTests.swift",
        "LoggingUpdateTests.swift",
        "MobiusControllerTests.swift",
        "MobiusHooksTests.swift",
        "MobiusIntegrationTests.swift",
        "MobiusLoopTests.swift",
        "NextTests.swift",
        "NonReentrancyTests.swift",
        "Task+DisposableTests.swift",
        "TestingErrorHandler.swift",
        "TestingUtil.swift",
        "WorkBagTests.swift"
      ],
      "target_dependencies" : [
        "MobiusCore",
        "MobiusThrowableAssertion"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MobiusCore",
      "module_type" : "SwiftTarget",
      "name" : "MobiusCore",
      "path" : "MobiusCore/Source",
      "product_dependencies" : [
        "CasePaths"
      ],
      "product_memberships" : [
        "MobiusCore",
        "MobiusExtras",
        "MobiusNimble",
        "MobiusTest"
      ],
      "sources" : [
        "AsyncDispatchQueueConnectable.swift",
        "AsyncStartStopStateMachine.swift",
        "ConcurrentAccessDetector.swift",
        "Connectable.swift",
        "ConnectablePublisher.swift",
        "Connection.swift",
        "Consumer.swift",
        "Disposables/AnonymousDisposable.swift",
        "Disposables/CompositeDisposable.swift",
        "Disposables/Disposable.swift",
        "Disposables/Task+Disposable.swift",
        "EffectHandlers/EffectCallback.swift",
        "EffectHandlers/EffectExecutor.swift",
        "EffectHandlers/EffectHandler.swift",
        "EffectHandlers/EffectRouter.swift",
        "EffectHandlers/EffectRouterDSL.swift",
        "EffectHandlers/EnumRoute.swift",
        "EffectHandlers/ThreadSafeConnectable.swift",
        "EventSources/AnyEventSource.swift",
        "EventSources/CompositeEventSourceBuilder.swift",
        "EventSources/EventSource.swift",
        "First.swift",
        "Lock.swift",
        "LoggingAdaptors.swift",
        "Mobius.swift",
        "MobiusController.swift",
        "MobiusHooks.swift",
        "MobiusLogger.swift",
        "MobiusLoop.swift",
        "Next.swift",
        "WorkBag.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.