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 Balam, reference master (c29b5b), with Swift 6.0 for macOS (SPM) on 27 Nov 2024 18:23:02 UTC.

Swift 6 data race errors: 0

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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/catverse/balam.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/catverse/balam
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at c29b5b1 Update tools
Cloned https://github.com/catverse/balam.git
Revision (git rev-parse @):
c29b5b156b0d8ea5f5b6c57de5675dcc9026bbdc
SUCCESS checkout https://github.com/catverse/balam.git at master
========================================
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": "balam",
      "name": "Balam",
      "url": "https://github.com/catverse/balam.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/balam",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/catverse/balam.git
[1/868] Fetching balam
Fetched https://github.com/catverse/balam.git from cache (1.01s)
Creating working copy for https://github.com/catverse/balam.git
Working copy of https://github.com/catverse/balam.git resolved at master (c29b5b1)
warning: '.resolve-product-dependencies': dependency 'balam' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/catverse/balam.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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/8] Compiling Balam Mirror.swift
[4/8] Compiling Balam Node.swift
[5/8] Compiling Balam Property.swift
[6/8] Compiling Balam Set.swift
[7/8] Compiling Balam Balam.swift
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:20:17: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
 18 |                 let nodes = try? JSONDecoder().decode(Set<Node>.self, from: (.init(contentsOf: url) as NSData).decompressed(using: .lzfse) as Data)
 19 |             else {
 20 |                 self.save()
    |                 `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 21 |                 return
 22 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:29:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
 27 |     public func add<T>(_ node: T) where T : Codable {
 28 |         queue.async {
 29 |             self.items.add(node)
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 |             self.save()
 31 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:29:28: warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 25 |     }
 26 |
 27 |     public func add<T>(_ node: T) where T : Codable {
    |                     `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 28 |         queue.async {
 29 |             self.items.add(node)
    |                            `- warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 |             self.save()
 31 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:36:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
 34 |     public func add<T>(_ node: T) where T : Codable & Equatable {
 35 |         queue.async {
 36 |             self.items.add(node) { node == $0 }
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 37 |             self.save()
 38 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:36:28: warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     public func add<T>(_ node: T) where T : Codable & Equatable {
    |                     `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 35 |         queue.async {
 36 |             self.items.add(node) { node == $0 }
    |                            `- warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 37 |             self.save()
 38 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:36:36: warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     public func add<T>(_ node: T) where T : Codable & Equatable {
    |                     `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 35 |         queue.async {
 36 |             self.items.add(node) { node == $0 }
    |                                    `- warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 37 |             self.save()
 38 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:43:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
 41 |     public func add<T>(_ node: T) where T : Codable & Identifiable {
 42 |         queue.async {
 43 |             self.items.add(node) { node.id == $0.id }
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 44 |             self.save()
 45 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:43:28: warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 39 |     }
 40 |
 41 |     public func add<T>(_ node: T) where T : Codable & Identifiable {
    |                     `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 42 |         queue.async {
 43 |             self.items.add(node) { node.id == $0.id }
    |                            `- warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 44 |             self.save()
 45 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:43:36: warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 39 |     }
 40 |
 41 |     public func add<T>(_ node: T) where T : Codable & Identifiable {
    |                     `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 42 |         queue.async {
 43 |             self.items.add(node) { node.id == $0.id }
    |                                    `- warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 44 |             self.save()
 45 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:50:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
 48 |     public func add<T>(_ node: T) where T : Codable & Equatable & Identifiable {
 49 |         queue.async {
 50 |             self.items.add(node) { node.id == $0.id && node == $0 }
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 51 |             self.save()
 52 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:50:28: warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 46 |     }
 47 |
 48 |     public func add<T>(_ node: T) where T : Codable & Equatable & Identifiable {
    |                     `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 49 |         queue.async {
 50 |             self.items.add(node) { node.id == $0.id && node == $0 }
    |                            `- warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 51 |             self.save()
 52 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:50:36: warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 46 |     }
 47 |
 48 |     public func add<T>(_ node: T) where T : Codable & Equatable & Identifiable {
    |                     `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 49 |         queue.async {
 50 |             self.items.add(node) { node.id == $0.id && node == $0 }
    |                                    `- warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 51 |             self.save()
 52 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:50:56: warning: implicit capture of 'node' requires that 'T' conforms to `Sendable`; this is an error in the Swift 6 language mode
 46 |     }
 47 |
 48 |     public func add<T>(_ node: T) where T : Codable & Equatable & Identifiable {
    |                     `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 49 |         queue.async {
 50 |             self.items.add(node) { node.id == $0.id && node == $0 }
    |                                                        `- warning: implicit capture of 'node' requires that 'T' conforms to `Sendable`; this is an error in the Swift 6 language mode
 51 |             self.save()
 52 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:57:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
 55 |     public func add<T>(_ nodes: [T]) where T : Codable {
 56 |         queue.async {
 57 |             self.items.add(nodes)
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |             self.save()
 59 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:57:28: warning: capture of 'nodes' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |     }
 54 |
 55 |     public func add<T>(_ nodes: [T]) where T : Codable {
    |                     `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 56 |         queue.async {
 57 |             self.items.add(nodes)
    |                            `- warning: capture of 'nodes' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |             self.save()
 59 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:64:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
 62 |     public func add<T>(_ nodes: [T]) where T : Codable & Equatable {
 63 |         queue.async {
 64 |             self.items.add(nodes) { $0 == $1 }
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 65 |             self.save()
 66 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:64:28: warning: capture of 'nodes' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 60 |     }
 61 |
 62 |     public func add<T>(_ nodes: [T]) where T : Codable & Equatable {
    |                     `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 63 |         queue.async {
 64 |             self.items.add(nodes) { $0 == $1 }
    |                            `- warning: capture of 'nodes' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 65 |             self.save()
 66 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:71:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
 69 |     public func add<T>(_ nodes: [T]) where T : Codable & Identifiable {
 70 |         queue.async {
 71 |             self.items.add(nodes) { $0.id == $1.id }
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 72 |             self.save()
 73 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:71:28: warning: capture of 'nodes' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 67 |     }
 68 |
 69 |     public func add<T>(_ nodes: [T]) where T : Codable & Identifiable {
    |                     `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 70 |         queue.async {
 71 |             self.items.add(nodes) { $0.id == $1.id }
    |                            `- warning: capture of 'nodes' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 72 |             self.save()
 73 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:78:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
 76 |     public func add<T>(_ nodes: [T]) where T : Codable & Equatable & Identifiable {
 77 |         queue.async {
 78 |             self.items.add(nodes) { $0.id == $1.id && $0 == $1 }
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 79 |             self.save()
 80 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:78:28: warning: capture of 'nodes' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 74 |     }
 75 |
 76 |     public func add<T>(_ nodes: [T]) where T : Codable & Equatable & Identifiable {
    |                     `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 77 |         queue.async {
 78 |             self.items.add(nodes) { $0.id == $1.id && $0 == $1 }
    |                            `- warning: capture of 'nodes' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 79 |             self.save()
 80 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:85:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
 83 |     public func update<T>(_ node: T) where T : Codable & Equatable {
 84 |         queue.async {
 85 |             self.items.update(node) { node == $0 }
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 86 |             self.save()
 87 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:85:31: warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 81 |     }
 82 |
 83 |     public func update<T>(_ node: T) where T : Codable & Equatable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 84 |         queue.async {
 85 |             self.items.update(node) { node == $0 }
    |                               `- warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 86 |             self.save()
 87 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:85:39: warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 81 |     }
 82 |
 83 |     public func update<T>(_ node: T) where T : Codable & Equatable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 84 |         queue.async {
 85 |             self.items.update(node) { node == $0 }
    |                                       `- warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 86 |             self.save()
 87 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:92:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
 90 |     public func update<T>(_ node: T) where T : Codable & Identifiable {
 91 |         queue.async {
 92 |             self.items.update(node) { node.id == $0.id }
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 93 |             self.save()
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:92:31: warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |     }
 89 |
 90 |     public func update<T>(_ node: T) where T : Codable & Identifiable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 91 |         queue.async {
 92 |             self.items.update(node) { node.id == $0.id }
    |                               `- warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 93 |             self.save()
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:92:39: warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 88 |     }
 89 |
 90 |     public func update<T>(_ node: T) where T : Codable & Identifiable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 91 |         queue.async {
 92 |             self.items.update(node) { node.id == $0.id }
    |                                       `- warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 93 |             self.save()
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:99:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
 97 |     public func update<T>(_ node: T) where T : Codable & Equatable & Identifiable {
 98 |         queue.async {
 99 |             self.items.update(node) { node.id == $0.id && node == $0 }
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 |             self.save()
101 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:99:31: warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |     }
 96 |
 97 |     public func update<T>(_ node: T) where T : Codable & Equatable & Identifiable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 98 |         queue.async {
 99 |             self.items.update(node) { node.id == $0.id && node == $0 }
    |                               `- warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 |             self.save()
101 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:99:39: warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 95 |     }
 96 |
 97 |     public func update<T>(_ node: T) where T : Codable & Equatable & Identifiable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 98 |         queue.async {
 99 |             self.items.update(node) { node.id == $0.id && node == $0 }
    |                                       `- warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
100 |             self.save()
101 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:99:59: warning: implicit capture of 'node' requires that 'T' conforms to `Sendable`; this is an error in the Swift 6 language mode
 95 |     }
 96 |
 97 |     public func update<T>(_ node: T) where T : Codable & Equatable & Identifiable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 98 |         queue.async {
 99 |             self.items.update(node) { node.id == $0.id && node == $0 }
    |                                                           `- warning: implicit capture of 'node' requires that 'T' conforms to `Sendable`; this is an error in the Swift 6 language mode
100 |             self.save()
101 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:106:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
104 |     public func update<T>(_ type: T.Type, with: @escaping (inout T) -> Void) where T : Codable {
105 |         queue.async {
106 |             self.items.update(type, with: with)
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
107 |             self.save()
108 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:106:43: warning: capture of 'with' with non-sendable type '(inout T) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
104 |     public func update<T>(_ type: T.Type, with: @escaping (inout T) -> Void) where T : Codable {
105 |         queue.async {
106 |             self.items.update(type, with: with)
    |                                           |- warning: capture of 'with' with non-sendable type '(inout T) -> Void' 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'
107 |             self.save()
108 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:113:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
111 |     public func replace<T>(_ type: T.Type, with: T) where T : Codable {
112 |         queue.async {
113 |             self.items.replace(type, with: with)
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
114 |             self.save()
115 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:113:44: warning: capture of 'with' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 |     }
110 |
111 |     public func replace<T>(_ type: T.Type, with: T) where T : Codable {
    |                         `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
112 |         queue.async {
113 |             self.items.replace(type, with: with)
    |                                            `- warning: capture of 'with' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
114 |             self.save()
115 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:120:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
118 |     public func remove<T>(_ node: T) where T : Codable {
119 |         queue.async {
120 |             self.items.delete(node)
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |             self.save()
122 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:120:31: warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
116 |     }
117 |
118 |     public func remove<T>(_ node: T) where T : Codable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
119 |         queue.async {
120 |             self.items.delete(node)
    |                               `- warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |             self.save()
122 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:127:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
125 |     public func remove<T>(_ node: T) where T : Codable & Equatable {
126 |         queue.async {
127 |             self.items.delete(node) { node == $0 }
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
128 |             self.save()
129 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:127:31: warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |     }
124 |
125 |     public func remove<T>(_ node: T) where T : Codable & Equatable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
126 |         queue.async {
127 |             self.items.delete(node) { node == $0 }
    |                               `- warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
128 |             self.save()
129 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:127:39: warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
123 |     }
124 |
125 |     public func remove<T>(_ node: T) where T : Codable & Equatable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
126 |         queue.async {
127 |             self.items.delete(node) { node == $0 }
    |                                       `- warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
128 |             self.save()
129 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:134:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
132 |     public func remove<T>(_ node: T) where T : Codable & Identifiable {
133 |         queue.async {
134 |             self.items.delete(node) { node.id == $0.id }
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
135 |             self.save()
136 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:134:31: warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |     }
131 |
132 |     public func remove<T>(_ node: T) where T : Codable & Identifiable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
133 |         queue.async {
134 |             self.items.delete(node) { node.id == $0.id }
    |                               `- warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
135 |             self.save()
136 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:134:39: warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
130 |     }
131 |
132 |     public func remove<T>(_ node: T) where T : Codable & Identifiable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
133 |         queue.async {
134 |             self.items.delete(node) { node.id == $0.id }
    |                                       `- warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
135 |             self.save()
136 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:141:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
139 |     public func remove<T>(_ node: T) where T : Codable & Equatable & Identifiable {
140 |         queue.async {
141 |             self.items.delete(node) { node.id == $0.id && node == $0 }
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
142 |             self.save()
143 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:141:31: warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
137 |     }
138 |
139 |     public func remove<T>(_ node: T) where T : Codable & Equatable & Identifiable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
140 |         queue.async {
141 |             self.items.delete(node) { node.id == $0.id && node == $0 }
    |                               `- warning: capture of 'node' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
142 |             self.save()
143 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:141:39: warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
137 |     }
138 |
139 |     public func remove<T>(_ node: T) where T : Codable & Equatable & Identifiable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
140 |         queue.async {
141 |             self.items.delete(node) { node.id == $0.id && node == $0 }
    |                                       `- warning: capture of 'node' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
142 |             self.save()
143 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:141:59: warning: implicit capture of 'node' requires that 'T' conforms to `Sendable`; this is an error in the Swift 6 language mode
137 |     }
138 |
139 |     public func remove<T>(_ node: T) where T : Codable & Equatable & Identifiable {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
140 |         queue.async {
141 |             self.items.delete(node) { node.id == $0.id && node == $0 }
    |                                                           `- warning: implicit capture of 'node' requires that 'T' conforms to `Sendable`; this is an error in the Swift 6 language mode
142 |             self.save()
143 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:148:13: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
146 |     public func remove<T>(_ type: T.Type, when: @escaping (T) -> Bool) where T : Codable {
147 |         queue.async {
148 |             self.items.delete(when)
    |             `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
149 |             self.save()
150 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:148:31: warning: capture of 'when' with non-sendable type '(T) -> Bool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 |     public func remove<T>(_ type: T.Type, when: @escaping (T) -> Bool) where T : Codable {
147 |         queue.async {
148 |             self.items.delete(when)
    |                               |- warning: capture of 'when' with non-sendable type '(T) -> Bool' 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'
149 |             self.save()
150 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:156:57: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
154 |         .init { promise in
155 |             self.queue.async {
156 |                 let result = Result<[T], Never>.success(self.items.first { $0 == type }?.decoding() ?? [])
    |                                                         `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
157 |                 DispatchQueue.main.async {
158 |                     promise(result)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:158:21: warning: capture of 'promise' with non-sendable type '(Result<[T], Never>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
156 |                 let result = Result<[T], Never>.success(self.items.first { $0 == type }?.decoding() ?? [])
157 |                 DispatchQueue.main.async {
158 |                     promise(result)
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[T], Never>) -> Void' 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'
159 |                 }
160 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:167:57: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
165 |         .init { promise in
166 |             self.queue.async {
167 |                 let result = Result<[T], Never>.success(self.items.nodes(type, isIncluded: isIncluded))
    |                                                         `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
168 |                 DispatchQueue.main.async {
169 |                     promise(result)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:167:92: warning: capture of 'isIncluded' with non-sendable type '(T) -> Bool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
165 |         .init { promise in
166 |             self.queue.async {
167 |                 let result = Result<[T], Never>.success(self.items.nodes(type, isIncluded: isIncluded))
    |                                                                                            |- warning: capture of 'isIncluded' with non-sendable type '(T) -> Bool' 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'
168 |                 DispatchQueue.main.async {
169 |                     promise(result)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:169:21: warning: capture of 'promise' with non-sendable type '(Result<[T], Never>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
167 |                 let result = Result<[T], Never>.success(self.items.nodes(type, isIncluded: isIncluded))
168 |                 DispatchQueue.main.async {
169 |                     promise(result)
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[T], Never>) -> Void' 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'
170 |                 }
171 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:178:63: warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Combine
  3 |
  4 | public final class Balam {
    |                    `- note: class 'Balam' does not conform to the 'Sendable' protocol
  5 |     private(set) var items = Set<Node>()
  6 |     private let url: URL
    :
176 |         .init { promise in
177 |             self.queue.async {
178 |                 let result = Result<Set<Node>, Never>.success(self.items)
    |                                                               `- warning: capture of 'self' with non-sendable type 'Balam' in a `@Sendable` closure; this is an error in the Swift 6 language mode
179 |                 DispatchQueue.main.async {
180 |                     promise(result)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:180:21: warning: capture of 'promise' with non-sendable type '(Result<Set<Node>, Never>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
178 |                 let result = Result<Set<Node>, Never>.success(self.items)
179 |                 DispatchQueue.main.async {
180 |                     promise(result)
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<Set<Node>, Never>) -> Void' 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'
181 |                 }
182 |             }
[8/8] Emitting module Balam
Build complete! (144.70s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Balam",
  "name" : "Balam",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "Balam",
      "targets" : [
        "Balam"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Tests",
      "module_type" : "SwiftTarget",
      "name" : "Tests",
      "path" : "Tests",
      "sources" : [
        "AddBatchTests.swift",
        "AddTests.swift",
        "BalamTests.swift",
        "EnumTests.swift",
        "GetTests.swift",
        "Mocks.swift",
        "NodeTests.swift",
        "PropertyTests.swift",
        "RemoveTests.swift",
        "UpdateTests.swift"
      ],
      "target_dependencies" : [
        "Balam"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Balam",
      "module_type" : "SwiftTarget",
      "name" : "Balam",
      "path" : "Sources",
      "product_memberships" : [
        "Balam"
      ],
      "sources" : [
        "Balam.swift",
        "Mirror.swift",
        "Node.swift",
        "Property.swift",
        "Set.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.