The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build MQTTKit, reference master (ec8946), with Swift 6.1 for Linux on 25 Apr 2025 13:12:55 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/arnecs/mqttkit.git
Reference: master
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/arnecs/mqttkit
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at ec89464 travis script xcodebuild
Cloned https://github.com/arnecs/mqttkit.git
Revision (git rev-parse @):
ec894640f1ea27f758b3f4d22722d83159773cd0
SUCCESS checkout https://github.com/arnecs/mqttkit.git at master
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/arnecs/mqttkit.git
https://github.com/arnecs/mqttkit.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "MQTTKit",
  "name" : "MQTTKit",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "MQTTKit",
      "targets" : [
        "MQTTKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MQTTKitTests",
      "module_type" : "SwiftTarget",
      "name" : "MQTTKitTests",
      "path" : "Tests",
      "sources" : [
        "MQTTKitTests.swift"
      ],
      "target_dependencies" : [
        "MQTTKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MQTTKit",
      "module_type" : "SwiftTarget",
      "name" : "MQTTKit",
      "path" : "Sources",
      "product_memberships" : [
        "MQTTKit"
      ],
      "sources" : [
        "Constants.swift",
        "Extensions.swift",
        "MQTTMessage.swift",
        "MQTTOptions.swift",
        "MQTTPacket.swift",
        "MQTTSession.swift",
        "MQTTSessionDelegate.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/10] Compiling MQTTKit MQTTMessage.swift
[4/10] Compiling MQTTKit MQTTPacket.swift
/host/spi-builder-workspace/Sources/MQTTPacket.swift:63:14: warning: function call causes an infinite recursion
 61 |
 62 |     init(header: MQTTPacket.Header) {
 63 |         self.init(header: header)
    |              `- warning: function call causes an infinite recursion
 64 |     }
 65 | }
[5/10] Compiling MQTTKit MQTTSession.swift
/host/spi-builder-workspace/Sources/MQTTSession.swift:138:23: warning: capture of 'self' with non-sendable type 'MQTTSession?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | final public class MQTTSession: NSObject, StreamDelegate {
    |                    `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 12 |     private var options: MQTTOptions
 13 |     private var inputStream: InputStream?
    :
136 |         DispatchQueue.main.async {
137 |             self.keepAliveTimer = Timer.scheduledTimer(withTimeInterval: TimeInterval(self.options.keepAliveInterval / 2), repeats: true, block: { [weak self] timer in
138 |                 guard self?.outputStream?.streamStatus == .open,
    |                       `- warning: capture of 'self' with non-sendable type 'MQTTSession?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
139 |                     -self!.lastServerResponse.timeIntervalSinceNow < Double(self!.options.keepAliveInterval) * 1.5  else {
140 |                         timer.invalidate()
/host/spi-builder-workspace/Sources/MQTTSession.swift:160:62: warning: capture of 'self' with non-sendable type 'MQTTSession' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | final public class MQTTSession: NSObject, StreamDelegate {
    |                    `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 12 |     private var options: MQTTOptions
 13 |     private var inputStream: InputStream?
    :
158 |         DispatchQueue.main.async {
159 |             self.autoReconnectTimer = Timer.scheduledTimer(withTimeInterval: TimeInterval(self.options.keepAliveInterval / 2), repeats: true, block: { [lsr = self.lastServerResponse, timeout = self.options.autoReconnectTimeout] timer in
160 |                 guard -lsr.timeIntervalSinceNow < timeout && self.state == .disconnected else {
    |                                                              `- warning: capture of 'self' with non-sendable type 'MQTTSession' in a '@Sendable' closure; this is an error in the Swift 6 language mode
161 |                     timer.invalidate()
162 |                     return
/host/spi-builder-workspace/Sources/MQTTSession.swift:160:62: warning: implicit capture of 'self' requires that 'MQTTSession' conforms to 'Sendable'; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | final public class MQTTSession: NSObject, StreamDelegate {
    |                    `- note: class 'MQTTSession' does not conform to the 'Sendable' protocol
 12 |     private var options: MQTTOptions
 13 |     private var inputStream: InputStream?
    :
158 |         DispatchQueue.main.async {
159 |             self.autoReconnectTimer = Timer.scheduledTimer(withTimeInterval: TimeInterval(self.options.keepAliveInterval / 2), repeats: true, block: { [lsr = self.lastServerResponse, timeout = self.options.autoReconnectTimeout] timer in
160 |                 guard -lsr.timeIntervalSinceNow < timeout && self.state == .disconnected else {
    |                                                              `- warning: implicit capture of 'self' requires that 'MQTTSession' conforms to 'Sendable'; this is an error in the Swift 6 language mode
161 |                     timer.invalidate()
162 |                     return
/host/spi-builder-workspace/Sources/MQTTSession.swift:174:16: error: type 'Stream' has no member 'getStreamsToHost'
172 |         var outputStream: OutputStream?
173 |
174 |         Stream.getStreamsToHost(
    |                `- error: type 'Stream' has no member 'getStreamsToHost'
175 |             withName: options.host,
176 |             port: options.port,
/host/spi-builder-workspace/Sources/MQTTSession.swift:188:51: error: cannot find 'RunLoopMode' in scope
186 |         output.delegate = self
187 |
188 |         input.schedule(in: RunLoop.main, forMode: RunLoopMode.defaultRunLoopMode)
    |                                                   `- error: cannot find 'RunLoopMode' in scope
189 |         output.schedule(in: RunLoop.main, forMode: RunLoopMode.defaultRunLoopMode)
190 |
/host/spi-builder-workspace/Sources/MQTTSession.swift:189:52: error: cannot find 'RunLoopMode' in scope
187 |
188 |         input.schedule(in: RunLoop.main, forMode: RunLoopMode.defaultRunLoopMode)
189 |         output.schedule(in: RunLoop.main, forMode: RunLoopMode.defaultRunLoopMode)
    |                                                    `- error: cannot find 'RunLoopMode' in scope
190 |
191 |         if options.useTLS {
/host/spi-builder-workspace/Sources/MQTTSession.swift:192:57: error: argument type 'StreamSocketSecurityLevel' expected to be an instance of a class or class-constrained type
190 |
191 |         if options.useTLS {
192 |             input.setProperty(StreamSocketSecurityLevel.tlSv1, forKey: .socketSecurityLevelKey)
    |                                                         `- error: argument type 'StreamSocketSecurityLevel' expected to be an instance of a class or class-constrained type
193 |             output.setProperty(StreamSocketSecurityLevel.tlSv1, forKey: .socketSecurityLevelKey)
194 |         }
/host/spi-builder-workspace/Sources/MQTTSession.swift:193:58: error: argument type 'StreamSocketSecurityLevel' expected to be an instance of a class or class-constrained type
191 |         if options.useTLS {
192 |             input.setProperty(StreamSocketSecurityLevel.tlSv1, forKey: .socketSecurityLevelKey)
193 |             output.setProperty(StreamSocketSecurityLevel.tlSv1, forKey: .socketSecurityLevelKey)
    |                                                          `- error: argument type 'StreamSocketSecurityLevel' expected to be an instance of a class or class-constrained type
194 |         }
195 |
/host/spi-builder-workspace/Sources/MQTTSession.swift:197:13: warning: capture of 'input' with non-sendable type 'InputStream' in a '@Sendable' closure; this is an error in the Swift 6 language mode
195 |
196 |         DispatchQueue.global(qos: .userInitiated).async {
197 |             input.open()
    |             `- warning: capture of 'input' with non-sendable type 'InputStream' in a '@Sendable' closure; this is an error in the Swift 6 language mode
198 |             output.open()
199 |
Foundation.InputStream:1:12: note: class 'InputStream' does not conform to the 'Sendable' protocol
 1 | open class InputStream : Stream {
   |            `- note: class 'InputStream' does not conform to the 'Sendable' protocol
 2 |     open func read(_ buffer: UnsafeMutablePointer<UInt8>, maxLength len: Int) -> Int
 3 |     open func getBuffer(_ buffer: UnsafeMutablePointer<UnsafeMutablePointer<UInt8>?>, length len: UnsafeMutablePointer<Int>) -> Bool
/host/spi-builder-workspace/Sources/MQTTSession.swift:198:13: warning: capture of 'output' with non-sendable type 'OutputStream' in a '@Sendable' closure; this is an error in the Swift 6 language mode
196 |         DispatchQueue.global(qos: .userInitiated).async {
197 |             input.open()
198 |             output.open()
    |             `- warning: capture of 'output' with non-sendable type 'OutputStream' in a '@Sendable' closure; this is an error in the Swift 6 language mode
199 |
200 |             while input.streamStatus == .opening || output.streamStatus == .opening {
Foundation.OutputStream:1:12: note: class 'OutputStream' does not conform to the 'Sendable' protocol
 1 | open class OutputStream : Stream {
   |            `- note: class 'OutputStream' does not conform to the 'Sendable' protocol
 2 |     open func write(_ buffer: UnsafePointer<UInt8>, maxLength len: Int) -> Int
 3 |     open var hasSpaceAvailable: Bool { get }
/host/spi-builder-workspace/Sources/MQTTSession.swift:205:17: warning: capture of 'completion' with non-sendable type '((input: InputStream, output: OutputStream)?) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
203 |
204 |             if input.streamStatus != .open || output.streamStatus != .open {
205 |                 completion(nil)
    |                 |- warning: capture of 'completion' with non-sendable type '((input: InputStream, output: OutputStream)?) -> Void' 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'
206 |                 return
207 |             }
/host/spi-builder-workspace/Sources/MQTTSession.swift:200:53: warning: implicit capture of 'output' requires that 'OutputStream' conforms to 'Sendable'; this is an error in the Swift 6 language mode
198 |             output.open()
199 |
200 |             while input.streamStatus == .opening || output.streamStatus == .opening {
    |                                                     `- warning: implicit capture of 'output' requires that 'OutputStream' conforms to 'Sendable'; this is an error in the Swift 6 language mode
201 |                 usleep(1000)
202 |             }
Foundation.OutputStream:1:12: note: class 'OutputStream' does not conform to the 'Sendable' protocol
 1 | open class OutputStream : Stream {
   |            `- note: class 'OutputStream' does not conform to the 'Sendable' protocol
 2 |     open func write(_ buffer: UnsafePointer<UInt8>, maxLength len: Int) -> Int
 3 |     open var hasSpaceAvailable: Bool { get }
/host/spi-builder-workspace/Sources/MQTTSession.swift:204:47: warning: implicit capture of 'output' requires that 'OutputStream' conforms to 'Sendable'; this is an error in the Swift 6 language mode
202 |             }
203 |
204 |             if input.streamStatus != .open || output.streamStatus != .open {
    |                                               `- warning: implicit capture of 'output' requires that 'OutputStream' conforms to 'Sendable'; this is an error in the Swift 6 language mode
205 |                 completion(nil)
206 |                 return
Foundation.OutputStream:1:12: note: class 'OutputStream' does not conform to the 'Sendable' protocol
 1 | open class OutputStream : Stream {
   |            `- note: class 'OutputStream' does not conform to the 'Sendable' protocol
 2 |     open func write(_ buffer: UnsafePointer<UInt8>, maxLength len: Int) -> Int
 3 |     open var hasSpaceAvailable: Bool { get }
[6/10] Compiling MQTTKit MQTTSessionDelegate.swift
[7/10] Compiling MQTTKit MQTTOptions.swift
[8/10] Compiling MQTTKit Extensions.swift
[9/10] Emitting module MQTTKit
/host/spi-builder-workspace/Sources/Constants.swift:37:16: warning: static property 'mostOnce' is not concurrency-safe because non-'Sendable' type 'MQTTQoSLevel' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | }
 31 |
 32 | public enum MQTTQoSLevel: UInt8, Comparable {
    |             `- note: consider making enum 'MQTTQoSLevel' conform to the 'Sendable' protocol
 33 |     case qos0 = 0b0000_0000
 34 |     case qos1 = 0b0000_0010
 35 |     case qos2 = 0b0000_0100
 36 |
 37 |     static let mostOnce = MQTTQoSLevel.qos0
    |                |- warning: static property 'mostOnce' is not concurrency-safe because non-'Sendable' type 'MQTTQoSLevel' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'mostOnce' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 38 |     static let leastOnce = MQTTQoSLevel.qos1
 39 |     static let exactlyOnce = MQTTQoSLevel.qos2
/host/spi-builder-workspace/Sources/Constants.swift:38:16: warning: static property 'leastOnce' is not concurrency-safe because non-'Sendable' type 'MQTTQoSLevel' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | }
 31 |
 32 | public enum MQTTQoSLevel: UInt8, Comparable {
    |             `- note: consider making enum 'MQTTQoSLevel' conform to the 'Sendable' protocol
 33 |     case qos0 = 0b0000_0000
 34 |     case qos1 = 0b0000_0010
    :
 36 |
 37 |     static let mostOnce = MQTTQoSLevel.qos0
 38 |     static let leastOnce = MQTTQoSLevel.qos1
    |                |- warning: static property 'leastOnce' is not concurrency-safe because non-'Sendable' type 'MQTTQoSLevel' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'leastOnce' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |     static let exactlyOnce = MQTTQoSLevel.qos2
 40 |
/host/spi-builder-workspace/Sources/Constants.swift:39:16: warning: static property 'exactlyOnce' is not concurrency-safe because non-'Sendable' type 'MQTTQoSLevel' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | }
 31 |
 32 | public enum MQTTQoSLevel: UInt8, Comparable {
    |             `- note: consider making enum 'MQTTQoSLevel' conform to the 'Sendable' protocol
 33 |     case qos0 = 0b0000_0000
 34 |     case qos1 = 0b0000_0010
    :
 37 |     static let mostOnce = MQTTQoSLevel.qos0
 38 |     static let leastOnce = MQTTQoSLevel.qos1
 39 |     static let exactlyOnce = MQTTQoSLevel.qos2
    |                |- warning: static property 'exactlyOnce' is not concurrency-safe because non-'Sendable' type 'MQTTQoSLevel' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'exactlyOnce' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     case failure = 0x80
/host/spi-builder-workspace/Sources/Constants.swift:45:5: warning: 'public' modifier is redundant for operator function declared in a public extension
 43 |
 44 | public extension MQTTQoSLevel {
 45 |     public static func < (lhs: MQTTQoSLevel, rhs: MQTTQoSLevel) -> Bool {
    |     `- warning: 'public' modifier is redundant for operator function declared in a public extension
 46 |         return lhs.rawValue < rhs.rawValue
 47 |     }
[10/10] Compiling MQTTKit Constants.swift
/host/spi-builder-workspace/Sources/Constants.swift:37:16: warning: static property 'mostOnce' is not concurrency-safe because non-'Sendable' type 'MQTTQoSLevel' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | }
 31 |
 32 | public enum MQTTQoSLevel: UInt8, Comparable {
    |             `- note: consider making enum 'MQTTQoSLevel' conform to the 'Sendable' protocol
 33 |     case qos0 = 0b0000_0000
 34 |     case qos1 = 0b0000_0010
 35 |     case qos2 = 0b0000_0100
 36 |
 37 |     static let mostOnce = MQTTQoSLevel.qos0
    |                |- warning: static property 'mostOnce' is not concurrency-safe because non-'Sendable' type 'MQTTQoSLevel' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'mostOnce' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 38 |     static let leastOnce = MQTTQoSLevel.qos1
 39 |     static let exactlyOnce = MQTTQoSLevel.qos2
/host/spi-builder-workspace/Sources/Constants.swift:38:16: warning: static property 'leastOnce' is not concurrency-safe because non-'Sendable' type 'MQTTQoSLevel' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | }
 31 |
 32 | public enum MQTTQoSLevel: UInt8, Comparable {
    |             `- note: consider making enum 'MQTTQoSLevel' conform to the 'Sendable' protocol
 33 |     case qos0 = 0b0000_0000
 34 |     case qos1 = 0b0000_0010
    :
 36 |
 37 |     static let mostOnce = MQTTQoSLevel.qos0
 38 |     static let leastOnce = MQTTQoSLevel.qos1
    |                |- warning: static property 'leastOnce' is not concurrency-safe because non-'Sendable' type 'MQTTQoSLevel' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'leastOnce' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |     static let exactlyOnce = MQTTQoSLevel.qos2
 40 |
/host/spi-builder-workspace/Sources/Constants.swift:39:16: warning: static property 'exactlyOnce' is not concurrency-safe because non-'Sendable' type 'MQTTQoSLevel' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | }
 31 |
 32 | public enum MQTTQoSLevel: UInt8, Comparable {
    |             `- note: consider making enum 'MQTTQoSLevel' conform to the 'Sendable' protocol
 33 |     case qos0 = 0b0000_0000
 34 |     case qos1 = 0b0000_0010
    :
 37 |     static let mostOnce = MQTTQoSLevel.qos0
 38 |     static let leastOnce = MQTTQoSLevel.qos1
 39 |     static let exactlyOnce = MQTTQoSLevel.qos2
    |                |- warning: static property 'exactlyOnce' is not concurrency-safe because non-'Sendable' type 'MQTTQoSLevel' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'exactlyOnce' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     case failure = 0x80
/host/spi-builder-workspace/Sources/Constants.swift:45:5: warning: 'public' modifier is redundant for operator function declared in a public extension
 43 |
 44 | public extension MQTTQoSLevel {
 45 |     public static func < (lhs: MQTTQoSLevel, rhs: MQTTQoSLevel) -> Bool {
    |     `- warning: 'public' modifier is redundant for operator function declared in a public extension
 46 |         return lhs.rawValue < rhs.rawValue
 47 |     }
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/9] Compiling MQTTKit MQTTSessionDelegate.swift
[3/9] Emitting module MQTTKit
/host/spi-builder-workspace/Sources/Constants.swift:45:5: warning: 'public' modifier is redundant for operator function declared in a public extension
 43 |
 44 | public extension MQTTQoSLevel {
 45 |     public static func < (lhs: MQTTQoSLevel, rhs: MQTTQoSLevel) -> Bool {
    |     `- warning: 'public' modifier is redundant for operator function declared in a public extension
 46 |         return lhs.rawValue < rhs.rawValue
 47 |     }
[4/9] Compiling MQTTKit MQTTOptions.swift
[5/9] Compiling MQTTKit MQTTMessage.swift
[6/9] Compiling MQTTKit Extensions.swift
[7/9] Compiling MQTTKit Constants.swift
/host/spi-builder-workspace/Sources/Constants.swift:45:5: warning: 'public' modifier is redundant for operator function declared in a public extension
 43 |
 44 | public extension MQTTQoSLevel {
 45 |     public static func < (lhs: MQTTQoSLevel, rhs: MQTTQoSLevel) -> Bool {
    |     `- warning: 'public' modifier is redundant for operator function declared in a public extension
 46 |         return lhs.rawValue < rhs.rawValue
 47 |     }
[8/9] Compiling MQTTKit MQTTPacket.swift
/host/spi-builder-workspace/Sources/MQTTPacket.swift:63:14: warning: function call causes an infinite recursion
 61 |
 62 |     init(header: MQTTPacket.Header) {
 63 |         self.init(header: header)
    |              `- warning: function call causes an infinite recursion
 64 |     }
 65 | }
[9/9] Compiling MQTTKit MQTTSession.swift
/host/spi-builder-workspace/Sources/MQTTSession.swift:174:16: error: type 'Stream' has no member 'getStreamsToHost'
172 |         var outputStream: OutputStream?
173 |
174 |         Stream.getStreamsToHost(
    |                `- error: type 'Stream' has no member 'getStreamsToHost'
175 |             withName: options.host,
176 |             port: options.port,
/host/spi-builder-workspace/Sources/MQTTSession.swift:188:51: error: cannot find 'RunLoopMode' in scope
186 |         output.delegate = self
187 |
188 |         input.schedule(in: RunLoop.main, forMode: RunLoopMode.defaultRunLoopMode)
    |                                                   `- error: cannot find 'RunLoopMode' in scope
189 |         output.schedule(in: RunLoop.main, forMode: RunLoopMode.defaultRunLoopMode)
190 |
/host/spi-builder-workspace/Sources/MQTTSession.swift:189:52: error: cannot find 'RunLoopMode' in scope
187 |
188 |         input.schedule(in: RunLoop.main, forMode: RunLoopMode.defaultRunLoopMode)
189 |         output.schedule(in: RunLoop.main, forMode: RunLoopMode.defaultRunLoopMode)
    |                                                    `- error: cannot find 'RunLoopMode' in scope
190 |
191 |         if options.useTLS {
/host/spi-builder-workspace/Sources/MQTTSession.swift:192:57: error: argument type 'StreamSocketSecurityLevel' expected to be an instance of a class or class-constrained type
190 |
191 |         if options.useTLS {
192 |             input.setProperty(StreamSocketSecurityLevel.tlSv1, forKey: .socketSecurityLevelKey)
    |                                                         `- error: argument type 'StreamSocketSecurityLevel' expected to be an instance of a class or class-constrained type
193 |             output.setProperty(StreamSocketSecurityLevel.tlSv1, forKey: .socketSecurityLevelKey)
194 |         }
/host/spi-builder-workspace/Sources/MQTTSession.swift:193:58: error: argument type 'StreamSocketSecurityLevel' expected to be an instance of a class or class-constrained type
191 |         if options.useTLS {
192 |             input.setProperty(StreamSocketSecurityLevel.tlSv1, forKey: .socketSecurityLevelKey)
193 |             output.setProperty(StreamSocketSecurityLevel.tlSv1, forKey: .socketSecurityLevelKey)
    |                                                          `- error: argument type 'StreamSocketSecurityLevel' expected to be an instance of a class or class-constrained type
194 |         }
195 |
/host/spi-builder-workspace/Sources/MQTTSession.swift:197:13: warning: capture of 'input' with non-sendable type 'InputStream' in a '@Sendable' closure; this is an error in the Swift 6 language mode
195 |
196 |         DispatchQueue.global(qos: .userInitiated).async {
197 |             input.open()
    |             `- warning: capture of 'input' with non-sendable type 'InputStream' in a '@Sendable' closure; this is an error in the Swift 6 language mode
198 |             output.open()
199 |
Foundation.InputStream:1:12: note: class 'InputStream' does not conform to the 'Sendable' protocol
 1 | open class InputStream : Stream {
   |            `- note: class 'InputStream' does not conform to the 'Sendable' protocol
 2 |     open func read(_ buffer: UnsafeMutablePointer<UInt8>, maxLength len: Int) -> Int
 3 |     open func getBuffer(_ buffer: UnsafeMutablePointer<UnsafeMutablePointer<UInt8>?>, length len: UnsafeMutablePointer<Int>) -> Bool
/host/spi-builder-workspace/Sources/MQTTSession.swift:198:13: warning: capture of 'output' with non-sendable type 'OutputStream' in a '@Sendable' closure; this is an error in the Swift 6 language mode
196 |         DispatchQueue.global(qos: .userInitiated).async {
197 |             input.open()
198 |             output.open()
    |             `- warning: capture of 'output' with non-sendable type 'OutputStream' in a '@Sendable' closure; this is an error in the Swift 6 language mode
199 |
200 |             while input.streamStatus == .opening || output.streamStatus == .opening {
Foundation.OutputStream:1:12: note: class 'OutputStream' does not conform to the 'Sendable' protocol
 1 | open class OutputStream : Stream {
   |            `- note: class 'OutputStream' does not conform to the 'Sendable' protocol
 2 |     open func write(_ buffer: UnsafePointer<UInt8>, maxLength len: Int) -> Int
 3 |     open var hasSpaceAvailable: Bool { get }
/host/spi-builder-workspace/Sources/MQTTSession.swift:200:53: warning: implicit capture of 'output' requires that 'OutputStream' conforms to 'Sendable'; this is an error in the Swift 6 language mode
198 |             output.open()
199 |
200 |             while input.streamStatus == .opening || output.streamStatus == .opening {
    |                                                     `- warning: implicit capture of 'output' requires that 'OutputStream' conforms to 'Sendable'; this is an error in the Swift 6 language mode
201 |                 usleep(1000)
202 |             }
Foundation.OutputStream:1:12: note: class 'OutputStream' does not conform to the 'Sendable' protocol
 1 | open class OutputStream : Stream {
   |            `- note: class 'OutputStream' does not conform to the 'Sendable' protocol
 2 |     open func write(_ buffer: UnsafePointer<UInt8>, maxLength len: Int) -> Int
 3 |     open var hasSpaceAvailable: Bool { get }
/host/spi-builder-workspace/Sources/MQTTSession.swift:204:47: warning: implicit capture of 'output' requires that 'OutputStream' conforms to 'Sendable'; this is an error in the Swift 6 language mode
202 |             }
203 |
204 |             if input.streamStatus != .open || output.streamStatus != .open {
    |                                               `- warning: implicit capture of 'output' requires that 'OutputStream' conforms to 'Sendable'; this is an error in the Swift 6 language mode
205 |                 completion(nil)
206 |                 return
Foundation.OutputStream:1:12: note: class 'OutputStream' does not conform to the 'Sendable' protocol
 1 | open class OutputStream : Stream {
   |            `- note: class 'OutputStream' does not conform to the 'Sendable' protocol
 2 |     open func write(_ buffer: UnsafePointer<UInt8>, maxLength len: Int) -> Int
 3 |     open var hasSpaceAvailable: Bool { get }
BUILD FAILURE 6.1 linux