The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of Balam, reference master (c29b5b), with Swift 6.2 (beta) for macOS (SPM) on 18 Jun 2025 18:10:40 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.64.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
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/catverse/balam.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-1EA4D86E10B52AF.txt
[3/8] Compiling Balam Set.swift
[4/8] Compiling Balam Node.swift
[5/8] Compiling Balam Mirror.swift
[6/8] Compiling Balam Property.swift
[7/8] Compiling Balam Balam.swift
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:29:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
 27 |     public func add<T>(_ node: T) where T : Codable {
 28 |         queue.async {
 29 |             self.items.add(node)
    |                        `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 30 |             self.save()
 31 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:27:26: warning: capture of non-sendable type 'T.Type' in an isolated closure
 25 |     }
 26 |
 27 |     public func add<T>(_ node: T) where T : Codable {
    |                          `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 28 |         queue.async {
 29 |             self.items.add(node)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:36:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
 34 |     public func add<T>(_ node: T) where T : Codable & Equatable {
 35 |         queue.async {
 36 |             self.items.add(node) { node == $0 }
    |                        `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 37 |             self.save()
 38 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:34:26: warning: capture of non-sendable type 'T.Type' in an isolated closure
 32 |     }
 33 |
 34 |     public func add<T>(_ node: T) where T : Codable & Equatable {
    |                          `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 35 |         queue.async {
 36 |             self.items.add(node) { node == $0 }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:43:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
 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 non-sendable type 'T.Type' in an isolated closure
 44 |             self.save()
 45 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:41:26: warning: capture of non-sendable type 'T.Type' in an isolated closure
 39 |     }
 40 |
 41 |     public func add<T>(_ node: T) where T : Codable & Identifiable {
    |                          `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 42 |         queue.async {
 43 |             self.items.add(node) { node.id == $0.id }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:50:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
 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 non-sendable type 'T.Type' in an isolated closure
 51 |             self.save()
 52 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:48:26: warning: capture of non-sendable type 'T.Type' in an isolated closure
 46 |     }
 47 |
 48 |     public func add<T>(_ node: T) where T : Codable & Equatable & Identifiable {
    |                          `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 49 |         queue.async {
 50 |             self.items.add(node) { node.id == $0.id && node == $0 }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:57:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
 55 |     public func add<T>(_ nodes: [T]) where T : Codable {
 56 |         queue.async {
 57 |             self.items.add(nodes)
    |                        `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 58 |             self.save()
 59 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:55:26: warning: capture of non-sendable type 'T.Type' in an isolated closure
 53 |     }
 54 |
 55 |     public func add<T>(_ nodes: [T]) where T : Codable {
    |                          `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 56 |         queue.async {
 57 |             self.items.add(nodes)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:64:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
 62 |     public func add<T>(_ nodes: [T]) where T : Codable & Equatable {
 63 |         queue.async {
 64 |             self.items.add(nodes) { $0 == $1 }
    |                        `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 65 |             self.save()
 66 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:62:26: warning: capture of non-sendable type 'T.Type' in an isolated closure
 60 |     }
 61 |
 62 |     public func add<T>(_ nodes: [T]) where T : Codable & Equatable {
    |                          `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 63 |         queue.async {
 64 |             self.items.add(nodes) { $0 == $1 }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:71:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
 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 non-sendable type 'T.Type' in an isolated closure
 72 |             self.save()
 73 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:69:26: warning: capture of non-sendable type 'T.Type' in an isolated closure
 67 |     }
 68 |
 69 |     public func add<T>(_ nodes: [T]) where T : Codable & Identifiable {
    |                          `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 70 |         queue.async {
 71 |             self.items.add(nodes) { $0.id == $1.id }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:78:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
 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 non-sendable type 'T.Type' in an isolated closure
 79 |             self.save()
 80 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:76:26: warning: capture of non-sendable type 'T.Type' in an isolated closure
 74 |     }
 75 |
 76 |     public func add<T>(_ nodes: [T]) where T : Codable & Equatable & Identifiable {
    |                          `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 77 |         queue.async {
 78 |             self.items.add(nodes) { $0.id == $1.id && $0 == $1 }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:85:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
 83 |     public func update<T>(_ node: T) where T : Codable & Equatable {
 84 |         queue.async {
 85 |             self.items.update(node) { node == $0 }
    |                        `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 86 |             self.save()
 87 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:83:29: warning: capture of non-sendable type 'T.Type' in an isolated closure
 81 |     }
 82 |
 83 |     public func update<T>(_ node: T) where T : Codable & Equatable {
    |                             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 84 |         queue.async {
 85 |             self.items.update(node) { node == $0 }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:92:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
 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 non-sendable type 'T.Type' in an isolated closure
 93 |             self.save()
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:90:29: warning: capture of non-sendable type 'T.Type' in an isolated closure
 88 |     }
 89 |
 90 |     public func update<T>(_ node: T) where T : Codable & Identifiable {
    |                             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 91 |         queue.async {
 92 |             self.items.update(node) { node.id == $0.id }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:99:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
 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 non-sendable type 'T.Type' in an isolated closure
100 |             self.save()
101 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:97:29: warning: capture of non-sendable type 'T.Type' in an isolated closure
 95 |     }
 96 |
 97 |     public func update<T>(_ node: T) where T : Codable & Equatable & Identifiable {
    |                             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 98 |         queue.async {
 99 |             self.items.update(node) { node.id == $0.id && node == $0 }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:106:31: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
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 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
107 |             self.save()
108 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:106:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
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 non-sendable type 'T.Type' in an isolated closure
107 |             self.save()
108 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:104:29: warning: capture of non-sendable type 'T.Type' in an isolated closure
102 |     }
103 |
104 |     public func update<T>(_ type: T.Type, with: @escaping (inout T) -> Void) where T : Codable {
    |                             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
105 |         queue.async {
106 |             self.items.update(type, with: with)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:113:32: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
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 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
114 |             self.save()
115 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:113:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
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 non-sendable type 'T.Type' in an isolated closure
114 |             self.save()
115 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:111:30: warning: capture of non-sendable type 'T.Type' in an isolated closure
109 |     }
110 |
111 |     public func replace<T>(_ type: T.Type, with: T) where T : Codable {
    |                              `- warning: capture of non-sendable type 'T.Type' in an isolated closure
112 |         queue.async {
113 |             self.items.replace(type, with: with)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:120:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
118 |     public func remove<T>(_ node: T) where T : Codable {
119 |         queue.async {
120 |             self.items.delete(node)
    |                        `- warning: capture of non-sendable type 'T.Type' in an isolated closure
121 |             self.save()
122 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:118:29: warning: capture of non-sendable type 'T.Type' in an isolated closure
116 |     }
117 |
118 |     public func remove<T>(_ node: T) where T : Codable {
    |                             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
119 |         queue.async {
120 |             self.items.delete(node)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:127:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
125 |     public func remove<T>(_ node: T) where T : Codable & Equatable {
126 |         queue.async {
127 |             self.items.delete(node) { node == $0 }
    |                        `- warning: capture of non-sendable type 'T.Type' in an isolated closure
128 |             self.save()
129 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:125:29: warning: capture of non-sendable type 'T.Type' in an isolated closure
123 |     }
124 |
125 |     public func remove<T>(_ node: T) where T : Codable & Equatable {
    |                             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
126 |         queue.async {
127 |             self.items.delete(node) { node == $0 }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:134:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
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 non-sendable type 'T.Type' in an isolated closure
135 |             self.save()
136 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:132:29: warning: capture of non-sendable type 'T.Type' in an isolated closure
130 |     }
131 |
132 |     public func remove<T>(_ node: T) where T : Codable & Identifiable {
    |                             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
133 |         queue.async {
134 |             self.items.delete(node) { node.id == $0.id }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:141:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
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 non-sendable type 'T.Type' in an isolated closure
142 |             self.save()
143 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:139:29: warning: capture of non-sendable type 'T.Type' in an isolated closure
137 |     }
138 |
139 |     public func remove<T>(_ node: T) where T : Codable & Equatable & Identifiable {
    |                             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
140 |         queue.async {
141 |             self.items.delete(node) { node.id == $0.id && node == $0 }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:148:24: warning: capture of non-sendable type 'T.Type' in an isolated closure
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 non-sendable type 'T.Type' in an isolated closure
149 |             self.save()
150 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:146:43: warning: capture of non-sendable type 'T.Type' in an isolated closure
144 |     }
145 |
146 |     public func remove<T>(_ type: T.Type, when: @escaping (T) -> Bool) where T : Codable {
    |                                           `- warning: capture of non-sendable type 'T.Type' in an isolated closure
147 |         queue.async {
148 |             self.items.delete(when)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:156:82: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
154 |         .init { promise in
155 |             self.queue.async {
156 |                 let result = Result<[T], Never>.success(self.items.first { $0 == type }?.decoding() ?? [])
    |                                                                                  `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
157 |                 DispatchQueue.main.async {
158 |                     promise(result)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:156:49: warning: capture of non-sendable type 'T.Type' in an isolated closure
154 |         .init { promise in
155 |             self.queue.async {
156 |                 let result = Result<[T], Never>.success(self.items.first { $0 == type }?.decoding() ?? [])
    |                                                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
157 |                 DispatchQueue.main.async {
158 |                     promise(result)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:153:28: warning: capture of non-sendable type 'T.Type' in an isolated closure
151 |     }
152 |
153 |     public func nodes<T>(_ type: T.Type) -> Future<[T], Never> where T : Codable {
    |                            `- warning: capture of non-sendable type 'T.Type' in an isolated closure
154 |         .init { promise in
155 |             self.queue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:156:82: warning: capture of 'type' with non-sendable type 'T.Type' in an isolated closure
154 |         .init { promise in
155 |             self.queue.async {
156 |                 let result = Result<[T], Never>.success(self.items.first { $0 == type }?.decoding() ?? [])
    |                                                                                  `- warning: capture of 'type' with non-sendable type 'T.Type' in an isolated closure
157 |                 DispatchQueue.main.async {
158 |                     promise(result)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:167:74: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
165 |         .init { promise in
166 |             self.queue.async {
167 |                 let result = Result<[T], Never>.success(self.items.nodes(type, isIncluded: isIncluded))
    |                                                                          `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
168 |                 DispatchQueue.main.async {
169 |                     promise(result)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:167:49: warning: capture of non-sendable type 'T.Type' in an isolated closure
165 |         .init { promise in
166 |             self.queue.async {
167 |                 let result = Result<[T], Never>.success(self.items.nodes(type, isIncluded: isIncluded))
    |                                                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
168 |                 DispatchQueue.main.async {
169 |                     promise(result)
/Users/admin/builder/spi-builder-workspace/Sources/Balam.swift:164:28: warning: capture of non-sendable type 'T.Type' in an isolated closure
162 |     }
163 |
164 |     public func nodes<T>(_ type: T.Type, isIncluded: @escaping (T) -> Bool) -> Future<[T], Never> where T : Codable {
    |                            `- warning: capture of non-sendable type 'T.Type' in an isolated closure
165 |         .init { promise in
166 |             self.queue.async {
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[8/8] Emitting module Balam
Build complete! (3.80s)
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.