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 Split, reference 3.0.0 (e0433d), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 01:28:07 UTC.

Swift 6 data race errors: 21

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

 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
[327/339] Compiling Split SplitsEncoder.swift
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:49:30: warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | struct SplitsParallelDecoder: SplitsDecoder {
    |        `- note: consider making struct 'SplitsParallelDecoder' conform to the 'Sendable' protocol
 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
[328/339] Compiling Split SplitsSnapshot.swift
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:49:30: warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | struct SplitsParallelDecoder: SplitsDecoder {
    |        `- note: consider making struct 'SplitsParallelDecoder' conform to the 'Sendable' protocol
 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
[329/339] Compiling Split SplitsStorage.swift
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:49:30: warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | struct SplitsParallelDecoder: SplitsDecoder {
    |        `- note: consider making struct 'SplitsParallelDecoder' conform to the 'Sendable' protocol
 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
[330/339] Compiling Split PersistentUniqueKeysStorage.swift
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:49:30: warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | struct SplitsParallelDecoder: SplitsDecoder {
    |        `- note: consider making struct 'SplitsParallelDecoder' conform to the 'Sendable' protocol
 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
[331/339] Compiling Split UniqueKeyDao.swift
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:49:30: warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | struct SplitsParallelDecoder: SplitsDecoder {
    |        `- note: consider making struct 'SplitsParallelDecoder' conform to the 'Sendable' protocol
 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
[332/339] Compiling Split UniqueKeyEntity.swift
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:49:30: warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | struct SplitsParallelDecoder: SplitsDecoder {
    |        `- note: consider making struct 'SplitsParallelDecoder' conform to the 'Sendable' protocol
 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
[333/339] Compiling Split LatencyCounter.swift
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:49:30: warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | struct SplitsParallelDecoder: SplitsDecoder {
    |        `- note: consider making struct 'SplitsParallelDecoder' conform to the 'Sendable' protocol
 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
[334/339] Compiling Split TelemetryConfig.swift
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:49:30: warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | struct SplitsParallelDecoder: SplitsDecoder {
    |        `- note: consider making struct 'SplitsParallelDecoder' conform to the 'Sendable' protocol
 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
[335/339] Compiling Split TelemetryInMemoryStorage.swift
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:49:30: warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | struct SplitsParallelDecoder: SplitsDecoder {
    |        `- note: consider making struct 'SplitsParallelDecoder' conform to the 'Sendable' protocol
 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
[336/339] Compiling Split TelemetryStats.swift
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:49:30: warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | struct SplitsParallelDecoder: SplitsDecoder {
    |        `- note: consider making struct 'SplitsParallelDecoder' conform to the 'Sendable' protocol
 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
[337/339] Compiling Split TelemetryStorage.swift
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:49:30: warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | struct SplitsParallelDecoder: SplitsDecoder {
    |        `- note: consider making struct 'SplitsParallelDecoder' conform to the 'Sendable' protocol
 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
[338/339] Compiling Split EventDTO.swift
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:49:30: warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | struct SplitsParallelDecoder: SplitsDecoder {
    |        `- note: consider making struct 'SplitsParallelDecoder' conform to the 'Sendable' protocol
 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
[339/339] Compiling Split resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:49:30: warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | struct SplitsParallelDecoder: SplitsDecoder {
    |        `- note: consider making struct 'SplitsParallelDecoder' conform to the 'Sendable' protocol
 16 |     private var minTaskPerThread: Int
 17 |     private let serialDecoder: SplitsSerialDecoder
    :
 47 |         list.chunked(into: chunkSize).forEach { chunk in
 48 |             queue.addOperation {
 49 |                 let parsed = serialDecoder.decode(chunk)
    |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in an isolated closure; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsDecoder.swift:51:21: warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 |                 let parsed = serialDecoder.decode(chunk)
 50 |                 dataQueue.sync {
 51 |                     splits.append(contentsOf: parsed)
    |                     `- warning: mutation of captured var 'splits' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 |                 }
 53 |             }
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:30: warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | struct SplitsParallelEncoder: SplitsEncoder {
   |        `- note: consider making struct 'SplitsParallelEncoder' conform to the 'Sendable' protocol
16 |
17 |     private var minTaskPerThread: Int
   :
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                              `- warning: capture of 'self' with non-sendable type 'SplitsParallelEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:51:51: warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         list.chunked(into: chunkSize).forEach { splits in
50 |             queue.addOperation {
51 |                 let parsed = serialEncoder.encode(splits)
   |                                                   `- warning: capture of 'splits' with non-sendable type '[Split]' (aka 'Array<SplitDTO>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
/Users/admin/builder/spi-builder-workspace/Split/Models/SplitModel/Split.swift:13:7: note: class 'SplitDTO' does not conform to the 'Sendable' protocol
11 | typealias Split = SplitDTO
12 |
13 | class SplitDTO: NSObject, SplitBase, Codable {
   |       `- note: class 'SplitDTO' does not conform to the 'Sendable' protocol
14 |     var name: String?
15 |     var seed: Int?
/Users/admin/builder/spi-builder-workspace/Split/Storage/Splits/SplitsEncoder.swift:53:21: warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
51 |                 let parsed = serialEncoder.encode(splits)
52 |                 dataQueue.sync {
53 |                     splitsJson.merge( parsed, uniquingKeysWith: {(_, new) in new })
   |                     `- warning: mutation of captured var 'splitsJson' in concurrently-executing code; this is an error in the Swift 6 language mode
54 |                 }
55 |             }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:69:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 67 |     func recordLatency(method: TelemetryMethod, latency: Int64) {
 68 |         queue.async { [weak self] in
 69 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |             self.methodLatencies[method]?.addLatency(microseconds: latency)
 71 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:76:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 74 |     func recordException(method: TelemetryMethod) {
 75 |         queue.async { [weak self] in
 76 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |             self.methodExceptionCounters[method]?+=1
 78 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:87:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 85 |     func recordImpressionStats(type: TelemetryImpressionsDataType, count: Int) {
 86 |         queue.async { [weak self] in
 87 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 88 |             self.impressionsStats[type] = (self.impressionsStats[type] ?? 0) + count
 89 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:94:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
 92 |     func recordEventStats(type: TelemetryEventsDataType, count: Int) {
 93 |         queue.async { [weak self] in
 94 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |             self.eventsStats[type] = (self.eventsStats[type] ?? 0) + count
 96 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:105:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
103 |     func recordHttpError(resource: Resource, status: Int) {
104 |         queue.async { [weak self] in
105 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             if self.httpErrors[resource] == nil {
107 |                 self.httpErrors[resource] = [status: 1]
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:117:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
115 |     func recordHttpLatency(resource: Resource, latency: Int64) {
116 |         queue.async { [weak self] in
117 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             self.httpLatencies[resource]?.addLatency(microseconds: latency)
119 |         }
/Users/admin/builder/spi-builder-workspace/Split/Telemetry/Storage/TelemetryInMemoryStorage.swift:142:30: warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class InMemoryTelemetryStorage: TelemetryStorage {
    |       `- note: class 'InMemoryTelemetryStorage' does not conform to the 'Sendable' protocol
 12 |
 13 |     private static let kQueuePrefix = "split-telemetry"
    :
140 |     func recordUpdatesFromSse(type: TelemetryUpdatesFromSseType) {
141 |         queue.async { [weak self] in
142 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'InMemoryTelemetryStorage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |             self.updatesFromSse[type] = (self.updatesFromSse[type] ?? 0) + 1
144 |         }
Build complete! (23.28s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Split",
  "name" : "Split",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "9.0"
    },
    {
      "name" : "macos",
      "version" : "10.11"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "Split",
      "targets" : [
        "Split"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Split",
      "module_type" : "SwiftTarget",
      "name" : "Split",
      "path" : "Split",
      "product_memberships" : [
        "Split"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Split/Storage/split_cache.xcdatamodeld",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Api/CertificatePinningConfig.swift",
        "Api/DefaultSplitClient.swift",
        "Api/DefaultSplitFactory.swift",
        "Api/DefaultSplitFactoryBuilder.swift",
        "Api/DefaultSplitManager.swift",
        "Api/Destroyable.swift",
        "Api/EventsTracker.swift",
        "Api/FailHelpers.swift",
        "Api/FilterBuilder.swift",
        "Api/FlagSetsValidator.swift",
        "Api/InternalSplitClient.swift",
        "Api/LocalhostSplitClient.swift",
        "Api/LocalhostSplitFactory.swift",
        "Api/SplitApiFacade.swift",
        "Api/SplitCertPinningAuthenticator.swift",
        "Api/SplitClient.swift",
        "Api/SplitClientConfig.swift",
        "Api/SplitClientManager.swift",
        "Api/SplitDatabaseHelper.swift",
        "Api/SplitEncryptionLevel.swift",
        "Api/SplitError.swift",
        "Api/SplitFactory.swift",
        "Api/SplitFactoryBuilder.swift",
        "Api/SplitFilter.swift",
        "Api/SplitHttpsAuthenticator.swift",
        "Api/SplitLocalhostDataSource.swift",
        "Api/SplitLogLevel.swift",
        "Api/SplitManager.swift",
        "Api/SplitResult.swift",
        "Api/SplitView.swift",
        "Api/SyncConfig.swift",
        "Api/TelemetryConfigHelper.swift",
        "Api/UserConsentManager.swift",
        "Common/Config/UserConsent.swift",
        "Common/Extensions/Array+Chunked.swift",
        "Common/Extensions/Array+DynamicCodable.swift",
        "Common/Extensions/Array+asSet.swift",
        "Common/Extensions/Bundle+Finder.swift",
        "Common/Extensions/Bundle+Name.swift",
        "Common/Extensions/Data+StringRepresentation.swift",
        "Common/Extensions/Date+Utils.swift",
        "Common/Extensions/Dictionary+DynamicCodable.swift",
        "Common/Extensions/Dictionary+Extensions.swift",
        "Common/Extensions/Dictionary+JSON.swift",
        "Common/Extensions/Int+Extension.swift",
        "Common/Extensions/Set+Extension.swift",
        "Common/Extensions/SplitView+StringConvertible.swift",
        "Common/Extensions/String+Utils.swift",
        "Common/Extensions/UInt64+bits.swift",
        "Common/ServiceConstants.swift",
        "Common/Structs/BlockingQueue.swift",
        "Common/Structs/ConcurrentArrayQueue.swift",
        "Common/Structs/ConcurrentDictionary.swift",
        "Common/Structs/ConcurrentDictionaryList.swift",
        "Common/Structs/ConcurrentSet.swift",
        "Common/Structs/KeyStorage.swift",
        "Common/Structs/LRUCache.swift",
        "Common/Structs/SynchronizedDictionary.swift",
        "Common/Structs/SynchronizedDictionaryComposed.swift",
        "Common/Structs/SynchronizedDictionarySet.swift",
        "Common/Structs/SynchronizedList.swift",
        "Common/Utils/Atomic.swift",
        "Common/Utils/Base64Utils.swift",
        "Common/Utils/CastUtils.swift",
        "Common/Utils/Cipher.swift",
        "Common/Utils/CompressionUtil.swift",
        "Common/Utils/DbCipher.swift",
        "Common/Utils/FileUtil.swift",
        "Common/Utils/InfoUtils.swift",
        "Common/Utils/Logger.swift",
        "Common/Utils/NotificationsHelper.swift",
        "Common/Utils/PeriodicTaskManager.swift",
        "Common/Utils/Spec.swift",
        "Common/Utils/SplitHelper.swift",
        "Common/Utils/Stopwatch.swift",
        "Common/Utils/ThreadUtils.swift",
        "Common/Utils/Version.swift",
        "Common/Validators/AnyValueValidator.swift",
        "Common/Validators/ApiKeyValidator.swift",
        "Common/Validators/EventValidator.swift",
        "Common/Validators/FactoryMonitor.swift",
        "Common/Validators/KeyValidator.swift",
        "Common/Validators/SplitValidator.swift",
        "Common/Validators/ValidationConfig.swift",
        "Common/Validators/ValidationErrorInfo.swift",
        "Common/Validators/ValidatorMessageLogger.swift",
        "Common/Yaml/YAMLOperators.swift",
        "Common/Yaml/YAMLParser.swift",
        "Common/Yaml/YAMLRegex.swift",
        "Common/Yaml/YAMLResult.swift",
        "Common/Yaml/YAMLTokenizer.swift",
        "Common/Yaml/Yaml.swift",
        "Engine/Constants/SplitConstants.swift",
        "Engine/DefaultTreatmentManager.swift",
        "Engine/Evaluator.swift",
        "Engine/EvaluatorError.swift",
        "Engine/Hashing/LegacyHash.swift",
        "Engine/Hashing/Murmur3Hash.swift",
        "Engine/Hashing/Murmur64x128.swift",
        "Engine/Partition.swift",
        "Engine/Splitter.swift",
        "Engine/TreatmentManager.swift",
        "Events/EventsManagerCoordinator.swift",
        "Events/SplitEvent.swift",
        "Events/SplitEventActionTask.swift",
        "Events/SplitEventTask.swift",
        "Events/SplitEventsManager.swift",
        "Events/SplitInternalEvent.swift",
        "FetcherEngine/HttpMySegmentsFetcher.swift",
        "FetcherEngine/HttpSplitFetcher.swift",
        "FetcherEngine/Recorder/EventsRecorder.swift",
        "FetcherEngine/Recorder/EventsRecorderWorker.swift",
        "FetcherEngine/Recorder/ImpressionsCountRecorder.swift",
        "FetcherEngine/Recorder/ImpressionsCountRecorderWorker.swift",
        "FetcherEngine/Recorder/ImpressionsRecorder.swift",
        "FetcherEngine/Recorder/ImpressionsRecorderWorker.swift",
        "FetcherEngine/Recorder/PeriodicRecorderWorker.swift",
        "FetcherEngine/Recorder/RecorderWorker.swift",
        "FetcherEngine/Recorder/TelemetryConfigRecorder.swift",
        "FetcherEngine/Recorder/TelemetryConfigRecorderWorker.swift",
        "FetcherEngine/Recorder/TelemetryStatsRecorder.swift",
        "FetcherEngine/Recorder/TelemetryStatsRecorderWorker.swift",
        "FetcherEngine/Recorder/UniqueKeysRecorder.swift",
        "FetcherEngine/Recorder/UniqueKeysRecorderWorker.swift",
        "FetcherEngine/Refresh/BackgroundSyncWorker.swift",
        "FetcherEngine/Refresh/ChangesChecker.swift",
        "FetcherEngine/Refresh/EmptyMySegmentsStorage.swift",
        "FetcherEngine/Refresh/PeriodicSyncWorker.swift",
        "FetcherEngine/Refresh/QueryableMySegmentsFetcher.swift",
        "FetcherEngine/Refresh/RetryableSegmentsSyncWorker.swift",
        "FetcherEngine/Refresh/RetryableSyncWorker.swift",
        "FetcherEngine/Refresh/SplitBgSynchronizer.swift",
        "FetcherEngine/Refresh/SplitsSyncHelper.swift",
        "FetcherEngine/SyncHelper.swift",
        "Impressions/DefaultImpressionsObserver.swift",
        "Impressions/HashedImpression.swift",
        "Impressions/Impression.swift",
        "Impressions/ImpressionsConstants.swift",
        "Impressions/ImpressionsCount.swift",
        "Impressions/ImpressionsCountEntity.swift",
        "Impressions/ImpressionsCountPerFeature.swift",
        "Impressions/ImpressionsCounter.swift",
        "Impressions/ImpressionsTest.swift",
        "Impressions/KeyImpression.swift",
        "Impressions/UniqueKey.swift",
        "Impressions/UniqueKeys.swift",
        "Initialization/SplitComponentCatalog.swift",
        "Initialization/SplitComponentFactory.swift",
        "Localhost/LocalhostApiDataSource.swift",
        "Localhost/LocalhostClientManager.swift",
        "Localhost/LocalhostFileDataSource.swift",
        "Localhost/LocalhostSplitsParser.swift",
        "Localhost/LocalhostSplitsStorage.swift",
        "Localhost/LocalhostSynchronizer.swift",
        "Localhost/SpaceDelimitedLocalhostSplitsParser.swift",
        "Localhost/YamlLocalhostSplitsParser.swift",
        "Matchers/AllKeysMatcher.swift",
        "Matchers/BaseMatcher.swift",
        "Matchers/BetweenMatcher.swift",
        "Matchers/ContainsAllOfSetMatcher.swift",
        "Matchers/ContainsAnyOfSetMatcher.swift",
        "Matchers/ContainsStringMatcher.swift",
        "Matchers/DataType/DateTime.swift",
        "Matchers/DependencyMatcher.swift",
        "Matchers/EndsWithMatcher.swift",
        "Matchers/EqualToBooleanMatcher.swift",
        "Matchers/EqualToMatcher.swift",
        "Matchers/EqualToSetMatcher.swift",
        "Matchers/GreaterThanOrEqualToMatcher.swift",
        "Matchers/InSegmentMatcher.swift",
        "Matchers/LessThanOrEqualToMatcher.swift",
        "Matchers/MatchesStringMatcher.swift",
        "Matchers/PartOfSetMatcher.swift",
        "Matchers/Semver/BetweenSemverMatcher.swift",
        "Matchers/Semver/EqualToSemverMatcher.swift",
        "Matchers/Semver/GreaterThanOrEqualToSemverMatcher.swift",
        "Matchers/Semver/InListSemverMatcher.swift",
        "Matchers/Semver/LessThanOrEqualToSemverMatcher.swift",
        "Matchers/Semver/Semver.swift",
        "Matchers/StartWithMatcher.swift",
        "Matchers/Whitelist.swift",
        "Models/BetweenMatcherData.swift",
        "Models/BetweenStringMatcherData.swift",
        "Models/Condition.swift",
        "Models/ConditionType.swift",
        "Models/DataType.swift",
        "Models/DependencyMatcherData.swift",
        "Models/Extensions/SplitModels+StringConvertible.swift",
        "Models/Key.swift",
        "Models/KeySelector.swift",
        "Models/Matcher.swift",
        "Models/MatcherCombiner.swift",
        "Models/MatcherGroup.swift",
        "Models/MatcherProtocol.swift",
        "Models/MatcherType.swift",
        "Models/Segment.swift",
        "Models/SplitModel/Split.swift",
        "Models/SplitModel/SplitBase.swift",
        "Models/SplitModel/SplitChange.swift",
        "Models/Status.swift",
        "Models/TrafficType.swift",
        "Models/Treatment.swift",
        "Models/UnaryNumericMatcherData.swift",
        "Models/UserDefinedSegmentMatcherData.swift",
        "Models/WhitelistMatcherData.swift",
        "Network/Configuration/RestClientConfiguration.swift",
        "Network/DataParsing/Json.swift",
        "Network/Endpoints/Endpoint.swift",
        "Network/Endpoints/EndpointFactory.swift",
        "Network/Endpoints/ServiceEndpoints.swift",
        "Network/Errors/GenericError.swift",
        "Network/HttpClient/HttpClient.swift",
        "Network/HttpClient/HttpDataRequest.swift",
        "Network/HttpClient/HttpDataResponse.swift",
        "Network/HttpClient/HttpError.swift",
        "Network/HttpClient/HttpParameter.swift",
        "Network/HttpClient/HttpParameters.swift",
        "Network/HttpClient/HttpRequest.swift",
        "Network/HttpClient/HttpRequestList.swift",
        "Network/HttpClient/HttpRequestManager.swift",
        "Network/HttpClient/HttpResponse.swift",
        "Network/HttpClient/HttpSession.swift",
        "Network/HttpClient/HttpStreamRequest.swift",
        "Network/HttpClient/HttpStreamResponse.swift",
        "Network/HttpClient/HttpTask.swift",
        "Network/NetworkReachabilityManager.swift",
        "Network/RestClient/RestClient+Impressions.swift",
        "Network/RestClient/RestClient+ImpressionsCount.swift",
        "Network/RestClient/RestClient+MySegments.swift",
        "Network/RestClient/RestClient+SplitChanges.swift",
        "Network/RestClient/RestClient+SseAuthenticator.swift",
        "Network/RestClient/RestClient+TelemetryConfig.swift",
        "Network/RestClient/RestClient+TelemetryStats.swift",
        "Network/RestClient/RestClient+TrackEvents.swift",
        "Network/RestClient/RestClient+UniqueKeys.swift",
        "Network/RestClient/RestClient.swift",
        "Network/Results/AllSegmentsChange.swift",
        "Network/Results/DataResult.swift",
        "Network/Results/SegmentsChange.swift",
        "Network/Security/HostDomainFilter.swift",
        "Network/Security/PublicKeyHeaders.swift",
        "Network/Security/TlsPinChecker.swift",
        "Network/Streaming/BackoffCounterTimer.swift",
        "Network/Streaming/DefaultSseNotificationParser.swift",
        "Network/Streaming/EventStreamParser.swift",
        "Network/Streaming/FeatureFlagsPayloadDecoder.swift",
        "Network/Streaming/JwtTokenParser.swift",
        "Network/Streaming/MySegmentsPayloadDecoder.swift",
        "Network/Streaming/NotificationManagerKeeper.swift",
        "Network/Streaming/PushNotificationManager.swift",
        "Network/Streaming/ReconnectBackoffCounter.swift",
        "Network/Streaming/RetryableSplitsUpdateWorkerFactory.swift",
        "Network/Streaming/SegmentsPayloadDecoder.swift",
        "Network/Streaming/SseAuthenticator.swift",
        "Network/Streaming/SseClient.swift",
        "Network/Streaming/SseClientFactory.swift",
        "Network/Streaming/SseConnectionHandler.swift",
        "Network/Streaming/SseHandler.swift",
        "Network/Streaming/SseNotificationProcessor.swift",
        "Network/Streaming/SseNotifications.swift",
        "Network/Streaming/SyncEventBroadcaster.swift",
        "Network/Streaming/SyncSegmentsUpdateWorker.swift",
        "Network/Streaming/SyncUpdateWorker.swift",
        "Network/Streaming/Timers.swift",
        "Network/Sync/ByKeyFacade.swift",
        "Network/Sync/EventsSynchronizer.swift",
        "Network/Sync/FeatureFlagsSynchronizer.swift",
        "Network/Sync/ImpressionsTracker.swift",
        "Network/Sync/MySegmentsSynchronizer.swift",
        "Network/Sync/SyncCommons.swift",
        "Network/Sync/SyncGuardian.swift",
        "Network/Sync/SyncManager.swift",
        "Network/Sync/SyncManagerBuilder.swift",
        "Network/Sync/Synchronizer.swift",
        "Network/Sync/TelemetrySynchronizer.swift",
        "Network/Sync/UniqueKeyTracker.swift",
        "Secure/SecureDataStore.swift",
        "Storage/Attributes/AttributeEntity.swift",
        "Storage/Attributes/AttributeMap.swift",
        "Storage/Attributes/AttributesDao.swift",
        "Storage/Attributes/AttributesStorage.swift",
        "Storage/Attributes/ByKeyAttributesStorage.swift",
        "Storage/Attributes/OneKeyAttributesStorage.swift",
        "Storage/Attributes/OneKeyPersistentAttributesStorage.swift",
        "Storage/Attributes/PersistentAttributesStorage.swift",
        "Storage/CoreDataContextBuilder.swift",
        "Storage/CoreDataHelper.swift",
        "Storage/DefaultFileStorage.swift",
        "Storage/Events/EventDao.swift",
        "Storage/Events/EventEntity.swift",
        "Storage/Events/EventsStorage.swift",
        "Storage/Events/PersistentEventsStorage.swift",
        "Storage/FileStorage.swift",
        "Storage/GeneralInfo/GeneralInfoDao.swift",
        "Storage/GeneralInfo/GeneralInfoEntity.swift",
        "Storage/Global/GlobalSecureStorage.swift",
        "Storage/Global/KeyValueStorage.swift",
        "Storage/HashedImpression/HashedImpressionDao.swift",
        "Storage/HashedImpression/HashedImpressionEntity.swift",
        "Storage/HashedImpression/HashedImpressionStorage.swift",
        "Storage/HashedImpression/PersistentHashedImpressionsStorage.swift",
        "Storage/Impressions/ImpressionDao.swift",
        "Storage/Impressions/ImpressionEntity.swift",
        "Storage/Impressions/ImpressionsCountDao.swift",
        "Storage/Impressions/ImpressionsMode.swift",
        "Storage/Impressions/ImpressionsStorage.swift",
        "Storage/Impressions/PersistentImpressionsCountStorage.swift",
        "Storage/Impressions/PersistentImpressionsStorage.swift",
        "Storage/LegacyStorageCleaner.swift",
        "Storage/MySegments/ByKeyMySegmentsStorage.swift",
        "Storage/MySegments/MyLargeSegmentsStorage.swift",
        "Storage/MySegments/MySegmentEntity.swift",
        "Storage/MySegments/MySegmentsDao.swift",
        "Storage/MySegments/MySegmentsStorage.swift",
        "Storage/MySegments/PersistentMySegmentsStorage.swift",
        "Storage/SplitDatabase.swift",
        "Storage/Splits/FlagSetsCache.swift",
        "Storage/Splits/PersistentSplitsStorage.swift",
        "Storage/Splits/ProcessedSplitChange.swift",
        "Storage/Splits/SplitDao.swift",
        "Storage/Splits/SplitEntity.swift",
        "Storage/Splits/SplitsDecoder.swift",
        "Storage/Splits/SplitsEncoder.swift",
        "Storage/Splits/SplitsSnapshot.swift",
        "Storage/Splits/SplitsStorage.swift",
        "Storage/UniqueKeys/PersistentUniqueKeysStorage.swift",
        "Storage/UniqueKeys/UniqueKeyDao.swift",
        "Storage/UniqueKeys/UniqueKeyEntity.swift",
        "Telemetry/LatencyCounter.swift",
        "Telemetry/Storage/TelemetryConfig.swift",
        "Telemetry/Storage/TelemetryInMemoryStorage.swift",
        "Telemetry/Storage/TelemetryStats.swift",
        "Telemetry/Storage/TelemetryStorage.swift",
        "Track/Models/EventDTO.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.