Build Information
Successful build of Mqtt with Swift 6.0 for macOS (SPM).
Swift 6 data race errors: 3
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/hjianbo/mqtt.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/hjianbo/mqtt
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 2af5589 Merge branch 'dev'
Cloned https://github.com/hjianbo/mqtt.git
Revision (git rev-parse @):
2af55898db7cccfc12accfd0a15fe4ecbf9fa579
SUCCESS checkout https://github.com/hjianbo/mqtt.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/hjianbo/mqtt.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/8] Write sources
[7/8] Write swift-version-6F35C1178C84523A.txt
[9/31] Emitting module Debugging
[10/31] Compiling Debugging Debuggable.swift
[11/31] Compiling libc libc.swift
[12/31] Emitting module libc
[13/31] Compiling Bits ByteSequence+Conversions.swift
[14/31] Compiling Bits Bytes+Base64.swift
[15/31] Compiling Bits String+BytesConvertible.swift
[16/31] Compiling Bits UnsignedInteger+BytesConvertible.swift
[17/31] Compiling Bits HexEncoder.swift
[18/31] Compiling Bits Operators.swift
[19/32] Emitting module Bits
[20/32] Compiling Bits UnsignedInteger+Shifting.swift
[21/32] Compiling Bits Byte+Convenience.swift
[22/32] Compiling Bits Byte+PatternMatching.swift
[23/32] Compiling Bits Aliases.swift
[24/32] Compiling Bits Base64Encoder.swift
[25/32] Compiling Bits Byte+Alphabet.swift
[26/32] Compiling Bits Byte+ControlCharacters.swift
[27/32] Compiling Bits BytesConvertible.swift
[28/32] Compiling Bits Data+BytesConvertible.swift
[29/32] Compiling Bits Bytes+Hex.swift
[30/32] Compiling Bits Bytes+Percent.swift
[31/32] Compiling Bits Byte+Random.swift
[32/32] Compiling Bits Byte+UTF8Numbers.swift
[33/54] Compiling Core DispatchTime+Utilities.swift
[34/54] Compiling Core EmptyInitializable.swift
[35/54] Compiling Core Exports.swift
[36/54] Compiling Core Result.swift
[37/54] Compiling Core Semaphore.swift
[38/56] Emitting module Core
[39/56] Compiling Core String+CaseInsensitiveCompare.swift
[40/56] Compiling Core String+Polymorphic.swift
[41/56] Compiling Core Int+Hex.swift
[42/56] Compiling Core Lock.swift
[43/56] Compiling Core Collection+Safe.swift
[44/56] Compiling Core DataFile.swift
[45/56] Compiling Core Dispatch.swift
[46/56] Compiling Core Array.swift
[47/56] Compiling Core Bits.swift
[48/56] Compiling Core Cache.swift
[49/56] Compiling Core Sequence.swift
[50/56] Compiling Core StaticDataBuffer.swift
[51/56] Compiling Core Portal.swift
[52/56] Compiling Core RFC1123.swift
[53/56] Compiling Core Extendable.swift
[54/56] Compiling Core FileProtocol.swift
[55/56] Compiling Core String.swift
[56/56] Compiling Core WorkingDirectory.swift
[57/66] Compiling Transport Stream.swift
[58/66] Compiling Transport StreamError.swift
[59/67] Compiling Transport ReadableStream.swift
[60/67] Compiling Transport ServerStream.swift
[61/67] Compiling Transport Port.swift
[62/67] Compiling Transport ClientStream.swift
[63/67] Compiling Transport InternetStream.swift
[64/67] Compiling Transport Exports.swift
[65/67] Emitting module Transport
[66/67] Compiling Transport FoundationStream.swift
[67/67] Compiling Transport WriteableStream.swift
[68/88] Emitting module Sockets
[69/90] Compiling Sockets InternetSocket.swift
[70/90] Compiling Sockets Pipe.swift
[71/90] Compiling Sockets TCPWriteableSocket.swift
[72/90] Compiling Sockets UDPSocket.swift
[73/90] Compiling Sockets Config.swift
[74/90] Compiling Sockets Descriptor.swift
[75/90] Compiling Sockets RawSocket.swift
[76/90] Compiling Sockets Select.swift
[77/90] Compiling Sockets Socket.swift
[78/90] Compiling Sockets SocketOptions.swift
[79/90] Compiling Sockets TCPReadableSocket.swift
[80/90] Compiling Sockets TCPSocket.swift
[81/90] Compiling Sockets Types.swift
[82/90] Compiling Sockets Exports.swift
[83/90] Compiling Sockets Address+C.swift
[84/90] Compiling Sockets Address.swift
[85/90] Compiling Sockets Buffer.swift
[86/90] Compiling Sockets TCPEstablishedSocket.swift
[87/90] Compiling Sockets TCPInternetSocket.swift
[88/90] Compiling Sockets Conversions.swift
[89/90] Compiling Sockets Error.swift
[90/90] Compiling Sockets FDSet.swift
[91/109] Compiling Mqtt PubAckPacket.swift
[92/109] Compiling Mqtt PubCompPacket.swift
[93/111] Compiling Mqtt SubscribePacket.swift
[94/111] Compiling Mqtt UnsubAckPacket.swift
[95/111] Compiling Mqtt PublishPacket.swift
[96/111] Compiling Mqtt SubAckPacket.swift
[97/111] Compiling Mqtt PubRecPacket.swift
[98/111] Compiling Mqtt PubRelPacket.swift
[99/111] Compiling Mqtt PingReqPacket.swift
[100/111] Compiling Mqtt PingRespPacket.swift
[101/111] Compiling Mqtt ConnAckPacket.swift
[102/111] Compiling Mqtt ConnectPacket.swift
[103/111] Compiling Mqtt DisconnectPacket.swift
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/Packet.swift:173:28: warning: initialization of 'UnsafePointer<UInt8>' results in a dangling pointer
171 |
172 | var packToData: Data {
173 | return Data(bytes: UnsafePointer<UInt8>(packToBytes), count: packToBytes.count)
| | |- note: implicit argument conversion from 'Array<UInt8>' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(_:)'
| | `- note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
| `- warning: initialization of 'UnsafePointer<UInt8>' results in a dangling pointer
174 | }
175 |
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/Packet.swift:205:28: warning: initialization of 'UnsafePointer<UInt8>' results in a dangling pointer
203 |
204 | var packToData: Data {
205 | return Data(bytes: UnsafePointer<UInt8>(packToBytes), count: packToBytes.count)
| | |- note: implicit argument conversion from 'Array<UInt8>' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(_:)'
| | `- note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
| `- warning: initialization of 'UnsafePointer<UInt8>' results in a dangling pointer
206 | }
207 |
[104/111] Compiling Mqtt Packet.swift
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/Packet.swift:173:28: warning: initialization of 'UnsafePointer<UInt8>' results in a dangling pointer
171 |
172 | var packToData: Data {
173 | return Data(bytes: UnsafePointer<UInt8>(packToBytes), count: packToBytes.count)
| | |- note: implicit argument conversion from 'Array<UInt8>' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(_:)'
| | `- note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
| `- warning: initialization of 'UnsafePointer<UInt8>' results in a dangling pointer
174 | }
175 |
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/Packet.swift:205:28: warning: initialization of 'UnsafePointer<UInt8>' results in a dangling pointer
203 |
204 | var packToData: Data {
205 | return Data(bytes: UnsafePointer<UInt8>(packToBytes), count: packToBytes.count)
| | |- note: implicit argument conversion from 'Array<UInt8>' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(_:)'
| | `- note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
| `- warning: initialization of 'UnsafePointer<UInt8>' results in a dangling pointer
206 | }
207 |
[105/111] Emitting module Mqtt
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/DDLog.swift:32:5: warning: var 'logLevel' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
30 | }
31 |
32 | var logLevel: ETLogLevel = .verbose
| |- warning: var 'logLevel' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logLevel' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 |
34 | func DDLogVerbose(_ format: CustomStringConvertible) {
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:84:16: warning: static property 'SendKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<String>' may have shared mutable state; this is an error in the Swift 6 language mode
82 | private struct QueueSpecifi {
83 |
84 | static let SendKey = DispatchSpecificKey<String>()
| `- warning: static property 'SendKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<String>' may have shared mutable state; this is an error in the Swift 6 language mode
85 |
86 | static let SendValue = "SEND_QUEUE_SPECIFI_VALUE"
Dispatch.DispatchSpecificKey:1:20: note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
1 | final public class DispatchSpecificKey<T> {
| `- note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
2 | public init()
3 | @objc deinit
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
8 |
9 | import Foundation
10 | import Dispatch
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
11 | import Sockets
12 |
:
82 | private struct QueueSpecifi {
83 |
84 | static let SendKey = DispatchSpecificKey<String>()
| |- note: annotate 'SendKey' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 |
86 | static let SendValue = "SEND_QUEUE_SPECIFI_VALUE"
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:88:16: warning: static property 'ReadKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<String>' may have shared mutable state; this is an error in the Swift 6 language mode
86 | static let SendValue = "SEND_QUEUE_SPECIFI_VALUE"
87 |
88 | static let ReadKey = DispatchSpecificKey<String>()
| |- warning: static property 'ReadKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<String>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'ReadKey' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
89 |
90 | static let ReadValue = "READ_QUEUE_SPECIFI_VALUE"
Dispatch.DispatchSpecificKey:1:20: note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
1 | final public class DispatchSpecificKey<T> {
| `- note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
2 | public init()
3 | @objc deinit
[106/111] Compiling Mqtt LocalStorage.swift
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:188:17: warning: capture of 'handler' with non-sendable type '((String, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | } catch {
187 | delegateQueue.async {
188 | handler?("\(host):\(port)", error)
| |- warning: capture of 'handler' with non-sendable type '((String, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
189 | }
190 |
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:216:17: warning: capture of 'handler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
214 | } catch {
215 | delegateQueue.async {
216 | handler?(error)
| |- warning: capture of 'handler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
217 | }
218 |
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:245:31: warning: capture of 'topicFilters' with non-sendable type 'Dictionary<String, Qos>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
243 | delegateQueue.async {
244 | var subres = Dictionary<String, SubsAckReturnCode>()
245 | for (k, _) in topicFilters {
| `- warning: capture of 'topicFilters' with non-sendable type 'Dictionary<String, Qos>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
246 | subres[k] = .failure
247 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/Packet.swift:64:13: note: consider making enum 'Qos' conform to the 'Sendable' protocol
62 | }
63 |
64 | public enum Qos: UInt8 {
| `- note: consider making enum 'Qos' conform to the 'Sendable' protocol
65 |
66 | case qos0 = 0
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:249:17: warning: capture of 'handler' with non-sendable type 'MqttClient.SubscribeHandler?' (aka 'Optional<(Dictionary<String, SubsAckReturnCode>, Optional<any Error>) -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
247 | }
248 |
249 | handler?(subres, error)
| |- warning: capture of 'handler' with non-sendable type 'MqttClient.SubscribeHandler?' (aka 'Optional<(Dictionary<String, SubsAckReturnCode>, Optional<any Error>) -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
250 | }
251 | // XXX: should rm hander from cache
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:276:17: warning: capture of 'handler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
274 | } catch {
275 | delegateQueue.async {
276 | handler?(error)
| |- warning: capture of 'handler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
277 | }
278 | // XXX: should rm handler from cahce, when a error throwed from seesionSend
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:311:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
309 |
310 | delegateQueue.async { [weak self] in
311 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
312 | // exec handler
313 | weakSelf.connectCompelationHandler?(address, nil)
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:323:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
321 | self.session = nil
322 | delegateQueue.async { [weak self] in
323 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
324 | weakSelf.delegate?.mqtt(weakSelf, didDisconnect: error)
325 | // exec handler
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:326:49: warning: capture of 'session' with non-sendable type 'Session' in a `@Sendable` closure; this is an error in the Swift 6 language mode
324 | weakSelf.delegate?.mqtt(weakSelf, didDisconnect: error)
325 | // exec handler
326 | weakSelf.connectCompelationHandler?(session.serverAddress, error)
| `- warning: capture of 'session' with non-sendable type 'Session' in a `@Sendable` closure; this is an error in the Swift 6 language mode
327 | weakSelf.connectCompelationHandler = nil
328 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:95:13: note: class 'Session' does not conform to the 'Sendable' protocol
93 | // MQTT Clietn session
94 | // implment send/recv
95 | final class Session {
| `- note: class 'Session' does not conform to the 'Sendable' protocol
96 |
97 | fileprivate var socket: TCPInternetSocket?
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:335:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
333 |
334 | delegateQueue.async { [weak self] in
335 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
336 | weakSelf.delegate?.mqtt(weakSelf, didRecvMessage: packet)
337 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:336:63: warning: capture of 'packet' with non-sendable type 'PublishPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
334 | delegateQueue.async { [weak self] in
335 | guard let weakSelf = self else { return }
336 | weakSelf.delegate?.mqtt(weakSelf, didRecvMessage: packet)
| `- warning: capture of 'packet' with non-sendable type 'PublishPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
337 | }
338 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/PublishPacket.swift:33:15: note: consider making struct 'PublishPacket' conform to the 'Sendable' protocol
31 | a PUBLISH Packet to contain a zero length payload*.
32 | */
33 | public struct PublishPacket: Packet {
| `- note: consider making struct 'PublishPacket' conform to the 'Sendable' protocol
34 |
35 | var fixedHeader: FixedHeader
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:344:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
342 |
343 | delegateQueue.async { [weak self] in
344 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
345 |
346 | weakSelf.delegate?.mqtt(weakSelf, didPublish: publish)
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:346:59: warning: capture of 'publish' with non-sendable type 'PublishPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
344 | guard let weakSelf = self else { return }
345 |
346 | weakSelf.delegate?.mqtt(weakSelf, didPublish: publish)
| `- warning: capture of 'publish' with non-sendable type 'PublishPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
347 |
348 | // exec handler
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/PublishPacket.swift:33:15: note: consider making struct 'PublishPacket' conform to the 'Sendable' protocol
31 | a PUBLISH Packet to contain a zero length payload*.
32 | */
33 | public struct PublishPacket: Packet {
| `- note: consider making struct 'PublishPacket' conform to the 'Sendable' protocol
34 |
35 | var fixedHeader: FixedHeader
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:369:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
367 |
368 | delegateQueue.async { [weak self] in
369 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
370 |
371 | // exec message handler
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:372:63: warning: capture of 'subscribe' with non-sendable type 'SubscribePacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
370 |
371 | // exec message handler
372 | guard let subsHandler = weakSelf.subscriCallbacks[subscribe.packetId] else {
| `- warning: capture of 'subscribe' with non-sendable type 'SubscribePacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
373 | assert(false)
374 | return
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/SubscribePacket.swift:32:15: note: consider making struct 'SubscribePacket' conform to the 'Sendable' protocol
30 |
31 | */
32 | public struct SubscribePacket: Packet {
| `- note: consider making struct 'SubscribePacket' conform to the 'Sendable' protocol
33 |
34 | var fixedHeader: FixedHeader
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:376:25: warning: capture of 'subres' with non-sendable type '[String : SubsAckReturnCode]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
374 | return
375 | }
376 | subsHandler(subres, nil)
| `- warning: capture of 'subres' with non-sendable type '[String : SubsAckReturnCode]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
377 | weakSelf.subscriCallbacks[subscribe.packetId] = nil
378 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/SubAckPacket.swift:11:13: note: consider making enum 'SubsAckReturnCode' conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public enum SubsAckReturnCode: UInt8 {
| `- note: consider making enum 'SubsAckReturnCode' conform to the 'Sendable' protocol
12 |
13 | case maxQos0 = 0x00
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:376:25: warning: reference to captured var 'subres' in concurrently-executing code; this is an error in the Swift 6 language mode
374 | return
375 | }
376 | subsHandler(subres, nil)
| `- warning: reference to captured var 'subres' in concurrently-executing code; this is an error in the Swift 6 language mode
377 | weakSelf.subscriCallbacks[subscribe.packetId] = nil
378 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:385:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
383 |
384 | delegateQueue.async { [weak self] in
385 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
386 | // exec message handler
387 | guard let msgHandler = weakSelf.messageCallbacks[unsubs.packetId] else {
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:387:62: warning: capture of 'unsubs' with non-sendable type 'UnsubscribePacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
385 | guard let weakSelf = self else { return }
386 | // exec message handler
387 | guard let msgHandler = weakSelf.messageCallbacks[unsubs.packetId] else {
| `- warning: capture of 'unsubs' with non-sendable type 'UnsubscribePacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
388 | assert(false)
389 | return
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/UnsubscribePacket.swift:27:15: note: consider making struct 'UnsubscribePacket' conform to the 'Sendable' protocol
25 |
26 | */
27 | public struct UnsubscribePacket: Packet {
| `- note: consider making struct 'UnsubscribePacket' conform to the 'Sendable' protocol
28 |
29 | var fixedHeader: FixedHeader
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:400:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
398 |
399 | delegateQueue.async { [weak self] in
400 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
401 | weakSelf.delegate?.mqtt(weakSelf, didRecvPong: pingresp)
402 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:401:60: warning: capture of 'pingresp' with non-sendable type 'PingRespPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
399 | delegateQueue.async { [weak self] in
400 | guard let weakSelf = self else { return }
401 | weakSelf.delegate?.mqtt(weakSelf, didRecvPong: pingresp)
| `- warning: capture of 'pingresp' with non-sendable type 'PingRespPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
402 | }
403 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/PingRespPacket.swift:25:15: note: consider making struct 'PingRespPacket' conform to the 'Sendable' protocol
23 | The PINGRESP Packet has no payload.
24 | */
25 | public struct PingRespPacket: Packet {
| `- note: consider making struct 'PingRespPacket' conform to the 'Sendable' protocol
26 |
27 | var fixedHeader: FixedHeader
[107/111] Compiling Mqtt MqttClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:188:17: warning: capture of 'handler' with non-sendable type '((String, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | } catch {
187 | delegateQueue.async {
188 | handler?("\(host):\(port)", error)
| |- warning: capture of 'handler' with non-sendable type '((String, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
189 | }
190 |
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:216:17: warning: capture of 'handler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
214 | } catch {
215 | delegateQueue.async {
216 | handler?(error)
| |- warning: capture of 'handler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
217 | }
218 |
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:245:31: warning: capture of 'topicFilters' with non-sendable type 'Dictionary<String, Qos>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
243 | delegateQueue.async {
244 | var subres = Dictionary<String, SubsAckReturnCode>()
245 | for (k, _) in topicFilters {
| `- warning: capture of 'topicFilters' with non-sendable type 'Dictionary<String, Qos>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
246 | subres[k] = .failure
247 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/Packet.swift:64:13: note: consider making enum 'Qos' conform to the 'Sendable' protocol
62 | }
63 |
64 | public enum Qos: UInt8 {
| `- note: consider making enum 'Qos' conform to the 'Sendable' protocol
65 |
66 | case qos0 = 0
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:249:17: warning: capture of 'handler' with non-sendable type 'MqttClient.SubscribeHandler?' (aka 'Optional<(Dictionary<String, SubsAckReturnCode>, Optional<any Error>) -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
247 | }
248 |
249 | handler?(subres, error)
| |- warning: capture of 'handler' with non-sendable type 'MqttClient.SubscribeHandler?' (aka 'Optional<(Dictionary<String, SubsAckReturnCode>, Optional<any Error>) -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
250 | }
251 | // XXX: should rm hander from cache
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:276:17: warning: capture of 'handler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
274 | } catch {
275 | delegateQueue.async {
276 | handler?(error)
| |- warning: capture of 'handler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
277 | }
278 | // XXX: should rm handler from cahce, when a error throwed from seesionSend
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:311:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
309 |
310 | delegateQueue.async { [weak self] in
311 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
312 | // exec handler
313 | weakSelf.connectCompelationHandler?(address, nil)
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:323:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
321 | self.session = nil
322 | delegateQueue.async { [weak self] in
323 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
324 | weakSelf.delegate?.mqtt(weakSelf, didDisconnect: error)
325 | // exec handler
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:326:49: warning: capture of 'session' with non-sendable type 'Session' in a `@Sendable` closure; this is an error in the Swift 6 language mode
324 | weakSelf.delegate?.mqtt(weakSelf, didDisconnect: error)
325 | // exec handler
326 | weakSelf.connectCompelationHandler?(session.serverAddress, error)
| `- warning: capture of 'session' with non-sendable type 'Session' in a `@Sendable` closure; this is an error in the Swift 6 language mode
327 | weakSelf.connectCompelationHandler = nil
328 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:95:13: note: class 'Session' does not conform to the 'Sendable' protocol
93 | // MQTT Clietn session
94 | // implment send/recv
95 | final class Session {
| `- note: class 'Session' does not conform to the 'Sendable' protocol
96 |
97 | fileprivate var socket: TCPInternetSocket?
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:335:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
333 |
334 | delegateQueue.async { [weak self] in
335 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
336 | weakSelf.delegate?.mqtt(weakSelf, didRecvMessage: packet)
337 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:336:63: warning: capture of 'packet' with non-sendable type 'PublishPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
334 | delegateQueue.async { [weak self] in
335 | guard let weakSelf = self else { return }
336 | weakSelf.delegate?.mqtt(weakSelf, didRecvMessage: packet)
| `- warning: capture of 'packet' with non-sendable type 'PublishPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
337 | }
338 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/PublishPacket.swift:33:15: note: consider making struct 'PublishPacket' conform to the 'Sendable' protocol
31 | a PUBLISH Packet to contain a zero length payload*.
32 | */
33 | public struct PublishPacket: Packet {
| `- note: consider making struct 'PublishPacket' conform to the 'Sendable' protocol
34 |
35 | var fixedHeader: FixedHeader
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:344:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
342 |
343 | delegateQueue.async { [weak self] in
344 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
345 |
346 | weakSelf.delegate?.mqtt(weakSelf, didPublish: publish)
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:346:59: warning: capture of 'publish' with non-sendable type 'PublishPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
344 | guard let weakSelf = self else { return }
345 |
346 | weakSelf.delegate?.mqtt(weakSelf, didPublish: publish)
| `- warning: capture of 'publish' with non-sendable type 'PublishPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
347 |
348 | // exec handler
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/PublishPacket.swift:33:15: note: consider making struct 'PublishPacket' conform to the 'Sendable' protocol
31 | a PUBLISH Packet to contain a zero length payload*.
32 | */
33 | public struct PublishPacket: Packet {
| `- note: consider making struct 'PublishPacket' conform to the 'Sendable' protocol
34 |
35 | var fixedHeader: FixedHeader
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:369:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
367 |
368 | delegateQueue.async { [weak self] in
369 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
370 |
371 | // exec message handler
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:372:63: warning: capture of 'subscribe' with non-sendable type 'SubscribePacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
370 |
371 | // exec message handler
372 | guard let subsHandler = weakSelf.subscriCallbacks[subscribe.packetId] else {
| `- warning: capture of 'subscribe' with non-sendable type 'SubscribePacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
373 | assert(false)
374 | return
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/SubscribePacket.swift:32:15: note: consider making struct 'SubscribePacket' conform to the 'Sendable' protocol
30 |
31 | */
32 | public struct SubscribePacket: Packet {
| `- note: consider making struct 'SubscribePacket' conform to the 'Sendable' protocol
33 |
34 | var fixedHeader: FixedHeader
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:376:25: warning: capture of 'subres' with non-sendable type '[String : SubsAckReturnCode]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
374 | return
375 | }
376 | subsHandler(subres, nil)
| `- warning: capture of 'subres' with non-sendable type '[String : SubsAckReturnCode]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
377 | weakSelf.subscriCallbacks[subscribe.packetId] = nil
378 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/SubAckPacket.swift:11:13: note: consider making enum 'SubsAckReturnCode' conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public enum SubsAckReturnCode: UInt8 {
| `- note: consider making enum 'SubsAckReturnCode' conform to the 'Sendable' protocol
12 |
13 | case maxQos0 = 0x00
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:376:25: warning: reference to captured var 'subres' in concurrently-executing code; this is an error in the Swift 6 language mode
374 | return
375 | }
376 | subsHandler(subres, nil)
| `- warning: reference to captured var 'subres' in concurrently-executing code; this is an error in the Swift 6 language mode
377 | weakSelf.subscriCallbacks[subscribe.packetId] = nil
378 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:385:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
383 |
384 | delegateQueue.async { [weak self] in
385 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
386 | // exec message handler
387 | guard let msgHandler = weakSelf.messageCallbacks[unsubs.packetId] else {
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:387:62: warning: capture of 'unsubs' with non-sendable type 'UnsubscribePacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
385 | guard let weakSelf = self else { return }
386 | // exec message handler
387 | guard let msgHandler = weakSelf.messageCallbacks[unsubs.packetId] else {
| `- warning: capture of 'unsubs' with non-sendable type 'UnsubscribePacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
388 | assert(false)
389 | return
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/UnsubscribePacket.swift:27:15: note: consider making struct 'UnsubscribePacket' conform to the 'Sendable' protocol
25 |
26 | */
27 | public struct UnsubscribePacket: Packet {
| `- note: consider making struct 'UnsubscribePacket' conform to the 'Sendable' protocol
28 |
29 | var fixedHeader: FixedHeader
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:400:34: warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |
34 |
35 | public final class MqttClient {
| `- note: class 'MqttClient' does not conform to the 'Sendable' protocol
36 |
37 | private var _packetId: UInt16 = 0
:
398 |
399 | delegateQueue.async { [weak self] in
400 | guard let weakSelf = self else { return }
| `- warning: capture of 'self' with non-sendable type 'MqttClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
401 | weakSelf.delegate?.mqtt(weakSelf, didRecvPong: pingresp)
402 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/MqttClient.swift:401:60: warning: capture of 'pingresp' with non-sendable type 'PingRespPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
399 | delegateQueue.async { [weak self] in
400 | guard let weakSelf = self else { return }
401 | weakSelf.delegate?.mqtt(weakSelf, didRecvPong: pingresp)
| `- warning: capture of 'pingresp' with non-sendable type 'PingRespPacket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
402 | }
403 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Packet/PingRespPacket.swift:25:15: note: consider making struct 'PingRespPacket' conform to the 'Sendable' protocol
23 | The PINGRESP Packet has no payload.
24 | */
25 | public struct PingRespPacket: Packet {
| `- note: consider making struct 'PingRespPacket' conform to the 'Sendable' protocol
26 |
27 | var fixedHeader: FixedHeader
[108/111] Compiling Mqtt DDLog.swift
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/DDLog.swift:32:5: warning: var 'logLevel' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
30 | }
31 |
32 | var logLevel: ETLogLevel = .verbose
| |- warning: var 'logLevel' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logLevel' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 |
34 | func DDLogVerbose(_ format: CustomStringConvertible) {
[109/111] Compiling Mqtt Extension.swift
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/DDLog.swift:32:5: warning: var 'logLevel' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
30 | }
31 |
32 | var logLevel: ETLogLevel = .verbose
| |- warning: var 'logLevel' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logLevel' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 |
34 | func DDLogVerbose(_ format: CustomStringConvertible) {
[110/111] Compiling Mqtt UnsubscribePacket.swift
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:84:16: warning: static property 'SendKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<String>' may have shared mutable state; this is an error in the Swift 6 language mode
82 | private struct QueueSpecifi {
83 |
84 | static let SendKey = DispatchSpecificKey<String>()
| `- warning: static property 'SendKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<String>' may have shared mutable state; this is an error in the Swift 6 language mode
85 |
86 | static let SendValue = "SEND_QUEUE_SPECIFI_VALUE"
Dispatch.DispatchSpecificKey:1:20: note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
1 | final public class DispatchSpecificKey<T> {
| `- note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
2 | public init()
3 | @objc deinit
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
8 |
9 | import Foundation
10 | import Dispatch
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
11 | import Sockets
12 |
:
82 | private struct QueueSpecifi {
83 |
84 | static let SendKey = DispatchSpecificKey<String>()
| |- note: annotate 'SendKey' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 |
86 | static let SendValue = "SEND_QUEUE_SPECIFI_VALUE"
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:88:16: warning: static property 'ReadKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<String>' may have shared mutable state; this is an error in the Swift 6 language mode
86 | static let SendValue = "SEND_QUEUE_SPECIFI_VALUE"
87 |
88 | static let ReadKey = DispatchSpecificKey<String>()
| |- warning: static property 'ReadKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<String>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'ReadKey' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
89 |
90 | static let ReadValue = "READ_QUEUE_SPECIFI_VALUE"
Dispatch.DispatchSpecificKey:1:20: note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
1 | final public class DispatchSpecificKey<T> {
| `- note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
2 | public init()
3 | @objc deinit
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:303:34: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
301 |
302 | // exec disconnect bolck in sendQueue
303 | sendQueue.async(execute: disconnectBlock)
| `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
304 | }
305 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:312:34: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
310 | fileprivate func startRecevie() {
311 | // read cicrle
312 | readQueue.async(execute: backgroundReciveLoop)
| `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
313 | }
314 |
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:335:21: warning: capture of 'self' with non-sendable type 'Session?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
93 | // MQTT Clietn session
94 | // implment send/recv
95 | final class Session {
| `- note: class 'Session' does not conform to the 'Sendable' protocol
96 |
97 | fileprivate var socket: TCPInternetSocket?
:
333 | if conack.returnCode == .accepted {
334 | sendQueue.async { [weak self] in
335 | self?.state = .accepted
| `- warning: capture of 'self' with non-sendable type 'Session?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
336 | self?.startHeartbeatTimer()
337 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:371:21: warning: capture of 'self' with non-sendable type 'Session?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
93 | // MQTT Clietn session
94 | // implment send/recv
95 | final class Session {
| `- note: class 'Session' does not conform to the 'Sendable' protocol
96 |
97 | fileprivate var socket: TCPInternetSocket?
:
369 | } else {
370 | sendQueue.async { [weak self] in
371 | self?.state = .denied
| `- warning: capture of 'self' with non-sendable type 'Session?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
372 | }
373 |
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:515:13: warning: variable 'buffer' was never mutated; consider changing to 'let' constant
513 | let readLength = 1
514 |
515 | var buffer = try socket.read(max: readLength)
| `- warning: variable 'buffer' was never mutated; consider changing to 'let' constant
516 | guard readLength == buffer.count else {
517 | throw SessionError.closeByServer
[111/111] Compiling Mqtt Session.swift
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:84:16: warning: static property 'SendKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<String>' may have shared mutable state; this is an error in the Swift 6 language mode
82 | private struct QueueSpecifi {
83 |
84 | static let SendKey = DispatchSpecificKey<String>()
| `- warning: static property 'SendKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<String>' may have shared mutable state; this is an error in the Swift 6 language mode
85 |
86 | static let SendValue = "SEND_QUEUE_SPECIFI_VALUE"
Dispatch.DispatchSpecificKey:1:20: note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
1 | final public class DispatchSpecificKey<T> {
| `- note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
2 | public init()
3 | @objc deinit
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
8 |
9 | import Foundation
10 | import Dispatch
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
11 | import Sockets
12 |
:
82 | private struct QueueSpecifi {
83 |
84 | static let SendKey = DispatchSpecificKey<String>()
| |- note: annotate 'SendKey' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 |
86 | static let SendValue = "SEND_QUEUE_SPECIFI_VALUE"
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:88:16: warning: static property 'ReadKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<String>' may have shared mutable state; this is an error in the Swift 6 language mode
86 | static let SendValue = "SEND_QUEUE_SPECIFI_VALUE"
87 |
88 | static let ReadKey = DispatchSpecificKey<String>()
| |- warning: static property 'ReadKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<String>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'ReadKey' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
89 |
90 | static let ReadValue = "READ_QUEUE_SPECIFI_VALUE"
Dispatch.DispatchSpecificKey:1:20: note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
1 | final public class DispatchSpecificKey<T> {
| `- note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
2 | public init()
3 | @objc deinit
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:303:34: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
301 |
302 | // exec disconnect bolck in sendQueue
303 | sendQueue.async(execute: disconnectBlock)
| `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
304 | }
305 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:312:34: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
310 | fileprivate func startRecevie() {
311 | // read cicrle
312 | readQueue.async(execute: backgroundReciveLoop)
| `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
313 | }
314 |
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:335:21: warning: capture of 'self' with non-sendable type 'Session?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
93 | // MQTT Clietn session
94 | // implment send/recv
95 | final class Session {
| `- note: class 'Session' does not conform to the 'Sendable' protocol
96 |
97 | fileprivate var socket: TCPInternetSocket?
:
333 | if conack.returnCode == .accepted {
334 | sendQueue.async { [weak self] in
335 | self?.state = .accepted
| `- warning: capture of 'self' with non-sendable type 'Session?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
336 | self?.startHeartbeatTimer()
337 | }
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:371:21: warning: capture of 'self' with non-sendable type 'Session?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
93 | // MQTT Clietn session
94 | // implment send/recv
95 | final class Session {
| `- note: class 'Session' does not conform to the 'Sendable' protocol
96 |
97 | fileprivate var socket: TCPInternetSocket?
:
369 | } else {
370 | sendQueue.async { [weak self] in
371 | self?.state = .denied
| `- warning: capture of 'self' with non-sendable type 'Session?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
372 | }
373 |
/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Session/Session.swift:515:13: warning: variable 'buffer' was never mutated; consider changing to 'let' constant
513 | let readLength = 1
514 |
515 | var buffer = try socket.read(max: readLength)
| `- warning: variable 'buffer' was never mutated; consider changing to 'let' constant
516 | guard readLength == buffer.count else {
517 | throw SessionError.closeByServer
Build complete! (27.01s)
Fetching https://github.com/vapor/sockets
Fetching https://github.com/vapor/debugging.git
Fetching https://github.com/vapor/core.git
Fetching https://github.com/vapor/bits.git
[1/3312] Fetching sockets
[101/3572] Fetching sockets, debugging
[140/3930] Fetching sockets, debugging, bits
[510/24073] Fetching sockets, debugging, bits, core
Fetched https://github.com/vapor/bits.git from cache (0.87s)
[1390/23715] Fetching sockets, debugging, core
Fetched https://github.com/vapor/sockets from cache (1.67s)
Computing version for https://github.com/vapor/sockets
Fetched https://github.com/vapor/debugging.git from cache (1.67s)
Fetched https://github.com/vapor/core.git from cache (1.67s)
Computed https://github.com/vapor/sockets at 2.2.2 (0.74s)
Computing version for https://github.com/vapor/core.git
Computed https://github.com/vapor/core.git at 2.2.0 (0.68s)
Computing version for https://github.com/vapor/debugging.git
Computed https://github.com/vapor/debugging.git at 1.1.1 (0.67s)
Computing version for https://github.com/vapor/bits.git
Computed https://github.com/vapor/bits.git at 1.1.0 (0.69s)
Creating working copy for https://github.com/vapor/bits.git
Working copy of https://github.com/vapor/bits.git resolved at 1.1.0
Creating working copy for https://github.com/vapor/core.git
Working copy of https://github.com/vapor/core.git resolved at 2.2.0
Creating working copy for https://github.com/vapor/debugging.git
Working copy of https://github.com/vapor/debugging.git resolved at 1.1.1
Creating working copy for https://github.com/vapor/sockets
Working copy of https://github.com/vapor/sockets resolved at 2.2.2
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Examples': File not found.
Build complete.
{
"dependencies" : [
{
"identity" : "sockets",
"requirement" : {
"range" : [
{
"lower_bound" : "2.2.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/sockets"
}
],
"manifest_display_name" : "Mqtt",
"name" : "Mqtt",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Mqtt",
"targets" : [
"Mqtt"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "MqttTests",
"module_type" : "SwiftTarget",
"name" : "MqttTests",
"path" : "Tests/MqttTests",
"sources" : [
"MqttClientTests.swift",
"MqttPacketTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Mqtt"
],
"type" : "test"
},
{
"c99name" : "Mqtt",
"module_type" : "SwiftTarget",
"name" : "Mqtt",
"path" : "Sources/Mqtt",
"product_dependencies" : [
"Sockets"
],
"product_memberships" : [
"Mqtt"
],
"sources" : [
"DDLog.swift",
"Extension.swift",
"LocalStorage.swift",
"MqttClient.swift",
"Packet/ConnAckPacket.swift",
"Packet/ConnectPacket.swift",
"Packet/DisconnectPacket.swift",
"Packet/Packet.swift",
"Packet/PingReqPacket.swift",
"Packet/PingRespPacket.swift",
"Packet/PubAckPacket.swift",
"Packet/PubCompPacket.swift",
"Packet/PubRecPacket.swift",
"Packet/PubRelPacket.swift",
"Packet/PublishPacket.swift",
"Packet/SubAckPacket.swift",
"Packet/SubscribePacket.swift",
"Packet/UnsubAckPacket.swift",
"Packet/UnsubscribePacket.swift",
"Session/Session.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Sources/Mqtt/Examples': File not found.
Done.