The Swift Package Index logo.Swift Package Index

Build Information

Successful build of CocoaMQTT, reference release/2.x (4c5a9a), with Swift 6.1 for macOS (SPM) on 9 Sep 2026 00:41:26 UTC.

Swift 6 data race errors: 3

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.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: 5.0.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/emqx/CocoaMQTT.git
Reference: release/2.x
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/emqx/CocoaMQTT
 * branch            release/2.x -> FETCH_HEAD
 * [new branch]      release/2.x -> origin/release/2.x
HEAD is now at 4c5a9a6 Merge pull request #741 from hjianbo/release/2.4.1
Cloned https://github.com/emqx/CocoaMQTT.git
Revision (git rev-parse @):
4c5a9a68eac0a4eab74ba504981e5a839d7e7593
SUCCESS checkout https://github.com/emqx/CocoaMQTT.git at release/2.x
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/emqx/CocoaMQTT.git
https://github.com/emqx/CocoaMQTT.git
{
  "dependencies" : [
    {
      "identity" : "starscream",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.8",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/daltoniam/Starscream.git"
    },
    {
      "identity" : "mqttcocoaasyncsocket",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.8",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/leeway1208/MqttCocoaAsyncSocket"
    }
  ],
  "manifest_display_name" : "CocoaMQTT",
  "name" : "CocoaMQTT",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "CocoaMQTT",
      "targets" : [
        "CocoaMQTT"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CocoaMQTTWebSocket",
      "targets" : [
        "CocoaMQTTWebSocket"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CocoaMQTTWebSocket",
      "module_type" : "SwiftTarget",
      "name" : "CocoaMQTTWebSocket",
      "path" : "Source/WebSocket",
      "product_dependencies" : [
        "Starscream"
      ],
      "product_memberships" : [
        "CocoaMQTTWebSocket"
      ],
      "sources" : [
        "CocoaMQTTWebSocket.swift"
      ],
      "target_dependencies" : [
        "CocoaMQTT"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CocoaMQTTTests",
      "module_type" : "SwiftTarget",
      "name" : "CocoaMQTTTests",
      "path" : "CocoaMQTTTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/CocoaMQTTTests/client-keycert.p12",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "AutoReconnectStateTests.swift",
        "ClientEventLoopTests.swift",
        "ClientIdentityTests.swift",
        "CocoaMQTT5DisconnectReasonStateTests.swift",
        "CocoaMQTT5PublishValidationTests.swift",
        "CocoaMQTT5ReasonCodeFallbackTests.swift",
        "CocoaMQTT5ReceiveMessageContentTypeTests.swift",
        "CocoaMQTTDeliverTests.swift",
        "CocoaMQTTReaderProtocolErrorTests.swift",
        "CocoaMQTTStorageTests.swift",
        "CocoaMQTTTests.swift",
        "CocoaMQTTWebSocketAuthenticationTests.swift",
        "ConcurrentAtomicTests.swift",
        "FrameTests.swift",
        "GracefulDisconnectTests.swift",
        "KeepAliveTests.swift",
        "MQTTAutoReconnectControllerTests.swift",
        "PrivacyManifestTests.swift",
        "PublicLoggerAPITests.swift",
        "SendingMessageLifecycleTests.swift",
        "TLSChallengeResolutionTests.swift",
        "TLSLoopbackIntegrationTests.swift",
        "TLSLoopbackTestSupport.swift",
        "ThreadSafetyRegressionTests.swift",
        "WebSocketMTLSIntegrationTests.swift"
      ],
      "target_dependencies" : [
        "CocoaMQTT",
        "CocoaMQTTWebSocket"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CocoaMQTT",
      "module_type" : "SwiftTarget",
      "name" : "CocoaMQTT",
      "path" : "Source",
      "product_dependencies" : [
        "MqttCocoaAsyncSocket"
      ],
      "product_memberships" : [
        "CocoaMQTT",
        "CocoaMQTTWebSocket"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Source/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "CocoaMQTT.swift",
        "CocoaMQTT5.swift",
        "CocoaMQTT5Message.swift",
        "CocoaMQTTClientIdentity.swift",
        "CocoaMQTTDeliver.swift",
        "CocoaMQTTLogger.swift",
        "CocoaMQTTMessage.swift",
        "CocoaMQTTProperty.swift",
        "CocoaMQTTReader.swift",
        "CocoaMQTTReasonCode.swift",
        "CocoaMQTTSocket.swift",
        "CocoaMQTTStorage.swift",
        "CocoaMQTTTimer.swift",
        "CocoaMQTTTypes.swift",
        "Frame.swift",
        "FrameAuth.swift",
        "FrameConnAck.swift",
        "FrameConnect.swift",
        "FrameDisconnect.swift",
        "FramePingReq.swift",
        "FramePingResp.swift",
        "FramePubAck.swift",
        "FramePubComp.swift",
        "FramePubRec.swift",
        "FramePubRel.swift",
        "FramePublish.swift",
        "FrameSubAck.swift",
        "FrameSubscribe.swift",
        "FrameUnsubAck.swift",
        "FrameUnsubscribe.swift",
        "MQTT5SessionState.swift",
        "MQTTAutoReconnectController.swift",
        "MQTTKeepAliveController.swift",
        "MQTTPacketIdentifierAllocator.swift",
        "MqttAuthProperties.swift",
        "MqttConnectProperties.swift",
        "MqttDecodeConnAck.swift",
        "MqttDecodePubAck.swift",
        "MqttDecodePubComp.swift",
        "MqttDecodePubRec.swift",
        "MqttDecodePubRel.swift",
        "MqttDecodePublish.swift",
        "MqttDecodeSubAck.swift",
        "MqttDecodeUnsubAck.swift",
        "MqttPublishProperties.swift",
        "MqttSubscription.swift",
        "ThreadSafeDictionary.swift",
        "utilities/ConcurrentAtomic.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.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/8] Write sources
[1/8] Copying PrivacyInfo.xcprivacy
[1/8] Write sources
[3/8] Copying PrivacyInfo.xcprivacy
[3/8] Write sources
[5/8] Write swift-version-2F0A5646E1D333AE.txt
[6/28] Compiling MqttCocoaAsyncSocket MGCDAsyncUdpSocket.m
[7/28] Compiling MqttCocoaAsyncSocket MGCDAsyncSocket.m
[9/74] Emitting module CocoaMQTT
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTLogger.swift:41:23: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 |     public nonisolated(unsafe) static var logger = CocoaMQTTLogger()
40 |     #else
41 |     public static var logger = CocoaMQTTLogger()
   |                       |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |     #endif
43 |     public override init() { super.init() }
[10/78] Compiling CocoaMQTT MqttSubscription.swift
[11/78] Compiling CocoaMQTT ThreadSafeDictionary.swift
[12/78] Compiling CocoaMQTT ConcurrentAtomic.swift
[13/78] Compiling CocoaMQTT resource_bundle_accessor.swift
[14/78] Compiling CocoaMQTT FrameAuth.swift
[15/78] Compiling CocoaMQTT FrameConnAck.swift
[16/78] Compiling CocoaMQTT FrameConnect.swift
[17/78] Compiling CocoaMQTT FrameDisconnect.swift
[18/78] Compiling CocoaMQTT FramePingReq.swift
[19/78] Compiling CocoaMQTT MqttDecodePubRel.swift
[20/78] Compiling CocoaMQTT MqttDecodePublish.swift
[21/78] Compiling CocoaMQTT MqttDecodeSubAck.swift
[22/78] Compiling CocoaMQTT MqttDecodeUnsubAck.swift
[23/78] Compiling CocoaMQTT MqttPublishProperties.swift
[24/78] Compiling CocoaMQTT CocoaMQTTLogger.swift
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTLogger.swift:41:23: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 |     public nonisolated(unsafe) static var logger = CocoaMQTTLogger()
40 |     #else
41 |     public static var logger = CocoaMQTTLogger()
   |                       |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |     #endif
43 |     public override init() { super.init() }
[25/78] Compiling CocoaMQTT CocoaMQTTMessage.swift
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTLogger.swift:41:23: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 |     public nonisolated(unsafe) static var logger = CocoaMQTTLogger()
40 |     #else
41 |     public static var logger = CocoaMQTTLogger()
   |                       |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |     #endif
43 |     public override init() { super.init() }
[26/78] Compiling CocoaMQTT CocoaMQTTProperty.swift
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTLogger.swift:41:23: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 |     public nonisolated(unsafe) static var logger = CocoaMQTTLogger()
40 |     #else
41 |     public static var logger = CocoaMQTTLogger()
   |                       |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |     #endif
43 |     public override init() { super.init() }
[27/78] Compiling CocoaMQTT CocoaMQTTReader.swift
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTLogger.swift:41:23: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 |     public nonisolated(unsafe) static var logger = CocoaMQTTLogger()
40 |     #else
41 |     public static var logger = CocoaMQTTLogger()
   |                       |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |     #endif
43 |     public override init() { super.init() }
[28/78] Compiling CocoaMQTT CocoaMQTTReasonCode.swift
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTLogger.swift:41:23: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 |     public nonisolated(unsafe) static var logger = CocoaMQTTLogger()
40 |     #else
41 |     public static var logger = CocoaMQTTLogger()
   |                       |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |     #endif
43 |     public override init() { super.init() }
[29/78] Compiling CocoaMQTT MQTT5SessionState.swift
/Users/admin/builder/spi-builder-workspace/Source/MQTTAutoReconnectController.swift:398:34: warning: capture of 'self' with non-sendable type 'MQTTAutoReconnectController?' in a '@Sendable' closure
 32 |
 33 | /// Owns protocol-neutral reconnect state for both MQTT 3.1.1 and MQTT 5 clients.
 34 | final class MQTTAutoReconnectController {
    |             `- note: class 'MQTTAutoReconnectController' does not conform to the 'Sendable' protocol
 35 |     private static let minimumFailedStartRetryInterval: UInt16 = 1
 36 |
    :
396 |             guard let self = self else { return }
397 |             self.eventLoopQueue.async { [weak self] in
398 |                 guard let self = self,
    |                                  `- warning: capture of 'self' with non-sendable type 'MQTTAutoReconnectController?' in a '@Sendable' closure
399 |                       self.prepareScheduledAttempt(generation: scheduledGeneration) else { return }
400 |                 self.delegate?.autoReconnectControllerRequestsReconnect(self)
[30/78] Compiling CocoaMQTT MQTTAutoReconnectController.swift
/Users/admin/builder/spi-builder-workspace/Source/MQTTAutoReconnectController.swift:398:34: warning: capture of 'self' with non-sendable type 'MQTTAutoReconnectController?' in a '@Sendable' closure
 32 |
 33 | /// Owns protocol-neutral reconnect state for both MQTT 3.1.1 and MQTT 5 clients.
 34 | final class MQTTAutoReconnectController {
    |             `- note: class 'MQTTAutoReconnectController' does not conform to the 'Sendable' protocol
 35 |     private static let minimumFailedStartRetryInterval: UInt16 = 1
 36 |
    :
396 |             guard let self = self else { return }
397 |             self.eventLoopQueue.async { [weak self] in
398 |                 guard let self = self,
    |                                  `- warning: capture of 'self' with non-sendable type 'MQTTAutoReconnectController?' in a '@Sendable' closure
399 |                       self.prepareScheduledAttempt(generation: scheduledGeneration) else { return }
400 |                 self.delegate?.autoReconnectControllerRequestsReconnect(self)
[31/78] Compiling CocoaMQTT MQTTKeepAliveController.swift
/Users/admin/builder/spi-builder-workspace/Source/MQTTAutoReconnectController.swift:398:34: warning: capture of 'self' with non-sendable type 'MQTTAutoReconnectController?' in a '@Sendable' closure
 32 |
 33 | /// Owns protocol-neutral reconnect state for both MQTT 3.1.1 and MQTT 5 clients.
 34 | final class MQTTAutoReconnectController {
    |             `- note: class 'MQTTAutoReconnectController' does not conform to the 'Sendable' protocol
 35 |     private static let minimumFailedStartRetryInterval: UInt16 = 1
 36 |
    :
396 |             guard let self = self else { return }
397 |             self.eventLoopQueue.async { [weak self] in
398 |                 guard let self = self,
    |                                  `- warning: capture of 'self' with non-sendable type 'MQTTAutoReconnectController?' in a '@Sendable' closure
399 |                       self.prepareScheduledAttempt(generation: scheduledGeneration) else { return }
400 |                 self.delegate?.autoReconnectControllerRequestsReconnect(self)
[32/78] Compiling CocoaMQTT MQTTPacketIdentifierAllocator.swift
/Users/admin/builder/spi-builder-workspace/Source/MQTTAutoReconnectController.swift:398:34: warning: capture of 'self' with non-sendable type 'MQTTAutoReconnectController?' in a '@Sendable' closure
 32 |
 33 | /// Owns protocol-neutral reconnect state for both MQTT 3.1.1 and MQTT 5 clients.
 34 | final class MQTTAutoReconnectController {
    |             `- note: class 'MQTTAutoReconnectController' does not conform to the 'Sendable' protocol
 35 |     private static let minimumFailedStartRetryInterval: UInt16 = 1
 36 |
    :
396 |             guard let self = self else { return }
397 |             self.eventLoopQueue.async { [weak self] in
398 |                 guard let self = self,
    |                                  `- warning: capture of 'self' with non-sendable type 'MQTTAutoReconnectController?' in a '@Sendable' closure
399 |                       self.prepareScheduledAttempt(generation: scheduledGeneration) else { return }
400 |                 self.delegate?.autoReconnectControllerRequestsReconnect(self)
[33/78] Compiling CocoaMQTT MqttAuthProperties.swift
/Users/admin/builder/spi-builder-workspace/Source/MQTTAutoReconnectController.swift:398:34: warning: capture of 'self' with non-sendable type 'MQTTAutoReconnectController?' in a '@Sendable' closure
 32 |
 33 | /// Owns protocol-neutral reconnect state for both MQTT 3.1.1 and MQTT 5 clients.
 34 | final class MQTTAutoReconnectController {
    |             `- note: class 'MQTTAutoReconnectController' does not conform to the 'Sendable' protocol
 35 |     private static let minimumFailedStartRetryInterval: UInt16 = 1
 36 |
    :
396 |             guard let self = self else { return }
397 |             self.eventLoopQueue.async { [weak self] in
398 |                 guard let self = self,
    |                                  `- warning: capture of 'self' with non-sendable type 'MQTTAutoReconnectController?' in a '@Sendable' closure
399 |                       self.prepareScheduledAttempt(generation: scheduledGeneration) else { return }
400 |                 self.delegate?.autoReconnectControllerRequestsReconnect(self)
[34/78] Compiling CocoaMQTT FramePingResp.swift
[35/78] Compiling CocoaMQTT FramePubAck.swift
[36/78] Compiling CocoaMQTT FramePubComp.swift
[37/78] Compiling CocoaMQTT FramePubRec.swift
[38/78] Compiling CocoaMQTT FramePubRel.swift
[39/78] Compiling CocoaMQTT MqttConnectProperties.swift
[40/78] Compiling CocoaMQTT MqttDecodeConnAck.swift
[41/78] Compiling CocoaMQTT MqttDecodePubAck.swift
[42/78] Compiling CocoaMQTT MqttDecodePubComp.swift
[43/78] Compiling CocoaMQTT MqttDecodePubRec.swift
[44/78] Compiling CocoaMQTT FramePublish.swift
[45/78] Compiling CocoaMQTT FrameSubAck.swift
[46/78] Compiling CocoaMQTT FrameSubscribe.swift
[47/78] Compiling CocoaMQTT FrameUnsubAck.swift
[48/78] Compiling CocoaMQTT FrameUnsubscribe.swift
[49/78] Compiling CocoaMQTT CocoaMQTTTypes.swift
[50/78] Compiling CocoaMQTT Frame.swift
[51/78] Compiling CocoaMQTT CocoaMQTTStorage.swift
[52/78] Compiling CocoaMQTT CocoaMQTTTimer.swift
[55/78] Compiling CocoaMQTT CocoaMQTT5Message.swift
[56/78] Compiling CocoaMQTT CocoaMQTTClientIdentity.swift
[57/78] Compiling CocoaMQTT CocoaMQTTDeliver.swift
[58/78] Compiling CocoaMQTT CocoaMQTTSocket.swift
[61/78] Emitting module Starscream
[62/78] Compiling CocoaMQTT CocoaMQTT.swift
[63/78] Compiling CocoaMQTT CocoaMQTT5.swift
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:74:48: warning: capture of 'trust' with non-sendable type 'SecTrust' in a '@Sendable' closure
 72 |         queue.async {
 73 |             if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) {
 74 |                 SecTrustEvaluateAsyncWithError(trust, queue) { _, trusted, error in
    |                                                `- warning: capture of 'trust' with non-sendable type 'SecTrust' in a '@Sendable' closure
 75 |                     if let error {
 76 |                         printError("TLS server trust evaluation failed: \(error)")
Security.SecTrust:1:14: note: class 'SecTrust' does not conform to the 'Sendable' protocol
1 | public class SecTrust : _CFObject {
  |              `- note: class 'SecTrust' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Security'
  7 |
  8 | import Foundation
  9 | import Security
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Security'
 10 | import MqttCocoaAsyncSocket
 11 |
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:78:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
 76 |                         printError("TLS server trust evaluation failed: \(error)")
 77 |                     }
 78 |                     completionHandler(trusted)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 79 |                 }
 80 |             } else {
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:78:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
 76 |                         printError("TLS server trust evaluation failed: \(error)")
 77 |                     }
 78 |                     completionHandler(trusted)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 79 |                 }
 80 |             } else {
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:82:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
 80 |             } else {
 81 |                 SecTrustEvaluateAsync(trust, queue) { _, result in
 82 |                     completionHandler(result == .proceed || result == .unspecified)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 83 |                 }
 84 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:287:46: warning: capture of 'callback' with non-sendable type '((any CocoaMQTTSocketDelegate)?) -> Void' in a '@Sendable' closure
285 |             callback(delegate)
286 |         } else {
287 |             eventLoopQueue.async { [self] in callback(delegate) }
    |                                              |- warning: capture of 'callback' with non-sendable type '((any CocoaMQTTSocketDelegate)?) -> Void' in a '@Sendable' closure
    |                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
288 |         }
289 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:287:55: warning: capture of 'self' with non-sendable type 'CocoaMQTTSocketDelegateProxy' in a '@Sendable' closure
270 | /// private event loop. Custom transports are not required to honor the queue
271 | /// passed to `setDelegate`; correctness is enforced at this boundary instead.
272 | final class CocoaMQTTSocketDelegateProxy: CocoaMQTTSocketDelegate {
    |             `- note: class 'CocoaMQTTSocketDelegateProxy' does not conform to the 'Sendable' protocol
273 |     weak var delegate: CocoaMQTTSocketDelegate?
274 |
    :
285 |             callback(delegate)
286 |         } else {
287 |             eventLoopQueue.async { [self] in callback(delegate) }
    |                                                       `- warning: capture of 'self' with non-sendable type 'CocoaMQTTSocketDelegateProxy' in a '@Sendable' closure
288 |         }
289 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:74:48: warning: capture of 'trust' with non-sendable type 'SecTrust' in a '@Sendable' closure
 72 |         queue.async {
 73 |             if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) {
 74 |                 SecTrustEvaluateAsyncWithError(trust, queue) { _, trusted, error in
    |                                                `- warning: capture of 'trust' with non-sendable type 'SecTrust' in a '@Sendable' closure
 75 |                     if let error {
 76 |                         printError("TLS server trust evaluation failed: \(error)")
Security.SecTrust:1:14: note: class 'SecTrust' does not conform to the 'Sendable' protocol
1 | public class SecTrust : _CFObject {
  |              `- note: class 'SecTrust' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Security'
  7 |
  8 | import Foundation
  9 | import Security
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Security'
 10 | import MqttCocoaAsyncSocket
 11 |
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:78:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
 76 |                         printError("TLS server trust evaluation failed: \(error)")
 77 |                     }
 78 |                     completionHandler(trusted)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 79 |                 }
 80 |             } else {
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:78:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
 76 |                         printError("TLS server trust evaluation failed: \(error)")
 77 |                     }
 78 |                     completionHandler(trusted)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 79 |                 }
 80 |             } else {
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:82:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
 80 |             } else {
 81 |                 SecTrustEvaluateAsync(trust, queue) { _, result in
 82 |                     completionHandler(result == .proceed || result == .unspecified)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 83 |                 }
 84 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:287:46: warning: capture of 'callback' with non-sendable type '((any CocoaMQTTSocketDelegate)?) -> Void' in a '@Sendable' closure
285 |             callback(delegate)
286 |         } else {
287 |             eventLoopQueue.async { [self] in callback(delegate) }
    |                                              |- warning: capture of 'callback' with non-sendable type '((any CocoaMQTTSocketDelegate)?) -> Void' in a '@Sendable' closure
    |                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
288 |         }
289 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:287:55: warning: capture of 'self' with non-sendable type 'CocoaMQTTSocketDelegateProxy' in a '@Sendable' closure
270 | /// private event loop. Custom transports are not required to honor the queue
271 | /// passed to `setDelegate`; correctness is enforced at this boundary instead.
272 | final class CocoaMQTTSocketDelegateProxy: CocoaMQTTSocketDelegate {
    |             `- note: class 'CocoaMQTTSocketDelegateProxy' does not conform to the 'Sendable' protocol
273 |     weak var delegate: CocoaMQTTSocketDelegate?
274 |
    :
285 |             callback(delegate)
286 |         } else {
287 |             eventLoopQueue.async { [self] in callback(delegate) }
    |                                                       `- warning: capture of 'self' with non-sendable type 'CocoaMQTTSocketDelegateProxy' in a '@Sendable' closure
288 |         }
289 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:74:48: warning: capture of 'trust' with non-sendable type 'SecTrust' in a '@Sendable' closure
 72 |         queue.async {
 73 |             if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) {
 74 |                 SecTrustEvaluateAsyncWithError(trust, queue) { _, trusted, error in
    |                                                `- warning: capture of 'trust' with non-sendable type 'SecTrust' in a '@Sendable' closure
 75 |                     if let error {
 76 |                         printError("TLS server trust evaluation failed: \(error)")
Security.SecTrust:1:14: note: class 'SecTrust' does not conform to the 'Sendable' protocol
1 | public class SecTrust : _CFObject {
  |              `- note: class 'SecTrust' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Security'
  7 |
  8 | import Foundation
  9 | import Security
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Security'
 10 | import MqttCocoaAsyncSocket
 11 |
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:78:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
 76 |                         printError("TLS server trust evaluation failed: \(error)")
 77 |                     }
 78 |                     completionHandler(trusted)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 79 |                 }
 80 |             } else {
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:78:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
 76 |                         printError("TLS server trust evaluation failed: \(error)")
 77 |                     }
 78 |                     completionHandler(trusted)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 79 |                 }
 80 |             } else {
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:82:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
 80 |             } else {
 81 |                 SecTrustEvaluateAsync(trust, queue) { _, result in
 82 |                     completionHandler(result == .proceed || result == .unspecified)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 83 |                 }
 84 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:287:46: warning: capture of 'callback' with non-sendable type '((any CocoaMQTTSocketDelegate)?) -> Void' in a '@Sendable' closure
285 |             callback(delegate)
286 |         } else {
287 |             eventLoopQueue.async { [self] in callback(delegate) }
    |                                              |- warning: capture of 'callback' with non-sendable type '((any CocoaMQTTSocketDelegate)?) -> Void' in a '@Sendable' closure
    |                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
288 |         }
289 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:287:55: warning: capture of 'self' with non-sendable type 'CocoaMQTTSocketDelegateProxy' in a '@Sendable' closure
270 | /// private event loop. Custom transports are not required to honor the queue
271 | /// passed to `setDelegate`; correctness is enforced at this boundary instead.
272 | final class CocoaMQTTSocketDelegateProxy: CocoaMQTTSocketDelegate {
    |             `- note: class 'CocoaMQTTSocketDelegateProxy' does not conform to the 'Sendable' protocol
273 |     weak var delegate: CocoaMQTTSocketDelegate?
274 |
    :
285 |             callback(delegate)
286 |         } else {
287 |             eventLoopQueue.async { [self] in callback(delegate) }
    |                                                       `- warning: capture of 'self' with non-sendable type 'CocoaMQTTSocketDelegateProxy' in a '@Sendable' closure
288 |         }
289 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:74:48: warning: capture of 'trust' with non-sendable type 'SecTrust' in a '@Sendable' closure
 72 |         queue.async {
 73 |             if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) {
 74 |                 SecTrustEvaluateAsyncWithError(trust, queue) { _, trusted, error in
    |                                                `- warning: capture of 'trust' with non-sendable type 'SecTrust' in a '@Sendable' closure
 75 |                     if let error {
 76 |                         printError("TLS server trust evaluation failed: \(error)")
Security.SecTrust:1:14: note: class 'SecTrust' does not conform to the 'Sendable' protocol
1 | public class SecTrust : _CFObject {
  |              `- note: class 'SecTrust' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Security'
  7 |
  8 | import Foundation
  9 | import Security
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Security'
 10 | import MqttCocoaAsyncSocket
 11 |
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:78:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
 76 |                         printError("TLS server trust evaluation failed: \(error)")
 77 |                     }
 78 |                     completionHandler(trusted)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 79 |                 }
 80 |             } else {
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:78:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
 76 |                         printError("TLS server trust evaluation failed: \(error)")
 77 |                     }
 78 |                     completionHandler(trusted)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 79 |                 }
 80 |             } else {
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:82:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
 80 |             } else {
 81 |                 SecTrustEvaluateAsync(trust, queue) { _, result in
 82 |                     completionHandler(result == .proceed || result == .unspecified)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 83 |                 }
 84 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:287:46: warning: capture of 'callback' with non-sendable type '((any CocoaMQTTSocketDelegate)?) -> Void' in a '@Sendable' closure
285 |             callback(delegate)
286 |         } else {
287 |             eventLoopQueue.async { [self] in callback(delegate) }
    |                                              |- warning: capture of 'callback' with non-sendable type '((any CocoaMQTTSocketDelegate)?) -> Void' in a '@Sendable' closure
    |                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
288 |         }
289 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:287:55: warning: capture of 'self' with non-sendable type 'CocoaMQTTSocketDelegateProxy' in a '@Sendable' closure
270 | /// private event loop. Custom transports are not required to honor the queue
271 | /// passed to `setDelegate`; correctness is enforced at this boundary instead.
272 | final class CocoaMQTTSocketDelegateProxy: CocoaMQTTSocketDelegate {
    |             `- note: class 'CocoaMQTTSocketDelegateProxy' does not conform to the 'Sendable' protocol
273 |     weak var delegate: CocoaMQTTSocketDelegate?
274 |
    :
285 |             callback(delegate)
286 |         } else {
287 |             eventLoopQueue.async { [self] in callback(delegate) }
    |                                                       `- warning: capture of 'self' with non-sendable type 'CocoaMQTTSocketDelegateProxy' in a '@Sendable' closure
288 |         }
289 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:74:48: warning: capture of 'trust' with non-sendable type 'SecTrust' in a '@Sendable' closure
 72 |         queue.async {
 73 |             if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) {
 74 |                 SecTrustEvaluateAsyncWithError(trust, queue) { _, trusted, error in
    |                                                `- warning: capture of 'trust' with non-sendable type 'SecTrust' in a '@Sendable' closure
 75 |                     if let error {
 76 |                         printError("TLS server trust evaluation failed: \(error)")
Security.SecTrust:1:14: note: class 'SecTrust' does not conform to the 'Sendable' protocol
1 | public class SecTrust : _CFObject {
  |              `- note: class 'SecTrust' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Security'
  7 |
  8 | import Foundation
  9 | import Security
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Security'
 10 | import MqttCocoaAsyncSocket
 11 |
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:78:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
 76 |                         printError("TLS server trust evaluation failed: \(error)")
 77 |                     }
 78 |                     completionHandler(trusted)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 79 |                 }
 80 |             } else {
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:78:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
 76 |                         printError("TLS server trust evaluation failed: \(error)")
 77 |                     }
 78 |                     completionHandler(trusted)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 79 |                 }
 80 |             } else {
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:82:21: warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
 80 |             } else {
 81 |                 SecTrustEvaluateAsync(trust, queue) { _, result in
 82 |                     completionHandler(result == .proceed || result == .unspecified)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(Bool) -> Void' in an isolated closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 83 |                 }
 84 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:287:46: warning: capture of 'callback' with non-sendable type '((any CocoaMQTTSocketDelegate)?) -> Void' in a '@Sendable' closure
285 |             callback(delegate)
286 |         } else {
287 |             eventLoopQueue.async { [self] in callback(delegate) }
    |                                              |- warning: capture of 'callback' with non-sendable type '((any CocoaMQTTSocketDelegate)?) -> Void' in a '@Sendable' closure
    |                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
288 |         }
289 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:287:55: warning: capture of 'self' with non-sendable type 'CocoaMQTTSocketDelegateProxy' in a '@Sendable' closure
270 | /// private event loop. Custom transports are not required to honor the queue
271 | /// passed to `setDelegate`; correctness is enforced at this boundary instead.
272 | final class CocoaMQTTSocketDelegateProxy: CocoaMQTTSocketDelegate {
    |             `- note: class 'CocoaMQTTSocketDelegateProxy' does not conform to the 'Sendable' protocol
273 |     weak var delegate: CocoaMQTTSocketDelegate?
274 |
    :
285 |             callback(delegate)
286 |         } else {
287 |             eventLoopQueue.async { [self] in callback(delegate) }
    |                                                       `- warning: capture of 'self' with non-sendable type 'CocoaMQTTSocketDelegateProxy' in a '@Sendable' closure
288 |         }
289 |     }
[74/80] Compiling Starscream Transport.swift
[75/80] Compiling Starscream resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:617:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 615 |
 616 |             eventLoopQueue.async { [weak self] in
 617 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 618 |                 self.connState = .connecting
 619 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:869:30: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 867 |         let callbackQueue = delegateQueue
 868 |         callbackQueue.async { [weak self] in
 869 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 870 |                 onDeallocated?()
 871 |                 return
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:870:17: warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
 868 |         callbackQueue.async { [weak self] in
 869 |             guard let self = self else {
 870 |                 onDeallocated?()
     |                 |- warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 871 |                 return
 872 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:873:13: warning: capture of 'fun' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
 871 |                 return
 872 |             }
 873 |             fun(self)
     |             |- warning: capture of 'fun' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
     |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
 875 |             self.eventLoopQueue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:874:47: warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT) -> Void)?' in a '@Sendable' closure
 872 |             }
 873 |             fun(self)
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
     |                                               |- warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT) -> Void)?' in a '@Sendable' closure
     |                                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:876:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 877 |                 completionOnEventLoop(self)
 878 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:877:17: warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
 877 |                 completionOnEventLoop(self)
     |                 |- warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 878 |             }
 879 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:732:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
 730 |
 731 |             eventLoopQueue.async { [weak self] in
 732 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 733 |                 self.connState = .connecting
 734 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1136:30: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
1134 |         let callbackQueue = delegateQueue
1135 |         callbackQueue.async { [weak self] in
1136 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
1137 |                 onDeallocated?()
1138 |                 return
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1137:17: warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1135 |         callbackQueue.async { [weak self] in
1136 |             guard let self = self else {
1137 |                 onDeallocated?()
     |                 |- warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1138 |                 return
1139 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1140:13: warning: capture of 'fun' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
1138 |                 return
1139 |             }
1140 |             fun(self)
     |             |- warning: capture of 'fun' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
     |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
1142 |             self.eventLoopQueue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1141:47: warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT5) -> Void)?' in a '@Sendable' closure
1139 |             }
1140 |             fun(self)
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
     |                                               |- warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT5) -> Void)?' in a '@Sendable' closure
     |                                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1143:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
1144 |                 completionOnEventLoop(self)
1145 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1144:17: warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
1144 |                 completionOnEventLoop(self)
     |                 |- warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1145 |             }
1146 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:195:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
193 |
194 |         deliverQueue.async { [weak self] in
195 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
196 |             self.tryTransport()
197 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:223:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
221 |
222 |         deliverQueue.async { [weak self] in
223 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
224 |             self.tryTransport()
225 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:17: warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
 10 | import Dispatch
 11 |
 12 | protocol CocoaMQTTDeliverProtocol: AnyObject {
    |          `- note: protocol 'CocoaMQTTDeliverProtocol' does not conform to the 'Sendable' protocol
 13 |
 14 |     var delegateQueue: DispatchQueue { get set }
    :
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                 `- warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:34: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:51: warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                                                   `- warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/Frame.swift:86:10: note: protocol 'Frame' does not conform to the 'Sendable' protocol
 84 |
 85 | /// MQTT Frame protocol
 86 | protocol Frame {
    |          `- note: protocol 'Frame' does not conform to the 'Sendable' protocol
 87 |
 88 |     /// Each MQTT Control Packet contains a fixed header
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:364:25: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
362 |                     guard let self = self else { return }
363 |                     self.deliverQueue.async {
364 |                         self.redeliver()
    |                         `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
365 |                     }
366 |                 }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:13: warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
 10 | import Dispatch
 11 |
 12 | protocol CocoaMQTTDeliverProtocol: AnyObject {
    |          `- note: protocol 'CocoaMQTTDeliverProtocol' does not conform to the 'Sendable' protocol
 13 |
 14 |     var delegateQueue: DispatchQueue { get set }
    :
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |             `- warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:48: warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |                                                `- warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/Frame.swift:86:10: note: protocol 'Frame' does not conform to the 'Sendable' protocol
 84 |
 85 | /// MQTT Frame protocol
 86 | protocol Frame {
    |          `- note: protocol 'Frame' does not conform to the 'Sendable' protocol
 87 |
 88 |     /// Each MQTT Control Packet contains a fixed header
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:617:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 615 |
 616 |             eventLoopQueue.async { [weak self] in
 617 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 618 |                 self.connState = .connecting
 619 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:869:30: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 867 |         let callbackQueue = delegateQueue
 868 |         callbackQueue.async { [weak self] in
 869 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 870 |                 onDeallocated?()
 871 |                 return
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:870:17: warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
 868 |         callbackQueue.async { [weak self] in
 869 |             guard let self = self else {
 870 |                 onDeallocated?()
     |                 |- warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 871 |                 return
 872 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:873:13: warning: capture of 'fun' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
 871 |                 return
 872 |             }
 873 |             fun(self)
     |             |- warning: capture of 'fun' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
     |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
 875 |             self.eventLoopQueue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:874:47: warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT) -> Void)?' in a '@Sendable' closure
 872 |             }
 873 |             fun(self)
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
     |                                               |- warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT) -> Void)?' in a '@Sendable' closure
     |                                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:876:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 877 |                 completionOnEventLoop(self)
 878 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:877:17: warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
 877 |                 completionOnEventLoop(self)
     |                 |- warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 878 |             }
 879 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:732:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
 730 |
 731 |             eventLoopQueue.async { [weak self] in
 732 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 733 |                 self.connState = .connecting
 734 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1136:30: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
1134 |         let callbackQueue = delegateQueue
1135 |         callbackQueue.async { [weak self] in
1136 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
1137 |                 onDeallocated?()
1138 |                 return
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1137:17: warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1135 |         callbackQueue.async { [weak self] in
1136 |             guard let self = self else {
1137 |                 onDeallocated?()
     |                 |- warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1138 |                 return
1139 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1140:13: warning: capture of 'fun' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
1138 |                 return
1139 |             }
1140 |             fun(self)
     |             |- warning: capture of 'fun' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
     |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
1142 |             self.eventLoopQueue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1141:47: warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT5) -> Void)?' in a '@Sendable' closure
1139 |             }
1140 |             fun(self)
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
     |                                               |- warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT5) -> Void)?' in a '@Sendable' closure
     |                                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1143:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
1144 |                 completionOnEventLoop(self)
1145 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1144:17: warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
1144 |                 completionOnEventLoop(self)
     |                 |- warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1145 |             }
1146 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:195:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
193 |
194 |         deliverQueue.async { [weak self] in
195 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
196 |             self.tryTransport()
197 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:223:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
221 |
222 |         deliverQueue.async { [weak self] in
223 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
224 |             self.tryTransport()
225 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:17: warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
 10 | import Dispatch
 11 |
 12 | protocol CocoaMQTTDeliverProtocol: AnyObject {
    |          `- note: protocol 'CocoaMQTTDeliverProtocol' does not conform to the 'Sendable' protocol
 13 |
 14 |     var delegateQueue: DispatchQueue { get set }
    :
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                 `- warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:34: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:51: warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                                                   `- warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/Frame.swift:86:10: note: protocol 'Frame' does not conform to the 'Sendable' protocol
 84 |
 85 | /// MQTT Frame protocol
 86 | protocol Frame {
    |          `- note: protocol 'Frame' does not conform to the 'Sendable' protocol
 87 |
 88 |     /// Each MQTT Control Packet contains a fixed header
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:364:25: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
362 |                     guard let self = self else { return }
363 |                     self.deliverQueue.async {
364 |                         self.redeliver()
    |                         `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
365 |                     }
366 |                 }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:13: warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
 10 | import Dispatch
 11 |
 12 | protocol CocoaMQTTDeliverProtocol: AnyObject {
    |          `- note: protocol 'CocoaMQTTDeliverProtocol' does not conform to the 'Sendable' protocol
 13 |
 14 |     var delegateQueue: DispatchQueue { get set }
    :
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |             `- warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:48: warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |                                                `- warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/Frame.swift:86:10: note: protocol 'Frame' does not conform to the 'Sendable' protocol
 84 |
 85 | /// MQTT Frame protocol
 86 | protocol Frame {
    |          `- note: protocol 'Frame' does not conform to the 'Sendable' protocol
 87 |
 88 |     /// Each MQTT Control Packet contains a fixed header
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:617:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 615 |
 616 |             eventLoopQueue.async { [weak self] in
 617 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 618 |                 self.connState = .connecting
 619 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:869:30: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 867 |         let callbackQueue = delegateQueue
 868 |         callbackQueue.async { [weak self] in
 869 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 870 |                 onDeallocated?()
 871 |                 return
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:870:17: warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
 868 |         callbackQueue.async { [weak self] in
 869 |             guard let self = self else {
 870 |                 onDeallocated?()
     |                 |- warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 871 |                 return
 872 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:873:13: warning: capture of 'fun' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
 871 |                 return
 872 |             }
 873 |             fun(self)
     |             |- warning: capture of 'fun' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
     |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
 875 |             self.eventLoopQueue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:874:47: warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT) -> Void)?' in a '@Sendable' closure
 872 |             }
 873 |             fun(self)
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
     |                                               |- warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT) -> Void)?' in a '@Sendable' closure
     |                                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:876:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 877 |                 completionOnEventLoop(self)
 878 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:877:17: warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
 877 |                 completionOnEventLoop(self)
     |                 |- warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 878 |             }
 879 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:732:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
 730 |
 731 |             eventLoopQueue.async { [weak self] in
 732 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 733 |                 self.connState = .connecting
 734 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1136:30: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
1134 |         let callbackQueue = delegateQueue
1135 |         callbackQueue.async { [weak self] in
1136 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
1137 |                 onDeallocated?()
1138 |                 return
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1137:17: warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1135 |         callbackQueue.async { [weak self] in
1136 |             guard let self = self else {
1137 |                 onDeallocated?()
     |                 |- warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1138 |                 return
1139 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1140:13: warning: capture of 'fun' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
1138 |                 return
1139 |             }
1140 |             fun(self)
     |             |- warning: capture of 'fun' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
     |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
1142 |             self.eventLoopQueue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1141:47: warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT5) -> Void)?' in a '@Sendable' closure
1139 |             }
1140 |             fun(self)
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
     |                                               |- warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT5) -> Void)?' in a '@Sendable' closure
     |                                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1143:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
1144 |                 completionOnEventLoop(self)
1145 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1144:17: warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
1144 |                 completionOnEventLoop(self)
     |                 |- warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1145 |             }
1146 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:195:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
193 |
194 |         deliverQueue.async { [weak self] in
195 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
196 |             self.tryTransport()
197 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:223:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
221 |
222 |         deliverQueue.async { [weak self] in
223 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
224 |             self.tryTransport()
225 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:17: warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
 10 | import Dispatch
 11 |
 12 | protocol CocoaMQTTDeliverProtocol: AnyObject {
    |          `- note: protocol 'CocoaMQTTDeliverProtocol' does not conform to the 'Sendable' protocol
 13 |
 14 |     var delegateQueue: DispatchQueue { get set }
    :
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                 `- warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:34: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:51: warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                                                   `- warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/Frame.swift:86:10: note: protocol 'Frame' does not conform to the 'Sendable' protocol
 84 |
 85 | /// MQTT Frame protocol
 86 | protocol Frame {
    |          `- note: protocol 'Frame' does not conform to the 'Sendable' protocol
 87 |
 88 |     /// Each MQTT Control Packet contains a fixed header
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:364:25: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
362 |                     guard let self = self else { return }
363 |                     self.deliverQueue.async {
364 |                         self.redeliver()
    |                         `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
365 |                     }
366 |                 }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:13: warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
 10 | import Dispatch
 11 |
 12 | protocol CocoaMQTTDeliverProtocol: AnyObject {
    |          `- note: protocol 'CocoaMQTTDeliverProtocol' does not conform to the 'Sendable' protocol
 13 |
 14 |     var delegateQueue: DispatchQueue { get set }
    :
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |             `- warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:48: warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |                                                `- warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/Frame.swift:86:10: note: protocol 'Frame' does not conform to the 'Sendable' protocol
 84 |
 85 | /// MQTT Frame protocol
 86 | protocol Frame {
    |          `- note: protocol 'Frame' does not conform to the 'Sendable' protocol
 87 |
 88 |     /// Each MQTT Control Packet contains a fixed header
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:617:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 615 |
 616 |             eventLoopQueue.async { [weak self] in
 617 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 618 |                 self.connState = .connecting
 619 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:869:30: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 867 |         let callbackQueue = delegateQueue
 868 |         callbackQueue.async { [weak self] in
 869 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 870 |                 onDeallocated?()
 871 |                 return
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:870:17: warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
 868 |         callbackQueue.async { [weak self] in
 869 |             guard let self = self else {
 870 |                 onDeallocated?()
     |                 |- warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 871 |                 return
 872 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:873:13: warning: capture of 'fun' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
 871 |                 return
 872 |             }
 873 |             fun(self)
     |             |- warning: capture of 'fun' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
     |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
 875 |             self.eventLoopQueue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:874:47: warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT) -> Void)?' in a '@Sendable' closure
 872 |             }
 873 |             fun(self)
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
     |                                               |- warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT) -> Void)?' in a '@Sendable' closure
     |                                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:876:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 877 |                 completionOnEventLoop(self)
 878 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:877:17: warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
 877 |                 completionOnEventLoop(self)
     |                 |- warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 878 |             }
 879 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:732:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
 730 |
 731 |             eventLoopQueue.async { [weak self] in
 732 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 733 |                 self.connState = .connecting
 734 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1136:30: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
1134 |         let callbackQueue = delegateQueue
1135 |         callbackQueue.async { [weak self] in
1136 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
1137 |                 onDeallocated?()
1138 |                 return
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1137:17: warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1135 |         callbackQueue.async { [weak self] in
1136 |             guard let self = self else {
1137 |                 onDeallocated?()
     |                 |- warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1138 |                 return
1139 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1140:13: warning: capture of 'fun' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
1138 |                 return
1139 |             }
1140 |             fun(self)
     |             |- warning: capture of 'fun' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
     |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
1142 |             self.eventLoopQueue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1141:47: warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT5) -> Void)?' in a '@Sendable' closure
1139 |             }
1140 |             fun(self)
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
     |                                               |- warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT5) -> Void)?' in a '@Sendable' closure
     |                                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1143:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
1144 |                 completionOnEventLoop(self)
1145 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1144:17: warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
1144 |                 completionOnEventLoop(self)
     |                 |- warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1145 |             }
1146 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:195:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
193 |
194 |         deliverQueue.async { [weak self] in
195 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
196 |             self.tryTransport()
197 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:223:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
221 |
222 |         deliverQueue.async { [weak self] in
223 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
224 |             self.tryTransport()
225 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:17: warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
 10 | import Dispatch
 11 |
 12 | protocol CocoaMQTTDeliverProtocol: AnyObject {
    |          `- note: protocol 'CocoaMQTTDeliverProtocol' does not conform to the 'Sendable' protocol
 13 |
 14 |     var delegateQueue: DispatchQueue { get set }
    :
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                 `- warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:34: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:51: warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                                                   `- warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/Frame.swift:86:10: note: protocol 'Frame' does not conform to the 'Sendable' protocol
 84 |
 85 | /// MQTT Frame protocol
 86 | protocol Frame {
    |          `- note: protocol 'Frame' does not conform to the 'Sendable' protocol
 87 |
 88 |     /// Each MQTT Control Packet contains a fixed header
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:364:25: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
362 |                     guard let self = self else { return }
363 |                     self.deliverQueue.async {
364 |                         self.redeliver()
    |                         `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
365 |                     }
366 |                 }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:13: warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
 10 | import Dispatch
 11 |
 12 | protocol CocoaMQTTDeliverProtocol: AnyObject {
    |          `- note: protocol 'CocoaMQTTDeliverProtocol' does not conform to the 'Sendable' protocol
 13 |
 14 |     var delegateQueue: DispatchQueue { get set }
    :
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |             `- warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:48: warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |                                                `- warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/Frame.swift:86:10: note: protocol 'Frame' does not conform to the 'Sendable' protocol
 84 |
 85 | /// MQTT Frame protocol
 86 | protocol Frame {
    |          `- note: protocol 'Frame' does not conform to the 'Sendable' protocol
 87 |
 88 |     /// Each MQTT Control Packet contains a fixed header
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:617:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 615 |
 616 |             eventLoopQueue.async { [weak self] in
 617 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 618 |                 self.connState = .connecting
 619 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:869:30: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 867 |         let callbackQueue = delegateQueue
 868 |         callbackQueue.async { [weak self] in
 869 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 870 |                 onDeallocated?()
 871 |                 return
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:870:17: warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
 868 |         callbackQueue.async { [weak self] in
 869 |             guard let self = self else {
 870 |                 onDeallocated?()
     |                 |- warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 871 |                 return
 872 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:873:13: warning: capture of 'fun' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
 871 |                 return
 872 |             }
 873 |             fun(self)
     |             |- warning: capture of 'fun' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
     |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
 875 |             self.eventLoopQueue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:874:47: warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT) -> Void)?' in a '@Sendable' closure
 872 |             }
 873 |             fun(self)
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
     |                                               |- warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT) -> Void)?' in a '@Sendable' closure
     |                                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:876:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 147 | ///
 148 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 149 | public class CocoaMQTT: NSObject, CocoaMQTTClient {
     |              `- note: class 'CocoaMQTT' does not conform to the 'Sendable' protocol
 150 |
 151 |     public weak var delegate: CocoaMQTTDelegate?
     :
 874 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT?' in a '@Sendable' closure
 877 |                 completionOnEventLoop(self)
 878 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT.swift:877:17: warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
 875 |             self.eventLoopQueue.async { [weak self] in
 876 |                 guard let self = self else { return }
 877 |                 completionOnEventLoop(self)
     |                 |- warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT) -> Void' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 878 |             }
 879 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:732:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
 730 |
 731 |             eventLoopQueue.async { [weak self] in
 732 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 733 |                 self.connState = .connecting
 734 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1136:30: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
1134 |         let callbackQueue = delegateQueue
1135 |         callbackQueue.async { [weak self] in
1136 |             guard let self = self else {
     |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
1137 |                 onDeallocated?()
1138 |                 return
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1137:17: warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
1135 |         callbackQueue.async { [weak self] in
1136 |             guard let self = self else {
1137 |                 onDeallocated?()
     |                 |- warning: capture of 'onDeallocated' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1138 |                 return
1139 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1140:13: warning: capture of 'fun' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
1138 |                 return
1139 |             }
1140 |             fun(self)
     |             |- warning: capture of 'fun' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
     |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
1142 |             self.eventLoopQueue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1141:47: warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT5) -> Void)?' in a '@Sendable' closure
1139 |             }
1140 |             fun(self)
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
     |                                               |- warning: capture of 'completionOnEventLoop' with non-sendable type '((CocoaMQTT5) -> Void)?' in a '@Sendable' closure
     |                                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1143:34: warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
 156 | ///
 157 | /// - Note: MGCDAsyncSocket need delegate to extend NSObject
 158 | public class CocoaMQTT5: NSObject, CocoaMQTT5Client {
     |              `- note: class 'CocoaMQTT5' does not conform to the 'Sendable' protocol
 159 |
 160 |     public weak var delegate: CocoaMQTT5Delegate?
     :
1141 |             guard let completionOnEventLoop = completionOnEventLoop else { return }
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
     |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTT5?' in a '@Sendable' closure
1144 |                 completionOnEventLoop(self)
1145 |             }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTT5.swift:1144:17: warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
1142 |             self.eventLoopQueue.async { [weak self] in
1143 |                 guard let self = self else { return }
1144 |                 completionOnEventLoop(self)
     |                 |- warning: capture of 'completionOnEventLoop' with non-sendable type '(CocoaMQTT5) -> Void' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1145 |             }
1146 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:195:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
193 |
194 |         deliverQueue.async { [weak self] in
195 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
196 |             self.tryTransport()
197 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:223:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
221 |
222 |         deliverQueue.async { [weak self] in
223 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver?' in a '@Sendable' closure
224 |             self.tryTransport()
225 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:17: warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
 10 | import Dispatch
 11 |
 12 | protocol CocoaMQTTDeliverProtocol: AnyObject {
    |          `- note: protocol 'CocoaMQTTDeliverProtocol' does not conform to the 'Sendable' protocol
 13 |
 14 |     var delegateQueue: DispatchQueue { get set }
    :
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                 `- warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:34: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                                  `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:333:51: warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
331 |         if let delegate = delegate {
332 |             delegate.eventLoopQueue.async {
333 |                 delegate.deliver(self, didReject: frame)
    |                                                   `- warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
334 |             }
335 |         }
/Users/admin/builder/spi-builder-workspace/Source/Frame.swift:86:10: note: protocol 'Frame' does not conform to the 'Sendable' protocol
 84 |
 85 | /// MQTT Frame protocol
 86 | protocol Frame {
    |          `- note: protocol 'Frame' does not conform to the 'Sendable' protocol
 87 |
 88 |     /// Each MQTT Control Packet contains a fixed header
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:364:25: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
362 |                     guard let self = self else { return }
363 |                     self.deliverQueue.async {
364 |                         self.redeliver()
    |                         `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
365 |                     }
366 |                 }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:13: warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
 10 | import Dispatch
 11 |
 12 | protocol CocoaMQTTDeliverProtocol: AnyObject {
    |          `- note: protocol 'CocoaMQTTDeliverProtocol' does not conform to the 'Sendable' protocol
 13 |
 14 |     var delegateQueue: DispatchQueue { get set }
    :
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |             `- warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTDeliverProtocol' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:30: warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
 58 |
 59 | // CocoaMQTTDeliver
 60 | class CocoaMQTTDeliver: NSObject {
    |       `- note: class 'CocoaMQTTDeliver' does not conform to the 'Sendable' protocol
 61 |
 62 |     /// The dispatch queue is used by delivering frames in serially
    :
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |                              `- warning: capture of 'self' with non-sendable type 'CocoaMQTTDeliver' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTDeliver.swift:487:48: warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
485 |
486 |         delegate.eventLoopQueue.async {
487 |             delegate.deliver(self, wantToSend: frame)
    |                                                `- warning: capture of 'frame' with non-sendable type 'any Frame' in a '@Sendable' closure
488 |         }
489 |     }
/Users/admin/builder/spi-builder-workspace/Source/Frame.swift:86:10: note: protocol 'Frame' does not conform to the 'Sendable' protocol
 84 |
 85 | /// MQTT Frame protocol
 86 | protocol Frame {
    |          `- note: protocol 'Frame' does not conform to the 'Sendable' protocol
 87 |
 88 |     /// Each MQTT Control Packet contains a fixed header
[81/82] Compiling CocoaMQTTWebSocket CocoaMQTTWebSocket.swift
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:418:11: warning: non-final class 'FoundationConnection' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
416 | @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
417 | public extension CocoaMQTTWebSocket {
418 |     class FoundationConnection: NSObject, CocoaMQTTWebSocketConnection, CocoaMQTTClientIdentityConfiguring {
    |           `- warning: non-final class 'FoundationConnection' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
419 |
420 |         public weak var delegate: CocoaMQTTWebSocketConnectionDelegate?
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:420:25: warning: stored property 'delegate' of 'Sendable'-conforming class 'FoundationConnection' is mutable; this is an error in the Swift 6 language mode
418 |     class FoundationConnection: NSObject, CocoaMQTTWebSocketConnection, CocoaMQTTClientIdentityConfiguring {
419 |
420 |         public weak var delegate: CocoaMQTTWebSocketConnectionDelegate?
    |                         `- warning: stored property 'delegate' of 'Sendable'-conforming class 'FoundationConnection' is mutable; this is an error in the Swift 6 language mode
421 |         public lazy var queue = DispatchQueue(label: "CocoaMQTTFoundationWebSocketConnection-\(self.hashValue)")
422 |         public var clientIdentity: CocoaMQTTClientIdentity?
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:130:13: warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
 54 | // MARK: - CocoaMQTTWebSocket
 55 |
 56 | public class CocoaMQTTWebSocket: CocoaMQTTDisconnectAfterWritingSocket,
    |              `- note: class 'CocoaMQTTWebSocket' does not conform to the 'Sendable' protocol
 57 |     CocoaMQTTClientIdentityConfiguring,
 58 |     CocoaMQTTServerTrustConfiguring {
    :
128 |     public func setDelegate(_ theDelegate: CocoaMQTTSocketDelegate?, delegateQueue: DispatchQueue?) {
129 |         internalQueue.async {
130 |             self.delegate = theDelegate
    |             `- warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
131 |             self.delegateQueue = delegateQueue
132 |         }
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:130:29: warning: capture of 'theDelegate' with non-sendable type '(any CocoaMQTTSocketDelegate)?' in a '@Sendable' closure
128 |     public func setDelegate(_ theDelegate: CocoaMQTTSocketDelegate?, delegateQueue: DispatchQueue?) {
129 |         internalQueue.async {
130 |             self.delegate = theDelegate
    |                             `- warning: capture of 'theDelegate' with non-sendable type '(any CocoaMQTTSocketDelegate)?' in a '@Sendable' closure
131 |             self.delegateQueue = delegateQueue
132 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:192:17: note: protocol 'CocoaMQTTSocketDelegate' does not conform to the 'Sendable' protocol
190 | // MARK: - Interfaces
191 |
192 | public protocol CocoaMQTTSocketDelegate: AnyObject {
    |                 `- note: protocol 'CocoaMQTTSocketDelegate' does not conform to the 'Sendable' protocol
193 |     func socketConnected(_ socket: CocoaMQTTSocketProtocol)
194 |     func socket(_ socket: CocoaMQTTSocketProtocol, didReceive trust: SecTrust, completionHandler: @escaping (Bool) -> Swift.Void)
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:11:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CocoaMQTT'
  9 | import Starscream
 10 | #if IS_SWIFT_PACKAGE
 11 | import CocoaMQTT
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CocoaMQTT'
 12 | #endif
 13 |
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:186:13: warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
 54 | // MARK: - CocoaMQTTWebSocket
 55 |
 56 | public class CocoaMQTTWebSocket: CocoaMQTTDisconnectAfterWritingSocket,
    |              `- note: class 'CocoaMQTTWebSocket' does not conform to the 'Sendable' protocol
 57 |     CocoaMQTTClientIdentityConfiguring,
 58 |     CocoaMQTTServerTrustConfiguring {
    :
184 |         internalQueue.async {
185 |             // self.reset()
186 |             self.disconnectAfterWrites = true
    |             `- warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
187 |             self.closeConnection(withError: nil)
188 |         }
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:194:13: warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
 54 | // MARK: - CocoaMQTTWebSocket
 55 |
 56 | public class CocoaMQTTWebSocket: CocoaMQTTDisconnectAfterWritingSocket,
    |              `- note: class 'CocoaMQTTWebSocket' does not conform to the 'Sendable' protocol
 57 |     CocoaMQTTClientIdentityConfiguring,
 58 |     CocoaMQTTServerTrustConfiguring {
    :
192 |         internalQueue.async {
193 |             let newRead = ReadItem(tag: tag, length: length, timeout: (timeout > 0.0) ? .now() + timeout : .distantFuture)
194 |             self.scheduledReads.append(newRead)
    |             `- warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
195 |             self.checkScheduledReads()
196 |         }
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:201:20: warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
 54 | // MARK: - CocoaMQTTWebSocket
 55 |
 56 | public class CocoaMQTTWebSocket: CocoaMQTTDisconnectAfterWritingSocket,
    |              `- note: class 'CocoaMQTTWebSocket' does not conform to the 'Sendable' protocol
 57 |     CocoaMQTTClientIdentityConfiguring,
 58 |     CocoaMQTTServerTrustConfiguring {
    :
199 |     public func write(_ data: Data, withTimeout timeout: TimeInterval, tag: Int) {
200 |         internalQueue.async {
201 |             guard !self.disconnectAfterWrites else { return }
    |                    `- warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
202 |             self.enqueueWrite(data, withTimeout: timeout, tag: tag)
203 |         }
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:208:20: warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
 54 | // MARK: - CocoaMQTTWebSocket
 55 |
 56 | public class CocoaMQTTWebSocket: CocoaMQTTDisconnectAfterWritingSocket,
    |              `- note: class 'CocoaMQTTWebSocket' does not conform to the 'Sendable' protocol
 57 |     CocoaMQTTClientIdentityConfiguring,
 58 |     CocoaMQTTServerTrustConfiguring {
    :
206 |     public func writeAndDisconnect(_ data: Data, withTimeout timeout: TimeInterval, tag: Int) {
207 |         internalQueue.async {
208 |             guard !self.disconnectAfterWrites else { return }
    |                    `- warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
209 |             self.disconnectAfterWrites = true
210 |             self.enqueueWrite(data, withTimeout: timeout, tag: tag)
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:291:17: warning: capture of 'theDelegate' with non-sendable type 'any CocoaMQTTSocketDelegate' in a '@Sendable' closure
289 |             readBuffer.removeSubrange(readRange)
290 |             delegateQueue.async {
291 |                 theDelegate.socket(self, didRead: readData, withTag: nextRead.tag)
    |                 `- warning: capture of 'theDelegate' with non-sendable type 'any CocoaMQTTSocketDelegate' in a '@Sendable' closure
292 |             }
293 |         }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:192:17: note: protocol 'CocoaMQTTSocketDelegate' does not conform to the 'Sendable' protocol
190 | // MARK: - Interfaces
191 |
192 | public protocol CocoaMQTTSocketDelegate: AnyObject {
    |                 `- note: protocol 'CocoaMQTTSocketDelegate' does not conform to the 'Sendable' protocol
193 |     func socketConnected(_ socket: CocoaMQTTSocketProtocol)
194 |     func socket(_ socket: CocoaMQTTSocketProtocol, didReceive trust: SecTrust, completionHandler: @escaping (Bool) -> Swift.Void)
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:291:36: warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
 54 | // MARK: - CocoaMQTTWebSocket
 55 |
 56 | public class CocoaMQTTWebSocket: CocoaMQTTDisconnectAfterWritingSocket,
    |              `- note: class 'CocoaMQTTWebSocket' does not conform to the 'Sendable' protocol
 57 |     CocoaMQTTClientIdentityConfiguring,
 58 |     CocoaMQTTServerTrustConfiguring {
    :
289 |             readBuffer.removeSubrange(readRange)
290 |             delegateQueue.async {
291 |                 theDelegate.socket(self, didRead: readData, withTag: nextRead.tag)
    |                                    `- warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
292 |             }
293 |         }
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:370:42: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
368 |         }
369 |         if let delegateQueue = delegateQueue {
370 |             delegateQueue.async(execute: forwardChallenge)
    |                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
371 |         } else {
372 |             forwardChallenge()
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:393:13: warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTSocketDelegate' in a '@Sendable' closure
391 |         guard let delegateQueue = delegateQueue else { return }
392 |         delegateQueue.async {
393 |             delegate.socketConnected(self)
    |             `- warning: capture of 'delegate' with non-sendable type 'any CocoaMQTTSocketDelegate' in a '@Sendable' closure
394 |         }
395 |     }
/Users/admin/builder/spi-builder-workspace/Source/CocoaMQTTSocket.swift:192:17: note: protocol 'CocoaMQTTSocketDelegate' does not conform to the 'Sendable' protocol
190 | // MARK: - Interfaces
191 |
192 | public protocol CocoaMQTTSocketDelegate: AnyObject {
    |                 `- note: protocol 'CocoaMQTTSocketDelegate' does not conform to the 'Sendable' protocol
193 |     func socketConnected(_ socket: CocoaMQTTSocketProtocol)
194 |     func socket(_ socket: CocoaMQTTSocketProtocol, didReceive trust: SecTrust, completionHandler: @escaping (Bool) -> Swift.Void)
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:393:38: warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
 54 | // MARK: - CocoaMQTTWebSocket
 55 |
 56 | public class CocoaMQTTWebSocket: CocoaMQTTDisconnectAfterWritingSocket,
    |              `- note: class 'CocoaMQTTWebSocket' does not conform to the 'Sendable' protocol
 57 |     CocoaMQTTClientIdentityConfiguring,
 58 |     CocoaMQTTServerTrustConfiguring {
    :
391 |         guard let delegateQueue = delegateQueue else { return }
392 |         delegateQueue.async {
393 |             delegate.socketConnected(self)
    |                                      `- warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket' in a '@Sendable' closure
394 |         }
395 |     }
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:463:21: warning: capture of 'handler' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure
461 |             task?.send(.data(data)) { possibleError in
462 |                 self.queue.async {
463 |                     handler(possibleError)
    |                     |- warning: capture of 'handler' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
464 |                 }
465 |             }
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:463:21: warning: capture of 'handler' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure
461 |             task?.send(.data(data)) { possibleError in
462 |                 self.queue.async {
463 |                     handler(possibleError)
    |                     |- warning: capture of 'handler' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
464 |                 }
465 |             }
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:509:21: warning: capture of 'completionHandler' with non-sendable type '(URLSession.AuthChallengeDisposition, URLCredential?) -> Void' in a '@Sendable' closure
507 |                       protectionSpace.port == endpointPort,
508 |                       let clientIdentity = self.clientIdentity else {
509 |                     completionHandler(.cancelAuthenticationChallenge, nil)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(URLSession.AuthChallengeDisposition, URLCredential?) -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
510 |                     return
511 |                 }
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:643:19: warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket?' in a '@Sendable' closure
 54 | // MARK: - CocoaMQTTWebSocket
 55 |
 56 | public class CocoaMQTTWebSocket: CocoaMQTTDisconnectAfterWritingSocket,
    |              `- note: class 'CocoaMQTTWebSocket' does not conform to the 'Sendable' protocol
 57 |     CocoaMQTTClientIdentityConfiguring,
 58 |     CocoaMQTTServerTrustConfiguring {
    :
641 |     func __delegate_queue(_ fun: @escaping () -> Void) {
642 |         delegateQueue?.async { [weak self] in
643 |             guard self != nil else { return }
    |                   `- warning: capture of 'self' with non-sendable type 'CocoaMQTTWebSocket?' in a '@Sendable' closure
644 |             fun()
645 |         }
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:644:13: warning: capture of 'fun' with non-sendable type '() -> Void' in a '@Sendable' closure
642 |         delegateQueue?.async { [weak self] in
643 |             guard self != nil else { return }
644 |             fun()
    |             |- warning: capture of 'fun' with non-sendable type '() -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
645 |         }
646 |     }
[82/82] Emitting module CocoaMQTTWebSocket
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:418:11: warning: non-final class 'FoundationConnection' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
416 | @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
417 | public extension CocoaMQTTWebSocket {
418 |     class FoundationConnection: NSObject, CocoaMQTTWebSocketConnection, CocoaMQTTClientIdentityConfiguring {
    |           `- warning: non-final class 'FoundationConnection' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
419 |
420 |         public weak var delegate: CocoaMQTTWebSocketConnectionDelegate?
/Users/admin/builder/spi-builder-workspace/Source/WebSocket/CocoaMQTTWebSocket.swift:420:25: warning: stored property 'delegate' of 'Sendable'-conforming class 'FoundationConnection' is mutable; this is an error in the Swift 6 language mode
418 |     class FoundationConnection: NSObject, CocoaMQTTWebSocketConnection, CocoaMQTTClientIdentityConfiguring {
419 |
420 |         public weak var delegate: CocoaMQTTWebSocketConnectionDelegate?
    |                         `- warning: stored property 'delegate' of 'Sendable'-conforming class 'FoundationConnection' is mutable; this is an error in the Swift 6 language mode
421 |         public lazy var queue = DispatchQueue(label: "CocoaMQTTFoundationWebSocketConnection-\(self.hashValue)")
422 |         public var clientIdentity: CocoaMQTTClientIdentity?
Build complete! (10.98s)
Fetching https://github.com/leeway1208/MqttCocoaAsyncSocket
Fetching https://github.com/daltoniam/Starscream.git
[1/3847] Fetching mqttcocoaasyncsocket
[2/9044] Fetching mqttcocoaasyncsocket, starscream
Fetched https://github.com/daltoniam/Starscream.git from cache (1.41s)
Fetched https://github.com/leeway1208/MqttCocoaAsyncSocket from cache (1.41s)
Computing version for https://github.com/leeway1208/MqttCocoaAsyncSocket
Computed https://github.com/leeway1208/MqttCocoaAsyncSocket at 1.0.8 (1.99s)
Computing version for https://github.com/daltoniam/Starscream.git
Computed https://github.com/daltoniam/Starscream.git at 4.0.8 (0.57s)
Creating working copy for https://github.com/leeway1208/MqttCocoaAsyncSocket
Working copy of https://github.com/leeway1208/MqttCocoaAsyncSocket resolved at 1.0.8
Creating working copy for https://github.com/daltoniam/Starscream.git
Working copy of https://github.com/daltoniam/Starscream.git resolved at 4.0.8
warning: 'starscream': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/.build/checkouts/Starscream/Sources/Info.plist
Build complete.
{
  "dependencies" : [
    {
      "identity" : "starscream",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.8",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/daltoniam/Starscream.git"
    },
    {
      "identity" : "mqttcocoaasyncsocket",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.8",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/leeway1208/MqttCocoaAsyncSocket"
    }
  ],
  "manifest_display_name" : "CocoaMQTT",
  "name" : "CocoaMQTT",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "CocoaMQTT",
      "targets" : [
        "CocoaMQTT"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CocoaMQTTWebSocket",
      "targets" : [
        "CocoaMQTTWebSocket"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CocoaMQTTWebSocket",
      "module_type" : "SwiftTarget",
      "name" : "CocoaMQTTWebSocket",
      "path" : "Source/WebSocket",
      "product_dependencies" : [
        "Starscream"
      ],
      "product_memberships" : [
        "CocoaMQTTWebSocket"
      ],
      "sources" : [
        "CocoaMQTTWebSocket.swift"
      ],
      "target_dependencies" : [
        "CocoaMQTT"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CocoaMQTTTests",
      "module_type" : "SwiftTarget",
      "name" : "CocoaMQTTTests",
      "path" : "CocoaMQTTTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/CocoaMQTTTests/client-keycert.p12",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "AutoReconnectStateTests.swift",
        "ClientEventLoopTests.swift",
        "ClientIdentityTests.swift",
        "CocoaMQTT5DisconnectReasonStateTests.swift",
        "CocoaMQTT5PublishValidationTests.swift",
        "CocoaMQTT5ReasonCodeFallbackTests.swift",
        "CocoaMQTT5ReceiveMessageContentTypeTests.swift",
        "CocoaMQTTDeliverTests.swift",
        "CocoaMQTTReaderProtocolErrorTests.swift",
        "CocoaMQTTStorageTests.swift",
        "CocoaMQTTTests.swift",
        "CocoaMQTTWebSocketAuthenticationTests.swift",
        "ConcurrentAtomicTests.swift",
        "FrameTests.swift",
        "GracefulDisconnectTests.swift",
        "KeepAliveTests.swift",
        "MQTTAutoReconnectControllerTests.swift",
        "PrivacyManifestTests.swift",
        "PublicLoggerAPITests.swift",
        "SendingMessageLifecycleTests.swift",
        "TLSChallengeResolutionTests.swift",
        "TLSLoopbackIntegrationTests.swift",
        "TLSLoopbackTestSupport.swift",
        "ThreadSafetyRegressionTests.swift",
        "WebSocketMTLSIntegrationTests.swift"
      ],
      "target_dependencies" : [
        "CocoaMQTT",
        "CocoaMQTTWebSocket"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CocoaMQTT",
      "module_type" : "SwiftTarget",
      "name" : "CocoaMQTT",
      "path" : "Source",
      "product_dependencies" : [
        "MqttCocoaAsyncSocket"
      ],
      "product_memberships" : [
        "CocoaMQTT",
        "CocoaMQTTWebSocket"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Source/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "CocoaMQTT.swift",
        "CocoaMQTT5.swift",
        "CocoaMQTT5Message.swift",
        "CocoaMQTTClientIdentity.swift",
        "CocoaMQTTDeliver.swift",
        "CocoaMQTTLogger.swift",
        "CocoaMQTTMessage.swift",
        "CocoaMQTTProperty.swift",
        "CocoaMQTTReader.swift",
        "CocoaMQTTReasonCode.swift",
        "CocoaMQTTSocket.swift",
        "CocoaMQTTStorage.swift",
        "CocoaMQTTTimer.swift",
        "CocoaMQTTTypes.swift",
        "Frame.swift",
        "FrameAuth.swift",
        "FrameConnAck.swift",
        "FrameConnect.swift",
        "FrameDisconnect.swift",
        "FramePingReq.swift",
        "FramePingResp.swift",
        "FramePubAck.swift",
        "FramePubComp.swift",
        "FramePubRec.swift",
        "FramePubRel.swift",
        "FramePublish.swift",
        "FrameSubAck.swift",
        "FrameSubscribe.swift",
        "FrameUnsubAck.swift",
        "FrameUnsubscribe.swift",
        "MQTT5SessionState.swift",
        "MQTTAutoReconnectController.swift",
        "MQTTKeepAliveController.swift",
        "MQTTPacketIdentifierAllocator.swift",
        "MqttAuthProperties.swift",
        "MqttConnectProperties.swift",
        "MqttDecodeConnAck.swift",
        "MqttDecodePubAck.swift",
        "MqttDecodePubComp.swift",
        "MqttDecodePubRec.swift",
        "MqttDecodePubRel.swift",
        "MqttDecodePublish.swift",
        "MqttDecodeSubAck.swift",
        "MqttDecodeUnsubAck.swift",
        "MqttPublishProperties.swift",
        "MqttSubscription.swift",
        "ThreadSafeDictionary.swift",
        "utilities/ConcurrentAtomic.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.