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

Failed to build kubrick, reference 1.1.5 (018556), with Swift 6.0 for macOS (SPM) on 26 Nov 2024 23:21:17 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/krad/kubrick.git
Reference: 1.1.5
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/krad/kubrick
 * tag               1.1.5      -> FETCH_HEAD
HEAD is now at 018556f Ok done with that.  I think this is better math
Cloned https://github.com/krad/kubrick.git
Revision (git rev-parse @):
018556f5e196ccfde895d27006a56aea3f7f5ed0
SUCCESS checkout https://github.com/krad/kubrick.git at 1.1.5
Fetching https://github.com/krad/grip.git
[1/176] Fetching grip
Fetched https://github.com/krad/grip.git from cache (0.67s)
Computing version for https://github.com/krad/grip.git
Computed https://github.com/krad/grip.git at 1.3.5 (0.56s)
Creating working copy for https://github.com/krad/grip.git
Working copy of https://github.com/krad/grip.git resolved at 1.3.5
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "kubrick",
      "name": "kubrick",
      "url": "https://github.com/krad/kubrick.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/kubrick",
      "dependencies": [
        {
          "identity": "grip",
          "name": "grip",
          "url": "https://github.com/krad/grip.git",
          "version": "1.3.5",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/grip",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/krad/kubrick.git
[1/1241] Fetching kubrick
Fetched https://github.com/krad/kubrick.git from cache (0.78s)
Fetching https://github.com/krad/grip.git from cache
Fetched https://github.com/krad/grip.git from cache (0.43s)
Computing version for https://github.com/krad/grip.git
Computed https://github.com/krad/grip.git at 1.3.5 (0.02s)
Creating working copy for https://github.com/krad/kubrick.git
Working copy of https://github.com/krad/kubrick.git resolved at 1.1.5 (018556f)
Creating working copy for https://github.com/krad/grip.git
Working copy of https://github.com/krad/grip.git resolved at 1.3.5
warning: '.resolve-product-dependencies': dependency 'kubrick' is not used by any target
Found 1 product dependencies
  - grip
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/krad/kubrick.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/16] Compiling grip StreamType.swift
[5/16] Compiling grip StreamTypePacket.swift
[6/16] Compiling grip VideoParamSetPacket.swift
[7/16] Compiling grip VideoDimensionsPacket.swift
[8/16] Compiling grip VideoSamplePacket.swift
[9/17] Compiling grip Packets.swift
[10/17] Compiling grip NALU.swift
[11/17] Compiling grip AudioSamplePacket.swift
[12/17] Compiling grip CompressedSample.swift
[13/17] Compiling grip ByteHelpers.swift
[14/17] Compiling grip BinaryEncodable.swift
[15/17] Compiling grip BinaryEncodableExtensions.swift
[16/17] Emitting module grip
[17/17] Compiling grip Writeable.swift
[18/45] Compiling kubrick EndpointSink.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/MuxerSink.swift:21:26: error: cannot find 'AudioSamplePacket' in scope
19 |         switch input.type {
20 |         case .audio:
21 |             let packet = AudioSamplePacket(duration: input.duration.numerator,
   |                          `- error: cannot find 'AudioSamplePacket' in scope
22 |                                            timescale: UInt32(input.duration.denominator),
23 |                                            data: input.bytes)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/MuxerSink.swift:26:26: error: cannot find 'VideoSamplePacket' in scope
24 |             self.send(packet)
25 |         case .video:
26 |             var packet = VideoSamplePacket(duration: input.duration.numerator,
   |                          `- error: cannot find 'VideoSamplePacket' in scope
27 |                                            timescale: UInt32(input.duration.denominator),
28 |                                            data: input.bytes)
[19/45] Compiling kubrick H264EncoderSink.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/MuxerSink.swift:21:26: error: cannot find 'AudioSamplePacket' in scope
19 |         switch input.type {
20 |         case .audio:
21 |             let packet = AudioSamplePacket(duration: input.duration.numerator,
   |                          `- error: cannot find 'AudioSamplePacket' in scope
22 |                                            timescale: UInt32(input.duration.denominator),
23 |                                            data: input.bytes)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/MuxerSink.swift:26:26: error: cannot find 'VideoSamplePacket' in scope
24 |             self.send(packet)
25 |         case .video:
26 |             var packet = VideoSamplePacket(duration: input.duration.numerator,
   |                          `- error: cannot find 'VideoSamplePacket' in scope
27 |                                            timescale: UInt32(input.duration.denominator),
28 |                                            data: input.bytes)
[20/45] Compiling kubrick MuxerSink.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/MuxerSink.swift:21:26: error: cannot find 'AudioSamplePacket' in scope
19 |         switch input.type {
20 |         case .audio:
21 |             let packet = AudioSamplePacket(duration: input.duration.numerator,
   |                          `- error: cannot find 'AudioSamplePacket' in scope
22 |                                            timescale: UInt32(input.duration.denominator),
23 |                                            data: input.bytes)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/MuxerSink.swift:26:26: error: cannot find 'VideoSamplePacket' in scope
24 |             self.send(packet)
25 |         case .video:
26 |             var packet = VideoSamplePacket(duration: input.duration.numerator,
   |                          `- error: cannot find 'VideoSamplePacket' in scope
27 |                                            timescale: UInt32(input.duration.denominator),
28 |                                            data: input.bytes)
[21/47] Emitting module kubrick
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
 5 |
 6 | extension Rational: Hashable {
 7 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
 8 |         return Int(self.numerator ^ Int64(self.denominator))
 9 |     }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceInput.swift:16:9: warning: var 'makeInput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     import AVFoundation
15 |
16 |     var makeInput: MakeMediaDeviceInput = { src, onCreate in
   |         |- warning: var 'makeInput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |         |- note: convert 'makeInput' to a 'let' constant to make 'Sendable' shared state immutable
   |         |- note: annotate 'makeInput' with '@MainActor' if property should only be accessed from the main actor
   |         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |         let input = try AVCaptureDeviceInput.makeInput(device: src)
18 |         onCreate(input)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceOutput.swift:16:9: warning: var 'makeOutput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     import AVFoundation
15 |
16 |     var makeOutput: MakeMediaDeviceOutput = { src, onCreate in
   |         |- warning: var 'makeOutput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |         |- note: convert 'makeOutput' to a 'let' constant to make 'Sendable' shared state immutable
   |         |- note: annotate 'makeOutput' with '@MainActor' if property should only be accessed from the main actor
   |         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |         switch src.type {
18 |         case .video?:
[22/47] Compiling kubrick H264Settings.swift
[23/47] Compiling kubrick VideoEncoder.swift
[24/47] Compiling kubrick Bytes.swift
[25/47] Compiling kubrick MediaDeviceOutput.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceOutput.swift:16:9: warning: var 'makeOutput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     import AVFoundation
15 |
16 |     var makeOutput: MakeMediaDeviceOutput = { src, onCreate in
   |         |- warning: var 'makeOutput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |         |- note: convert 'makeOutput' to a 'let' constant to make 'Sendable' shared state immutable
   |         |- note: annotate 'makeOutput' with '@MainActor' if property should only be accessed from the main actor
   |         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |         switch src.type {
18 |         case .video?:
[26/47] Compiling kubrick MediaDeviceReader.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceOutput.swift:16:9: warning: var 'makeOutput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     import AVFoundation
15 |
16 |     var makeOutput: MakeMediaDeviceOutput = { src, onCreate in
   |         |- warning: var 'makeOutput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |         |- note: convert 'makeOutput' to a 'let' constant to make 'Sendable' shared state immutable
   |         |- note: annotate 'makeOutput' with '@MainActor' if property should only be accessed from the main actor
   |         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |         switch src.type {
18 |         case .video?:
[27/47] Compiling kubrick Microphone.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceOutput.swift:16:9: warning: var 'makeOutput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     import AVFoundation
15 |
16 |     var makeOutput: MakeMediaDeviceOutput = { src, onCreate in
   |         |- warning: var 'makeOutput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |         |- note: convert 'makeOutput' to a 'let' constant to make 'Sendable' shared state immutable
   |         |- note: annotate 'makeOutput' with '@MainActor' if property should only be accessed from the main actor
   |         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |         switch src.type {
18 |         case .video?:
[28/47] Compiling kubrick Display.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceInput.swift:16:9: warning: var 'makeInput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     import AVFoundation
15 |
16 |     var makeInput: MakeMediaDeviceInput = { src, onCreate in
   |         |- warning: var 'makeInput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |         |- note: convert 'makeInput' to a 'let' constant to make 'Sendable' shared state immutable
   |         |- note: annotate 'makeInput' with '@MainActor' if property should only be accessed from the main actor
   |         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |         let input = try AVCaptureDeviceInput.makeInput(device: src)
18 |         onCreate(input)
[29/47] Compiling kubrick MediaDevice.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceInput.swift:16:9: warning: var 'makeInput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     import AVFoundation
15 |
16 |     var makeInput: MakeMediaDeviceInput = { src, onCreate in
   |         |- warning: var 'makeInput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |         |- note: convert 'makeInput' to a 'let' constant to make 'Sendable' shared state immutable
   |         |- note: annotate 'makeInput' with '@MainActor' if property should only be accessed from the main actor
   |         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |         let input = try AVCaptureDeviceInput.makeInput(device: src)
18 |         onCreate(input)
[30/47] Compiling kubrick MediaDeviceInput.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceInput.swift:16:9: warning: var 'makeInput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     import AVFoundation
15 |
16 |     var makeInput: MakeMediaDeviceInput = { src, onCreate in
   |         |- warning: var 'makeInput' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |         |- note: convert 'makeInput' to a 'let' constant to make 'Sendable' shared state immutable
   |         |- note: annotate 'makeInput' with '@MainActor' if property should only be accessed from the main actor
   |         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |         let input = try AVCaptureDeviceInput.makeInput(device: src)
18 |         onCreate(input)
[31/47] Compiling kubrick AACEncoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:17: warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  6 | import CoreMedia
  7 |
  8 | internal class AACEncoder: AudioEncoder {
    |                `- note: class 'AACEncoder' does not conform to the 'Sendable' protocol
  9 |
 10 |     public var configured: Bool = false
    :
 79 |     func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
 80 |         self.encoderQ.async {
 81 |             if !self.configured { do { try self.setup(using: sample) } catch { }  }
    |                 `- warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 82 |             guard let encoder = self.audioConverter,
 83 |                 sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:62: warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 79 |     func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
 80 |         self.encoderQ.async {
 81 |             if !self.configured { do { try self.setup(using: sample) } catch { }  }
    |                                                              `- warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 82 |             guard let encoder = self.audioConverter,
 83 |                 sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Sample.swift:1:17: note: protocol 'Sample' does not conform to the 'Sendable' protocol
 1 | public protocol Sample {
   |                 `- note: protocol 'Sample' does not conform to the 'Sendable' protocol
 2 |     var bytes: [UInt8] { get }
 3 |     var pts: Rational { get }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:124:21: warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 |                                                        numberOfSamples: sample.numberOfSamples)
123 |                 {
124 |                     onComplete(newSample)
    |                     |- warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
125 |                 }
126 |             case -1:
[32/47] Compiling kubrick AudioEncoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:17: warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  6 | import CoreMedia
  7 |
  8 | internal class AACEncoder: AudioEncoder {
    |                `- note: class 'AACEncoder' does not conform to the 'Sendable' protocol
  9 |
 10 |     public var configured: Bool = false
    :
 79 |     func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
 80 |         self.encoderQ.async {
 81 |             if !self.configured { do { try self.setup(using: sample) } catch { }  }
    |                 `- warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 82 |             guard let encoder = self.audioConverter,
 83 |                 sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:62: warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 79 |     func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
 80 |         self.encoderQ.async {
 81 |             if !self.configured { do { try self.setup(using: sample) } catch { }  }
    |                                                              `- warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 82 |             guard let encoder = self.audioConverter,
 83 |                 sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Sample.swift:1:17: note: protocol 'Sample' does not conform to the 'Sendable' protocol
 1 | public protocol Sample {
   |                 `- note: protocol 'Sample' does not conform to the 'Sendable' protocol
 2 |     var bytes: [UInt8] { get }
 3 |     var pts: Rational { get }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:124:21: warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 |                                                        numberOfSamples: sample.numberOfSamples)
123 |                 {
124 |                     onComplete(newSample)
    |                     |- warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
125 |                 }
126 |             case -1:
[33/47] Compiling kubrick H264Encoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:17: warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  6 | import CoreMedia
  7 |
  8 | internal class AACEncoder: AudioEncoder {
    |                `- note: class 'AACEncoder' does not conform to the 'Sendable' protocol
  9 |
 10 |     public var configured: Bool = false
    :
 79 |     func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
 80 |         self.encoderQ.async {
 81 |             if !self.configured { do { try self.setup(using: sample) } catch { }  }
    |                 `- warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 82 |             guard let encoder = self.audioConverter,
 83 |                 sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:62: warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 79 |     func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
 80 |         self.encoderQ.async {
 81 |             if !self.configured { do { try self.setup(using: sample) } catch { }  }
    |                                                              `- warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 82 |             guard let encoder = self.audioConverter,
 83 |                 sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Sample.swift:1:17: note: protocol 'Sample' does not conform to the 'Sendable' protocol
 1 | public protocol Sample {
   |                 `- note: protocol 'Sample' does not conform to the 'Sendable' protocol
 2 |     var bytes: [UInt8] { get }
 3 |     var pts: Rational { get }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:124:21: warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 |                                                        numberOfSamples: sample.numberOfSamples)
123 |                 {
124 |                     onComplete(newSample)
    |                     |- warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
125 |                 }
126 |             case -1:
[34/47] Compiling kubrick Sample.swift
[35/47] Compiling kubrick Session.swift
[36/47] Compiling kubrick AACEncoderSink.swift
[37/47] Compiling kubrick AudioReader.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:20:28: warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Dispatch
 2 |
 3 | public class AudioReader: NSObject, MediaDeviceReader {
   |              `- note: class 'AudioReader' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var q                     = DispatchQueue(label: "audio.reader.q")
   :
18 |                                   from connection: AVCaptureConnection)
19 |         {
20 |             self.q.async { self.push(input: sampleBuffer) }
   |                            `- warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |         }
22 |     }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:20:45: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 |                                   from connection: AVCaptureConnection)
19 |         {
20 |             self.q.async { self.push(input: sampleBuffer) }
   |                                             `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |         }
22 |     }
CoreMedia.CMSampleBuffer:2:14: note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | public class CMSampleBuffer : _CFObject {
  |              `- note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:20:28: warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Dispatch
 2 |
 3 | public class VideoReader: NSObject, MediaDeviceReader {
   |              `- note: class 'VideoReader' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var q                     = DispatchQueue(label: "video.reader.q")
   :
18 |                                   from connection: AVCaptureConnection)
19 |         {
20 |             self.q.async { self.push(input: sampleBuffer) }
   |                            `- warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |         }
22 |     }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:20:45: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 |                                   from connection: AVCaptureConnection)
19 |         {
20 |             self.q.async { self.push(input: sampleBuffer) }
   |                                             `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |         }
22 |     }
CoreMedia.CMSampleBuffer:2:14: note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | public class CMSampleBuffer : _CFObject {
  |              `- note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
3 | }
[38/47] Compiling kubrick VideoReader.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:20:28: warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Dispatch
 2 |
 3 | public class AudioReader: NSObject, MediaDeviceReader {
   |              `- note: class 'AudioReader' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var q                     = DispatchQueue(label: "audio.reader.q")
   :
18 |                                   from connection: AVCaptureConnection)
19 |         {
20 |             self.q.async { self.push(input: sampleBuffer) }
   |                            `- warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |         }
22 |     }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:20:45: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 |                                   from connection: AVCaptureConnection)
19 |         {
20 |             self.q.async { self.push(input: sampleBuffer) }
   |                                             `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |         }
22 |     }
CoreMedia.CMSampleBuffer:2:14: note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | public class CMSampleBuffer : _CFObject {
  |              `- note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:20:28: warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Dispatch
 2 |
 3 | public class VideoReader: NSObject, MediaDeviceReader {
   |              `- note: class 'VideoReader' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var q                     = DispatchQueue(label: "video.reader.q")
   :
18 |                                   from connection: AVCaptureConnection)
19 |         {
20 |             self.q.async { self.push(input: sampleBuffer) }
   |                            `- warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |         }
22 |     }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:20:45: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 |                                   from connection: AVCaptureConnection)
19 |         {
20 |             self.q.async { self.push(input: sampleBuffer) }
   |                                             `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |         }
22 |     }
CoreMedia.CMSampleBuffer:2:14: note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | public class CMSampleBuffer : _CFObject {
  |              `- note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
3 | }
[39/47] Compiling kubrick MediaFormat.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:20:28: warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Dispatch
 2 |
 3 | public class AudioReader: NSObject, MediaDeviceReader {
   |              `- note: class 'AudioReader' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var q                     = DispatchQueue(label: "audio.reader.q")
   :
18 |                                   from connection: AVCaptureConnection)
19 |         {
20 |             self.q.async { self.push(input: sampleBuffer) }
   |                            `- warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |         }
22 |     }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:20:45: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 |                                   from connection: AVCaptureConnection)
19 |         {
20 |             self.q.async { self.push(input: sampleBuffer) }
   |                                             `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |         }
22 |     }
CoreMedia.CMSampleBuffer:2:14: note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | public class CMSampleBuffer : _CFObject {
  |              `- note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:20:28: warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Dispatch
 2 |
 3 | public class VideoReader: NSObject, MediaDeviceReader {
   |              `- note: class 'VideoReader' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var q                     = DispatchQueue(label: "video.reader.q")
   :
18 |                                   from connection: AVCaptureConnection)
19 |         {
20 |             self.q.async { self.push(input: sampleBuffer) }
   |                            `- warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |         }
22 |     }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:20:45: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 |                                   from connection: AVCaptureConnection)
19 |         {
20 |             self.q.async { self.push(input: sampleBuffer) }
   |                                             `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |         }
22 |     }
CoreMedia.CMSampleBuffer:2:14: note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | public class CMSampleBuffer : _CFObject {
  |              `- note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
3 | }
[40/47] Compiling kubrick PrettyPortraitSink.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:61:57: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
 59 |
 60 |         // Create readers for each of the devices
 61 |         let readers: [MediaDeviceReader] = self.devices.flatMap {
    |                                                         |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
    |                                                         `- note: use 'compactMap(_:)' instead
 62 |             if $0.source.type == .audio { return AudioReader() }
 63 |             if $0.source.type == .video { return VideoReader() }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:151:44: error: cannot find 'VideoDimensionPacket' in scope
149 |                 do {
150 |                     let paramsPacket     = try VideoParamSetPacket(params: videoFormat.params)
151 |                     let dimensionsPacket = VideoDimensionPacket(width: videoFormat.dimensions.width,
    |                                            `- error: cannot find 'VideoDimensionPacket' in scope
152 |                                                                 height: videoFormat.dimensions.height)
153 |
[41/47] Compiling kubrick Sink.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:61:57: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
 59 |
 60 |         // Create readers for each of the devices
 61 |         let readers: [MediaDeviceReader] = self.devices.flatMap {
    |                                                         |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
    |                                                         `- note: use 'compactMap(_:)' instead
 62 |             if $0.source.type == .audio { return AudioReader() }
 63 |             if $0.source.type == .video { return VideoReader() }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:151:44: error: cannot find 'VideoDimensionPacket' in scope
149 |                 do {
150 |                     let paramsPacket     = try VideoParamSetPacket(params: videoFormat.params)
151 |                     let dimensionsPacket = VideoDimensionPacket(width: videoFormat.dimensions.width,
    |                                            `- error: cannot find 'VideoDimensionPacket' in scope
152 |                                                                 height: videoFormat.dimensions.height)
153 |
[42/47] Compiling kubrick AVStream.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:61:57: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
 59 |
 60 |         // Create readers for each of the devices
 61 |         let readers: [MediaDeviceReader] = self.devices.flatMap {
    |                                                         |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
    |                                                         `- note: use 'compactMap(_:)' instead
 62 |             if $0.source.type == .audio { return AudioReader() }
 63 |             if $0.source.type == .video { return VideoReader() }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:151:44: error: cannot find 'VideoDimensionPacket' in scope
149 |                 do {
150 |                     let paramsPacket     = try VideoParamSetPacket(params: videoFormat.params)
151 |                     let dimensionsPacket = VideoDimensionPacket(width: videoFormat.dimensions.width,
    |                                            `- error: cannot find 'VideoDimensionPacket' in scope
152 |                                                                 height: videoFormat.dimensions.height)
153 |
[43/47] Compiling kubrick Rational.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
 5 |
 6 | extension Rational: Hashable {
 7 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
 8 |         return Int(self.numerator ^ Int64(self.denominator))
 9 |     }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
16 |
17 |     public func append(_ newElement: T) {
18 |         q.async(flags: .barrier) { self.array.append(newElement) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 |     }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:54: warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
16 |
17 |     public func append(_ newElement: T) {
18 |         q.async(flags: .barrier) { self.array.append(newElement) }
   |                                                      `- warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 |     }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
20 |
21 |     public func append(contentsOf: [T]) {
22 |         q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 |     }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:66: warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
20 |
21 |     public func append(contentsOf: [T]) {
22 |         q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
   |                                                                  `- warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 |     }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:26:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
24 |
25 |     public func remove(at index: Int) {
26 |         q.async(flags: .barrier) { self.array.remove(at: index) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |     }
28 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:30:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
28 |
29 |     public func removeFirst(n: Int) {
30 |         q.async(flags: .barrier) { self.array.removeFirst(n) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 |     }
32 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:34:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
32 |
33 |     public func removeLast() {
34 |         q.async(flags: .barrier) { self.array.removeLast() }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |     }
36 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:38:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
36 |
37 |     public func removeLast(n: Int) {
38 |         q.async(flags: .barrier) { self.array.removeLast(n) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 |     }
40 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:73:40: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
71 |     public subscript(index: Int) -> T {
72 |         set {
73 |             q.async(flags: .barrier) { self.array[index] = newValue }
   |                                        `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 |         }
75 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:73:60: warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
71 |     public subscript(index: Int) -> T {
72 |         set {
73 |             q.async(flags: .barrier) { self.array[index] = newValue }
   |                                                            `- warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 |         }
75 |
[44/47] Compiling kubrick ThreadSafeArray.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
 5 |
 6 | extension Rational: Hashable {
 7 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
 8 |         return Int(self.numerator ^ Int64(self.denominator))
 9 |     }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
16 |
17 |     public func append(_ newElement: T) {
18 |         q.async(flags: .barrier) { self.array.append(newElement) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 |     }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:54: warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
16 |
17 |     public func append(_ newElement: T) {
18 |         q.async(flags: .barrier) { self.array.append(newElement) }
   |                                                      `- warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 |     }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
20 |
21 |     public func append(contentsOf: [T]) {
22 |         q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 |     }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:66: warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
20 |
21 |     public func append(contentsOf: [T]) {
22 |         q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
   |                                                                  `- warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 |     }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:26:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
24 |
25 |     public func remove(at index: Int) {
26 |         q.async(flags: .barrier) { self.array.remove(at: index) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |     }
28 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:30:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
28 |
29 |     public func removeFirst(n: Int) {
30 |         q.async(flags: .barrier) { self.array.removeFirst(n) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 |     }
32 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:34:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
32 |
33 |     public func removeLast() {
34 |         q.async(flags: .barrier) { self.array.removeLast() }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |     }
36 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:38:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
36 |
37 |     public func removeLast(n: Int) {
38 |         q.async(flags: .barrier) { self.array.removeLast(n) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 |     }
40 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:73:40: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
71 |     public subscript(index: Int) -> T {
72 |         set {
73 |             q.async(flags: .barrier) { self.array[index] = newValue }
   |                                        `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 |         }
75 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:73:60: warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
71 |     public subscript(index: Int) -> T {
72 |         set {
73 |             q.async(flags: .barrier) { self.array[index] = newValue }
   |                                                            `- warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 |         }
75 |
[45/47] Compiling kubrick Camera.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
 5 |
 6 | extension Rational: Hashable {
 7 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
 8 |         return Int(self.numerator ^ Int64(self.denominator))
 9 |     }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
16 |
17 |     public func append(_ newElement: T) {
18 |         q.async(flags: .barrier) { self.array.append(newElement) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 |     }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:54: warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
16 |
17 |     public func append(_ newElement: T) {
18 |         q.async(flags: .barrier) { self.array.append(newElement) }
   |                                                      `- warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 |     }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
20 |
21 |     public func append(contentsOf: [T]) {
22 |         q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 |     }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:66: warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
20 |
21 |     public func append(contentsOf: [T]) {
22 |         q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
   |                                                                  `- warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 |     }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:26:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
24 |
25 |     public func remove(at index: Int) {
26 |         q.async(flags: .barrier) { self.array.remove(at: index) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |     }
28 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:30:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
28 |
29 |     public func removeFirst(n: Int) {
30 |         q.async(flags: .barrier) { self.array.removeFirst(n) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 |     }
32 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:34:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
32 |
33 |     public func removeLast() {
34 |         q.async(flags: .barrier) { self.array.removeLast() }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |     }
36 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:38:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
36 |
37 |     public func removeLast(n: Int) {
38 |         q.async(flags: .barrier) { self.array.removeLast(n) }
   |                                    `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 |     }
40 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:73:40: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |              `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
71 |     public subscript(index: Int) -> T {
72 |         set {
73 |             q.async(flags: .barrier) { self.array[index] = newValue }
   |                                        `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 |         }
75 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:73:60: warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public class ThreadSafeArray<T>: Collection {
   |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 4 |
 5 |     public var startIndex: Int = 0
   :
71 |     public subscript(index: Int) -> T {
72 |         set {
73 |             q.async(flags: .barrier) { self.array[index] = newValue }
   |                                                            `- warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 |         }
75 |
[46/47] Compiling kubrick Source.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift:50:36: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
 48 |
 49 |     public func devices(_ scope: MediaSourceScope) -> [MediaDevice] {
 50 |         return self.sources(scope).flatMap {
    |                                    |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
    |                                    `- note: use 'compactMap(_:)' instead
 51 |             switch $0.type {
 52 |             case .video?: return Camera($0)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift:83:38: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
 81 |
 82 |         public func displays() -> [DisplaySource] {
 83 |             return self.displayIDs().flatMap { DisplaySource($0) }
    |                                      |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
    |                                      `- note: use 'compactMap(_:)' instead
 84 |         }
 85 |     }
[47/47] Compiling kubrick SourceDiscoverer.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift:50:36: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
 48 |
 49 |     public func devices(_ scope: MediaSourceScope) -> [MediaDevice] {
 50 |         return self.sources(scope).flatMap {
    |                                    |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
    |                                    `- note: use 'compactMap(_:)' instead
 51 |             switch $0.type {
 52 |             case .video?: return Camera($0)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift:83:38: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
 81 |
 82 |         public func displays() -> [DisplaySource] {
 83 |             return self.displayIDs().flatMap { DisplaySource($0) }
    |                                      |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
    |                                      `- note: use 'compactMap(_:)' instead
 84 |         }
 85 |     }
BUILD FAILURE 6.0 macosSpm