Build Information
Successful build of Balam, reference 1.0.0 (d3be40
), with Swift 6.2 (beta) for macOS (SPM) on 18 Jun 2025 18:10:10 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: 1.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/catverse/balam
* tag 1.0.0 -> FETCH_HEAD
HEAD is now at d3be40e Test replace saves
Cloned https://github.com/catverse/balam.git
Revision (git rev-parse @):
d3be40eec44f3d725ceeef0f913d567740133855
SUCCESS checkout https://github.com/catverse/balam.git at 1.0.0
========================================
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 Property.swift
[5/8] Compiling Balam Node.swift
[6/8] Compiling Balam Mirror.swift
[7/8] Emitting module Balam
[8/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>
Build complete! (4.23s)
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.2"
}
Done.