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 kubrick, reference master (41b1ab), with Swift 6.0 for macOS (SPM) on 26 Nov 2024 23:13:31 UTC.

Swift 6 data race errors: 7

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: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/krad/kubrick
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 41b1abc Not really happy with this compromise but it will do for pre-processing on macOS.  Super frustrated with CMSampleBuffer behavior
Cloned https://github.com/krad/kubrick.git
Revision (git rev-parse @):
41b1abcb79d58c9e70379bb314187c20ebabcf0f
SUCCESS checkout https://github.com/krad/kubrick.git at master
Fetching https://github.com/krad/grip.git
[1/176] Fetching grip
Fetched https://github.com/krad/grip.git from cache (0.66s)
Computing version for https://github.com/krad/grip.git
Computed https://github.com/krad/grip.git at 1.3.5 (0.58s)
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.85s)
Fetching https://github.com/krad/grip.git from cache
Fetched https://github.com/krad/grip.git from cache (0.47s)
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/grip.git
Working copy of https://github.com/krad/grip.git resolved at 1.3.5
Creating working copy for https://github.com/krad/kubrick.git
Working copy of https://github.com/krad/kubrick.git resolved at master (41b1abc)
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 VideoDimensionsPacket.swift
[5/17] Compiling grip StreamTypePacket.swift
[6/17] Compiling grip Writeable.swift
[7/17] Compiling grip VideoParamSetPacket.swift
[8/17] Compiling grip Packets.swift
[9/17] Compiling grip StreamType.swift
[10/17] Compiling grip VideoSamplePacket.swift
[11/17] Compiling grip NALU.swift
[12/17] Compiling grip AudioSamplePacket.swift
[13/17] Compiling grip BinaryEncodable.swift
[14/17] Compiling grip BinaryEncodableExtensions.swift
[15/17] Compiling grip CompressedSample.swift
[16/17] Compiling grip ByteHelpers.swift
[17/17] Emitting module grip
[18/47] Compiling kubrick EndpointSink.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/FileEndpoint.swift:25:16: warning: capture of 'self' with non-sendable type 'FileEndpoint' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 4 |
 5 | /// Endpoint that can be set on an AVStream object that will stream a/v sample data into a file
 6 | public final class FileEndpoint: Writeable, Endable {
   |                    `- note: class 'FileEndpoint' does not conform to the 'Sendable' protocol
 7 |
 8 |     public var onEnd: EndedCallback?
   :
23 |     public func write(_ data: Data) {
24 |         self.writeQ.async {
25 |             if self.continueWriting {
   |                `- warning: capture of 'self' with non-sendable type 'FileEndpoint' in a `@Sendable` closure; this is an error in the Swift 6 language mode
26 |                 self.fileHandle.write(data)
27 |             }
[19/47] Compiling kubrick FileEndpoint.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/FileEndpoint.swift:25:16: warning: capture of 'self' with non-sendable type 'FileEndpoint' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 4 |
 5 | /// Endpoint that can be set on an AVStream object that will stream a/v sample data into a file
 6 | public final class FileEndpoint: Writeable, Endable {
   |                    `- note: class 'FileEndpoint' does not conform to the 'Sendable' protocol
 7 |
 8 |     public var onEnd: EndedCallback?
   :
23 |     public func write(_ data: Data) {
24 |         self.writeQ.async {
25 |             if self.continueWriting {
   |                `- warning: capture of 'self' with non-sendable type 'FileEndpoint' in a `@Sendable` closure; this is an error in the Swift 6 language mode
26 |                 self.fileHandle.write(data)
27 |             }
[20/47] Compiling kubrick H264EncoderSink.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/FileEndpoint.swift:25:16: warning: capture of 'self' with non-sendable type 'FileEndpoint' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 4 |
 5 | /// Endpoint that can be set on an AVStream object that will stream a/v sample data into a file
 6 | public final class FileEndpoint: Writeable, Endable {
   |                    `- note: class 'FileEndpoint' does not conform to the 'Sendable' protocol
 7 |
 8 |     public var onEnd: EndedCallback?
   :
23 |     public func write(_ data: Data) {
24 |         self.writeQ.async {
25 |             if self.continueWriting {
   |                `- warning: capture of 'self' with non-sendable type 'FileEndpoint' in a `@Sendable` closure; this is an error in the Swift 6 language mode
26 |                 self.fileHandle.write(data)
27 |             }
[21/50] Compiling kubrick VideoEncoder.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:75: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
   :
73 |     public subscript(index: Int) -> T {
74 |         set {
75 |             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
76 |         }
77 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:75: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
   :
73 |     public subscript(index: Int) -> T {
74 |         set {
75 |             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
76 |         }
77 |
[22/50] Compiling kubrick Bytes.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:75: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
   :
73 |     public subscript(index: Int) -> T {
74 |         set {
75 |             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
76 |         }
77 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:75: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
   :
73 |     public subscript(index: Int) -> T {
74 |         set {
75 |             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
76 |         }
77 |
[23/50] 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:75: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
   :
73 |     public subscript(index: Int) -> T {
74 |         set {
75 |             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
76 |         }
77 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:75: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
   :
73 |     public subscript(index: Int) -> T {
74 |         set {
75 |             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
76 |         }
77 |
[24/50] 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:75: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
   :
73 |     public subscript(index: Int) -> T {
74 |         set {
75 |             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
76 |         }
77 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:75: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
   :
73 |     public subscript(index: Int) -> T {
74 |         set {
75 |             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
76 |         }
77 |
[25/50] Compiling kubrick MediaDeviceReader.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:26:64: 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 ident: MediaSourceIdentifier
   :
24 |         {
25 |             self.q.async {
26 |                 let sample = SampleTransport(sourceIdentifier: self.ident, sampleBuffer: sampleBuffer)
   |                                                                `- warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |                 self.push(input: sample)
28 |             }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:26:90: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 |         {
25 |             self.q.async {
26 |                 let sample = SampleTransport(sourceIdentifier: self.ident, sampleBuffer: sampleBuffer)
   |                                                                                          `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |                 self.push(input: sample)
28 |             }
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 | }
[26/50] Compiling kubrick Microphone.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:26:64: 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 ident: MediaSourceIdentifier
   :
24 |         {
25 |             self.q.async {
26 |                 let sample = SampleTransport(sourceIdentifier: self.ident, sampleBuffer: sampleBuffer)
   |                                                                `- warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |                 self.push(input: sample)
28 |             }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:26:90: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 |         {
25 |             self.q.async {
26 |                 let sample = SampleTransport(sourceIdentifier: self.ident, sampleBuffer: sampleBuffer)
   |                                                                                          `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |                 self.push(input: sample)
28 |             }
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 | }
[27/50] Compiling kubrick AudioReader.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:26:64: 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 ident: MediaSourceIdentifier
   :
24 |         {
25 |             self.q.async {
26 |                 let sample = SampleTransport(sourceIdentifier: self.ident, sampleBuffer: sampleBuffer)
   |                                                                `- warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |                 self.push(input: sample)
28 |             }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:26:90: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 |         {
25 |             self.q.async {
26 |                 let sample = SampleTransport(sourceIdentifier: self.ident, sampleBuffer: sampleBuffer)
   |                                                                                          `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |                 self.push(input: sample)
28 |             }
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 | }
[28/50] Compiling kubrick Camera.swift
[29/50] Compiling kubrick Clock.swift
[30/50] Compiling kubrick Display.swift
[31/50] Compiling kubrick MediaDevice.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceInput.swift:20: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
18 |     import AVFoundation
19 |
20 |     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
21 |         let input = try AVCaptureInput.makeInput(device: src)
22 |         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?:
[32/50] Compiling kubrick MediaDeviceInput.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceInput.swift:20: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
18 |     import AVFoundation
19 |
20 |     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
21 |         let input = try AVCaptureInput.makeInput(device: src)
22 |         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?:
[33/50] Compiling kubrick MediaDeviceOutput.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceInput.swift:20: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
18 |     import AVFoundation
19 |
20 |     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
21 |         let input = try AVCaptureInput.makeInput(device: src)
22 |         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?:
[34/50] 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:20: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
18 |     import AVFoundation
19 |
20 |     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
21 |         let input = try AVCaptureInput.makeInput(device: src)
22 |         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?:
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:39:10: warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 37 |
 38 | public enum CaptureSessionError: Error {
 39 |     case couldNotMakeConnection(device: MediaDevice)
    |          `- warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 40 |     case missingInput(device: MediaDevice)
 41 |     case missingOutput(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:40:10: warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 38 | public enum CaptureSessionError: Error {
 39 |     case couldNotMakeConnection(device: MediaDevice)
 40 |     case missingInput(device: MediaDevice)
    |          `- warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 41 |     case missingOutput(device: MediaDevice)
 42 |     case missingMediaType(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:41:10: warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 39 |     case couldNotMakeConnection(device: MediaDevice)
 40 |     case missingInput(device: MediaDevice)
 41 |     case missingOutput(device: MediaDevice)
    |          `- warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 42 |     case missingMediaType(device: MediaDevice)
 43 |     case inputMissingPorts(mediaType: MediaType)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:42:10: warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 40 |     case missingInput(device: MediaDevice)
 41 |     case missingOutput(device: MediaDevice)
 42 |     case missingMediaType(device: MediaDevice)
    |          `- warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 43 |     case inputMissingPorts(mediaType: MediaType)
 44 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:43:10: warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
 41 |     case missingOutput(device: MediaDevice)
 42 |     case missingMediaType(device: MediaDevice)
 43 |     case inputMissingPorts(mediaType: MediaType)
    |          `- warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
 44 | }
 45 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/Source.swift:7:13: note: consider making enum 'MediaType' conform to the 'Sendable' protocol
 5 | }
 6 |
 7 | public enum MediaType {
   |             `- note: consider making enum 'MediaType' conform to the 'Sendable' protocol
 8 |     case video
 9 |     case audio
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 45 |
 46 | public class CaptureSession: Session {
 47 |     open let base = Base()
    |              `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 48 |
 49 |     public private(set) var inputs: [MediaDeviceInput] = []
[35/50] Compiling kubrick SampleTransport.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:39:10: warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 37 |
 38 | public enum CaptureSessionError: Error {
 39 |     case couldNotMakeConnection(device: MediaDevice)
    |          `- warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 40 |     case missingInput(device: MediaDevice)
 41 |     case missingOutput(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:40:10: warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 38 | public enum CaptureSessionError: Error {
 39 |     case couldNotMakeConnection(device: MediaDevice)
 40 |     case missingInput(device: MediaDevice)
    |          `- warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 41 |     case missingOutput(device: MediaDevice)
 42 |     case missingMediaType(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:41:10: warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 39 |     case couldNotMakeConnection(device: MediaDevice)
 40 |     case missingInput(device: MediaDevice)
 41 |     case missingOutput(device: MediaDevice)
    |          `- warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 42 |     case missingMediaType(device: MediaDevice)
 43 |     case inputMissingPorts(mediaType: MediaType)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:42:10: warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 40 |     case missingInput(device: MediaDevice)
 41 |     case missingOutput(device: MediaDevice)
 42 |     case missingMediaType(device: MediaDevice)
    |          `- warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 43 |     case inputMissingPorts(mediaType: MediaType)
 44 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:43:10: warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
 41 |     case missingOutput(device: MediaDevice)
 42 |     case missingMediaType(device: MediaDevice)
 43 |     case inputMissingPorts(mediaType: MediaType)
    |          `- warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
 44 | }
 45 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/Source.swift:7:13: note: consider making enum 'MediaType' conform to the 'Sendable' protocol
 5 | }
 6 |
 7 | public enum MediaType {
   |             `- note: consider making enum 'MediaType' conform to the 'Sendable' protocol
 8 |     case video
 9 |     case audio
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 45 |
 46 | public class CaptureSession: Session {
 47 |     open let base = Base()
    |              `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 48 |
 49 |     public private(set) var inputs: [MediaDeviceInput] = []
[36/50] Compiling kubrick Session.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:39:10: warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 37 |
 38 | public enum CaptureSessionError: Error {
 39 |     case couldNotMakeConnection(device: MediaDevice)
    |          `- warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 40 |     case missingInput(device: MediaDevice)
 41 |     case missingOutput(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:40:10: warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 38 | public enum CaptureSessionError: Error {
 39 |     case couldNotMakeConnection(device: MediaDevice)
 40 |     case missingInput(device: MediaDevice)
    |          `- warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 41 |     case missingOutput(device: MediaDevice)
 42 |     case missingMediaType(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:41:10: warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 39 |     case couldNotMakeConnection(device: MediaDevice)
 40 |     case missingInput(device: MediaDevice)
 41 |     case missingOutput(device: MediaDevice)
    |          `- warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 42 |     case missingMediaType(device: MediaDevice)
 43 |     case inputMissingPorts(mediaType: MediaType)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:42:10: warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 40 |     case missingInput(device: MediaDevice)
 41 |     case missingOutput(device: MediaDevice)
 42 |     case missingMediaType(device: MediaDevice)
    |          `- warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 43 |     case inputMissingPorts(mediaType: MediaType)
 44 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:43:10: warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
 41 |     case missingOutput(device: MediaDevice)
 42 |     case missingMediaType(device: MediaDevice)
 43 |     case inputMissingPorts(mediaType: MediaType)
    |          `- warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
 44 | }
 45 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/Source.swift:7:13: note: consider making enum 'MediaType' conform to the 'Sendable' protocol
 5 | }
 6 |
 7 | public enum MediaType {
   |             `- note: consider making enum 'MediaType' conform to the 'Sendable' protocol
 8 |     case video
 9 |     case audio
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 45 |
 46 | public class CaptureSession: Session {
 47 |     open let base = Base()
    |              `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 48 |
 49 |     public private(set) var inputs: [MediaDeviceInput] = []
[37/50] Compiling kubrick AACEncoderSink.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:39:10: warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 37 |
 38 | public enum CaptureSessionError: Error {
 39 |     case couldNotMakeConnection(device: MediaDevice)
    |          `- warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 40 |     case missingInput(device: MediaDevice)
 41 |     case missingOutput(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:40:10: warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 38 | public enum CaptureSessionError: Error {
 39 |     case couldNotMakeConnection(device: MediaDevice)
 40 |     case missingInput(device: MediaDevice)
    |          `- warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 41 |     case missingOutput(device: MediaDevice)
 42 |     case missingMediaType(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:41:10: warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 39 |     case couldNotMakeConnection(device: MediaDevice)
 40 |     case missingInput(device: MediaDevice)
 41 |     case missingOutput(device: MediaDevice)
    |          `- warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 42 |     case missingMediaType(device: MediaDevice)
 43 |     case inputMissingPorts(mediaType: MediaType)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:42:10: warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 40 |     case missingInput(device: MediaDevice)
 41 |     case missingOutput(device: MediaDevice)
 42 |     case missingMediaType(device: MediaDevice)
    |          `- warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
 43 |     case inputMissingPorts(mediaType: MediaType)
 44 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 2 | public typealias MediaDeviceOutputClosure   = (MediaDeviceOutput) -> Void
 3 |
 4 | public protocol MediaDevice {
   |                 `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
 5 |     var source: Source { get }
 6 |     var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:43:10: warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
 41 |     case missingOutput(device: MediaDevice)
 42 |     case missingMediaType(device: MediaDevice)
 43 |     case inputMissingPorts(mediaType: MediaType)
    |          `- warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
 44 | }
 45 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/Source.swift:7:13: note: consider making enum 'MediaType' conform to the 'Sendable' protocol
 5 | }
 6 |
 7 | public enum MediaType {
   |             `- note: consider making enum 'MediaType' conform to the 'Sendable' protocol
 8 |     case video
 9 |     case audio
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 45 |
 46 | public class CaptureSession: Session {
 47 |     open let base = Base()
    |              `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 48 |
 49 |     public private(set) var inputs: [MediaDeviceInput] = []
[38/50] Compiling kubrick MuxerSink.swift
[39/50] Compiling kubrick PrettyPortraitSink.swift
[40/50] Compiling kubrick Sink.swift
[41/50] Compiling kubrick VideoReader.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:26:64: 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 ident: MediaSourceIdentifier
   :
24 |         {
25 |             self.q.async {
26 |                 let sample = SampleTransport(sourceIdentifier: self.ident,
   |                                                                `- warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |                                              sampleBuffer: sampleBuffer)
28 |                 self.push(input: sample)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:27:60: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 |             self.q.async {
26 |                 let sample = SampleTransport(sourceIdentifier: self.ident,
27 |                                              sampleBuffer: sampleBuffer)
   |                                                            `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |                 self.push(input: sample)
29 |             }
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 | }
[42/50] Compiling kubrick MediaFormat.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:26:64: 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 ident: MediaSourceIdentifier
   :
24 |         {
25 |             self.q.async {
26 |                 let sample = SampleTransport(sourceIdentifier: self.ident,
   |                                                                `- warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |                                              sampleBuffer: sampleBuffer)
28 |                 self.push(input: sample)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:27:60: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 |             self.q.async {
26 |                 let sample = SampleTransport(sourceIdentifier: self.ident,
27 |                                              sampleBuffer: sampleBuffer)
   |                                                            `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |                 self.push(input: sample)
29 |             }
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 | }
[43/50] Compiling kubrick Sample.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:26:64: 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 ident: MediaSourceIdentifier
   :
24 |         {
25 |             self.q.async {
26 |                 let sample = SampleTransport(sourceIdentifier: self.ident,
   |                                                                `- warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |                                              sampleBuffer: sampleBuffer)
28 |                 self.push(input: sample)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:27:60: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 |             self.q.async {
26 |                 let sample = SampleTransport(sourceIdentifier: self.ident,
27 |                                              sampleBuffer: sampleBuffer)
   |                                                            `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |                 self.push(input: sample)
29 |             }
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 | }
[44/50] 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:
[45/50] 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:
[46/50] 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:
[47/50] Compiling kubrick H264Settings.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:
[48/50] Compiling kubrick AVStream.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:147:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
145 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
146 |             // If we have a video format, build the config packets and send them
147 |             if let videoFormat = self.muxSink.videoFormat {
    |                                  |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
148 |                 do {
149 |                     let paramsPacket     = try VideoParamSetPacket(params: videoFormat.params)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:162:43: warning: sending 'sink' risks causing data races; this is an error in the Swift 6 language mode
160 |             // Append the endpoint sink to the mux sink
161 |             // Audio / Video data should start streaming over the network from here
162 |             self.muxSink.nextSinks.append(sink)
    |                                           |- warning: sending 'sink' risks causing data races; this is an error in the Swift 6 language mode
    |                                           `- note: task-isolated 'sink' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
163 |         }
164 |     }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 45 |
 46 | public class CaptureSession: Session {
 47 |     open let base = Base()
    |              `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 48 |
 49 |     public private(set) var inputs: [MediaDeviceInput] = []
[49/50] Compiling kubrick Source.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:147:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
145 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
146 |             // If we have a video format, build the config packets and send them
147 |             if let videoFormat = self.muxSink.videoFormat {
    |                                  |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
148 |                 do {
149 |                     let paramsPacket     = try VideoParamSetPacket(params: videoFormat.params)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:162:43: warning: sending 'sink' risks causing data races; this is an error in the Swift 6 language mode
160 |             // Append the endpoint sink to the mux sink
161 |             // Audio / Video data should start streaming over the network from here
162 |             self.muxSink.nextSinks.append(sink)
    |                                           |- warning: sending 'sink' risks causing data races; this is an error in the Swift 6 language mode
    |                                           `- note: task-isolated 'sink' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
163 |         }
164 |     }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 45 |
 46 | public class CaptureSession: Session {
 47 |     open let base = Base()
    |              `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 48 |
 49 |     public private(set) var inputs: [MediaDeviceInput] = []
[50/50] Compiling kubrick SourceDiscoverer.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:147:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
145 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
146 |             // If we have a video format, build the config packets and send them
147 |             if let videoFormat = self.muxSink.videoFormat {
    |                                  |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
148 |                 do {
149 |                     let paramsPacket     = try VideoParamSetPacket(params: videoFormat.params)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:162:43: warning: sending 'sink' risks causing data races; this is an error in the Swift 6 language mode
160 |             // Append the endpoint sink to the mux sink
161 |             // Audio / Video data should start streaming over the network from here
162 |             self.muxSink.nextSinks.append(sink)
    |                                           |- warning: sending 'sink' risks causing data races; this is an error in the Swift 6 language mode
    |                                           `- note: task-isolated 'sink' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
163 |         }
164 |     }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 45 |
 46 | public class CaptureSession: Session {
 47 |     open let base = Base()
    |              `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
 48 |
 49 |     public private(set) var inputs: [MediaDeviceInput] = []
Build complete! (17.54s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "grip",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.5",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/krad/grip.git"
    }
  ],
  "manifest_display_name" : "kubrick",
  "name" : "kubrick",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "kubrick",
      "targets" : [
        "kubrick"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "kubrickTests",
      "module_type" : "SwiftTarget",
      "name" : "kubrickTests",
      "path" : "Tests/kubrickTests",
      "sources" : [
        "AudioSinkTests.swift",
        "BasicCaptureTests.swift",
        "CameraTests.swift",
        "DisplayStreamTests.swift",
        "Mocks.swift",
        "MuxerSinkTests.swift",
        "SessionTests.swift",
        "SinkTests.swift",
        "SourceDiscovererTests.swift",
        "SourceTests.swift",
        "StreamTests.swift",
        "TestHelpers.swift",
        "VideoSinkTests.swift"
      ],
      "target_dependencies" : [
        "kubrick"
      ],
      "type" : "test"
    },
    {
      "c99name" : "kubrick",
      "module_type" : "SwiftTarget",
      "name" : "kubrick",
      "path" : "Sources/kubrick",
      "product_dependencies" : [
        "grip"
      ],
      "product_memberships" : [
        "kubrick"
      ],
      "sources" : [
        "Encoders/AACEncoder.swift",
        "Encoders/AudioEncoder.swift",
        "Encoders/H264Encoder.swift",
        "Encoders/H264Settings.swift",
        "Encoders/VideoEncoder.swift",
        "Helpers/Bytes.swift",
        "Helpers/Rational.swift",
        "Helpers/ThreadSafeArray.swift",
        "MediaDevices/Camera.swift",
        "MediaDevices/Clock.swift",
        "MediaDevices/Display.swift",
        "MediaDevices/MediaDevice.swift",
        "MediaDevices/MediaDeviceInput.swift",
        "MediaDevices/MediaDeviceOutput.swift",
        "MediaDevices/MediaDeviceReader.swift",
        "MediaDevices/Microphone.swift",
        "MediaDevices/Readers/AudioReader.swift",
        "MediaDevices/Readers/VideoReader.swift",
        "Samples/MediaFormat.swift",
        "Samples/Sample.swift",
        "Samples/SampleTransport.swift",
        "Samples/Session.swift",
        "Sinks/AACEncoderSink.swift",
        "Sinks/EndpointSink.swift",
        "Sinks/FileEndpoint.swift",
        "Sinks/H264EncoderSink.swift",
        "Sinks/MuxerSink.swift",
        "Sinks/PrettyPortraitSink.swift",
        "Sinks/Sink.swift",
        "Sources/AVStream.swift",
        "Sources/Source.swift",
        "Sources/SourceDiscoverer.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.