The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of Kitura-WebSocket, reference 2.1.200 (31ee0c), with Swift 6.0 for macOS (SPM) on 27 Nov 2024 21:12:13 UTC.

Swift 6 data race errors: 1

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Kitura/Kitura-WebSocket.git
Reference: 2.1.200
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Kitura/Kitura-WebSocket
 * tag               2.1.200    -> FETCH_HEAD
HEAD is now at 31ee0c2 Update package reference to community versions (#104)
Cloned https://github.com/Kitura/Kitura-WebSocket.git
Revision (git rev-parse @):
31ee0c22500569f81b262884f41710ce3ad540f5
SUCCESS checkout https://github.com/Kitura/Kitura-WebSocket.git at 2.1.200
Fetching https://github.com/IBM-Swift/Kitura-net.git
Fetching https://github.com/IBM-Swift/BlueCryptor.git
[1/1640] Fetching bluecryptor
[805/11184] Fetching bluecryptor, kitura-net
Fetched https://github.com/IBM-Swift/BlueCryptor.git from cache (1.55s)
Fetched https://github.com/IBM-Swift/Kitura-net.git from cache (1.55s)
Computing version for https://github.com/IBM-Swift/BlueCryptor.git
Computed https://github.com/IBM-Swift/BlueCryptor.git at 1.0.200 (0.59s)
Computing version for https://github.com/IBM-Swift/Kitura-net.git
Computed https://github.com/IBM-Swift/Kitura-net.git at 2.4.200 (0.57s)
Fetching https://github.com/Kitura/BlueSocket.git
Fetching https://github.com/Kitura/BlueSSLService.git
Fetching https://github.com/Kitura/LoggerAPI.git
[1/2088] Fetching bluesslservice
[106/2859] Fetching bluesslservice, loggerapi
[670/5801] Fetching bluesslservice, loggerapi, bluesocket
Fetched https://github.com/Kitura/BlueSocket.git from cache (1.28s)
Fetched https://github.com/Kitura/LoggerAPI.git from cache (1.28s)
Fetched https://github.com/Kitura/BlueSSLService.git from cache (1.28s)
Computing version for https://github.com/Kitura/BlueSSLService.git
Computed https://github.com/Kitura/BlueSSLService.git at 1.0.200 (0.60s)
Computing version for https://github.com/Kitura/BlueSocket.git
Computed https://github.com/Kitura/BlueSocket.git at 1.0.200 (0.57s)
Computing version for https://github.com/Kitura/LoggerAPI.git
Computed https://github.com/Kitura/LoggerAPI.git at 1.9.200 (0.56s)
Fetching https://github.com/apple/swift-log.git
[1/3702] Fetching swift-log
Fetched https://github.com/apple/swift-log.git from cache (6.38s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.2 (0.40s)
Creating working copy for https://github.com/IBM-Swift/BlueCryptor.git
Working copy of https://github.com/IBM-Swift/BlueCryptor.git resolved at 1.0.200
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.2
Creating working copy for https://github.com/Kitura/LoggerAPI.git
Working copy of https://github.com/Kitura/LoggerAPI.git resolved at 1.9.200
Creating working copy for https://github.com/Kitura/BlueSSLService.git
Working copy of https://github.com/Kitura/BlueSSLService.git resolved at 1.0.200
Creating working copy for https://github.com/IBM-Swift/Kitura-net.git
Working copy of https://github.com/IBM-Swift/Kitura-net.git resolved at 2.4.200
Creating working copy for https://github.com/Kitura/BlueSocket.git
Working copy of https://github.com/Kitura/BlueSocket.git resolved at 1.0.200
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "kitura-websocket",
      "name": "Kitura-WebSocket",
      "url": "https://github.com/Kitura/Kitura-WebSocket.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Kitura-WebSocket",
      "dependencies": [
        {
          "identity": "kitura-net",
          "name": "Kitura-net",
          "url": "https://github.com/IBM-Swift/Kitura-net.git",
          "version": "2.4.200",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Kitura-net",
          "dependencies": [
            {
              "identity": "loggerapi",
              "name": "LoggerAPI",
              "url": "https://github.com/Kitura/LoggerAPI.git",
              "version": "1.9.200",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/LoggerAPI",
              "dependencies": [
                {
                  "identity": "swift-log",
                  "name": "swift-log",
                  "url": "https://github.com/apple/swift-log.git",
                  "version": "1.6.2",
                  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-log",
                  "dependencies": [
                  ]
                }
              ]
            },
            {
              "identity": "bluesocket",
              "name": "Socket",
              "url": "https://github.com/Kitura/BlueSocket.git",
              "version": "1.0.200",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/BlueSocket",
              "dependencies": [
              ]
            },
            {
              "identity": "bluesslservice",
              "name": "SSLService",
              "url": "https://github.com/Kitura/BlueSSLService.git",
              "version": "1.0.200",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/BlueSSLService",
              "dependencies": [
                {
                  "identity": "bluesocket",
                  "name": "Socket",
                  "url": "https://github.com/Kitura/BlueSocket.git",
                  "version": "1.0.200",
                  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/BlueSocket",
                  "dependencies": [
                  ]
                }
              ]
            }
          ]
        },
        {
          "identity": "bluecryptor",
          "name": "Cryptor",
          "url": "https://github.com/IBM-Swift/BlueCryptor.git",
          "version": "1.0.200",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/BlueCryptor",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/Kitura/Kitura-WebSocket.git
[1/1836] Fetching kitura-websocket
Fetched https://github.com/Kitura/Kitura-WebSocket.git from cache (1.07s)
Fetching https://github.com/IBM-Swift/Kitura-net.git from cache
Fetching https://github.com/IBM-Swift/BlueCryptor.git from cache
Fetched https://github.com/IBM-Swift/Kitura-net.git from cache (0.57s)
Fetched https://github.com/IBM-Swift/BlueCryptor.git from cache (0.57s)
Computing version for https://github.com/IBM-Swift/BlueCryptor.git
Computed https://github.com/IBM-Swift/BlueCryptor.git at 1.0.200 (0.03s)
Computing version for https://github.com/IBM-Swift/Kitura-net.git
Computed https://github.com/IBM-Swift/Kitura-net.git at 2.4.200 (0.03s)
Fetching https://github.com/Kitura/BlueSocket.git from cache
Fetching https://github.com/Kitura/LoggerAPI.git from cache
Fetching https://github.com/Kitura/BlueSSLService.git from cache
Fetched https://github.com/Kitura/BlueSocket.git from cache (0.61s)
Fetched https://github.com/Kitura/BlueSSLService.git from cache (0.61s)
Fetched https://github.com/Kitura/LoggerAPI.git from cache (0.61s)
Computing version for https://github.com/Kitura/BlueSSLService.git
Computed https://github.com/Kitura/BlueSSLService.git at 1.0.200 (0.03s)
Computing version for https://github.com/Kitura/BlueSocket.git
Computed https://github.com/Kitura/BlueSocket.git at 1.0.200 (0.03s)
Computing version for https://github.com/Kitura/LoggerAPI.git
Computed https://github.com/Kitura/LoggerAPI.git at 1.9.200 (0.03s)
Fetching https://github.com/apple/swift-log.git from cache
Fetched https://github.com/apple/swift-log.git from cache (0.51s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.2 (0.02s)
Creating working copy for https://github.com/Kitura/BlueSocket.git
Working copy of https://github.com/Kitura/BlueSocket.git resolved at 1.0.200
Creating working copy for https://github.com/Kitura/LoggerAPI.git
Working copy of https://github.com/Kitura/LoggerAPI.git resolved at 1.9.200
Creating working copy for https://github.com/IBM-Swift/Kitura-net.git
Working copy of https://github.com/IBM-Swift/Kitura-net.git resolved at 2.4.200
Creating working copy for https://github.com/Kitura/BlueSSLService.git
Working copy of https://github.com/Kitura/BlueSSLService.git resolved at 1.0.200
Creating working copy for https://github.com/Kitura/Kitura-WebSocket.git
Working copy of https://github.com/Kitura/Kitura-WebSocket.git resolved at 2.1.200 (31ee0c2)
Creating working copy for https://github.com/IBM-Swift/BlueCryptor.git
Working copy of https://github.com/IBM-Swift/BlueCryptor.git resolved at 1.0.200
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.2
warning: '.resolve-product-dependencies': dependency 'kitura-websocket' is not used by any target
Found 2 product dependencies
  - Kitura-net
  - Cryptor
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/Kitura/Kitura-WebSocket.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/10] Write sources
[7/10] Write swift-version--7754E27361AE5C74.txt
[8/30] Compiling CHTTPParser utils.c
[9/30] Compiling CHTTPParser http_parser.c
[11/30] Compiling Logging MetadataProvider.swift
[12/30] Compiling Logging LogHandler.swift
[13/30] Compiling Logging Logging.swift
[14/30] Compiling Logging Locks.swift
[15/30] Emitting module Logging
[16/32] Emitting module LoggerAPI
[17/32] Compiling LoggerAPI Logger.swift
[18/32] Compiling Socket SocketProtocols.swift
[19/32] Compiling Cryptor Updatable.swift
[20/33] Compiling Socket Socket.swift
[21/33] Compiling Socket SocketUtils.swift
[22/33] Emitting module Socket
[23/33] Compiling Cryptor Digest.swift
[24/33] Compiling Cryptor HMAC.swift
[25/36] Compiling Cryptor Random.swift
[26/36] Compiling Cryptor Utilities.swift
[27/36] Compiling SSLService SSLPointerTricks.swift
[28/36] Emitting module SSLService
[29/36] Emitting module Cryptor
[30/36] Compiling Cryptor Crypto.swift
[31/36] Compiling Cryptor Cryptor.swift
[32/36] Compiling Cryptor KeyDerivation.swift
[33/36] Compiling Cryptor Status.swift
[34/36] Compiling Cryptor SSLPointerTricks.swift
[35/36] Compiling Cryptor StreamCryptor.swift
[36/36] Compiling SSLService SSLService.swift
[37/71] Compiling KituraNet IncomingSocketManager.swift
[38/71] Compiling KituraNet IncomingSocketProcessor.swift
[39/71] Compiling KituraNet IncomingSocketProcessorCreator.swift
[40/71] Compiling KituraNet ListenerGroup.swift
[41/74] Compiling KituraNet ServerOptions.swift
[42/74] Compiling KituraNet ServerRequest.swift
[43/74] Compiling KituraNet ServerResponse.swift
[44/74] Compiling KituraNet ServerLifecycleListener.swift
[45/74] Compiling KituraNet ServerMonitor.swift
[46/74] Compiling KituraNet ServerState.swift
[47/74] Compiling KituraNet ConnectionUpgrader.swift
[48/74] Compiling KituraNet Error.swift
[49/74] Compiling KituraNet FastCGI.swift
[50/74] Compiling KituraNet FastCGIRecordCreate.swift
[51/74] Compiling KituraNet IncomingHTTPSocketProcessor.swift
[52/74] Compiling KituraNet KeepAliveState.swift
[53/74] Compiling KituraNet HTTPParser.swift
[54/74] Compiling KituraNet HTTPParserStatus.swift
[55/74] Compiling KituraNet SPIUtils.swift
[56/74] Compiling KituraNet Server.swift
[57/74] Compiling KituraNet ServerDelegate.swift
[58/74] Emitting module KituraNet
[59/74] Compiling KituraNet BufferList.swift
[60/74] Compiling KituraNet ClientRequest.swift
[61/74] Compiling KituraNet ClientResponse.swift
[62/74] Compiling KituraNet ConnectionUpgradeFactory.swift
[63/74] Compiling KituraNet ParseResults.swift
[64/74] Compiling KituraNet URLParser.swift
[65/74] Compiling KituraNet HeadersContainer.swift
[66/74] Compiling KituraNet IncomingSocketHandler.swift
[67/74] Compiling KituraNet HTTP.swift
[68/74] Compiling KituraNet HTTPServer.swift
[69/74] Compiling KituraNet HTTPServerRequest.swift
[70/74] Compiling KituraNet HTTPServerResponse.swift
[71/74] Compiling KituraNet FastCGIRecordParser.swift
[72/74] Compiling KituraNet FastCGIServer.swift
[73/74] Compiling KituraNet FastCGIServerRequest.swift
[74/74] Compiling KituraNet FastCGIServerResponse.swift
[75/84] Compiling KituraWebSocket WebSocket.swift
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocket.swift:22:16: warning: static property 'factory' is not concurrency-safe because non-'Sendable' type 'WSConnectionUpgradeFactory' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// that will handle WebSocket connections for specific paths.
21 | public class WebSocket {
22 |     static let factory = WSConnectionUpgradeFactory()
   |                |- warning: static property 'factory' is not concurrency-safe because non-'Sendable' type 'WSConnectionUpgradeFactory' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'factory' 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
23 |
24 |     /// Register a `WebSocketService` for a specific path
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WSConnectionUpgradeFactory.swift:24:14: note: class 'WSConnectionUpgradeFactory' does not conform to the 'Sendable' protocol
 22 | /// The implementation of the ConnectionUpgradeFactory protocol for the WebSocket protocol.
 23 | /// Participates in the HTTP protocol upgrade process when upgarding to the WebSocket protocol.
 24 | public class WSConnectionUpgradeFactory: ConnectionUpgradeFactory {
    |              `- note: class 'WSConnectionUpgradeFactory' does not conform to the 'Sendable' protocol
 25 |     private var registry = Dictionary<String, WebSocketService>()
 26 |
[76/84] Compiling KituraWebSocket WSServerRequest.swift
[77/85] Compiling KituraWebSocket WebSocketService.swift
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketService.swift:23:35: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
21 | /// There can be many WebSocket connections connected to a single `WebSocketService` protocol instance.
22 | /// The protocol is a set of callbacks that are invoked when various events occur.
23 | public protocol WebSocketService: class {
   |                                   `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
24 |
25 |     /// Called when a WebSocket client connects to the server and is connected to a specific
[78/85] Compiling KituraWebSocket WebSocketError.swift
[79/85] Compiling KituraWebSocket WSFrameParser.swift
[80/85] Compiling KituraWebSocket WSSocketProcessor.swift
[81/85] Compiling KituraWebSocket WSFrame.swift
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WSFrame.swift:52:27: warning: initialization of 'UnsafeMutablePointer<UInt16>' results in a dangling pointer
50 |                 payloadLengthUInt16 = CFSwapInt16HostToBig(tempPayloadLengh)
51 |             #endif
52 |             let asBytes = UnsafeMutablePointer(&payloadLengthUInt16)
   |                           |                    |- note: implicit argument conversion from 'UInt16' to 'UnsafeMutablePointer<UInt16>' produces a pointer valid only for the duration of the call to 'init(_:)'
   |                           |                    `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
   |                           `- warning: initialization of 'UnsafeMutablePointer<UInt16>' results in a dangling pointer
53 |             #if swift(>=4.1)
54 |                 (UnsafeMutableRawPointer(mutating: bytes)+length+1).copyMemory(from: asBytes, byteCount: 2)
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WSFrame.swift:54:18: warning: initialization of 'UnsafeMutableRawPointer' results in a dangling pointer
52 |             let asBytes = UnsafeMutablePointer(&payloadLengthUInt16)
53 |             #if swift(>=4.1)
54 |                 (UnsafeMutableRawPointer(mutating: bytes)+length+1).copyMemory(from: asBytes, byteCount: 2)
   |                  |                                 |- note: implicit argument conversion from '[UInt8]' to 'UnsafeRawPointer' produces a pointer valid only for the duration of the call to 'init(mutating:)'
   |                  |                                 `- note: use the 'withUnsafeBytes' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
   |                  `- warning: initialization of 'UnsafeMutableRawPointer' results in a dangling pointer
55 |             #else
56 |                 (UnsafeMutableRawPointer(mutating: bytes)+length+1).copyBytes(from: asBytes, count: 2)
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WSFrame.swift:68:27: warning: initialization of 'UnsafeMutablePointer<UInt32>' results in a dangling pointer
66 |                 payloadLengthUInt32 = CFSwapInt32HostToBig(tempPayloadLengh)
67 |             #endif
68 |             let asBytes = UnsafeMutablePointer(&payloadLengthUInt32)
   |                           |                    |- note: implicit argument conversion from 'UInt32' to 'UnsafeMutablePointer<UInt32>' produces a pointer valid only for the duration of the call to 'init(_:)'
   |                           |                    `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
   |                           `- warning: initialization of 'UnsafeMutablePointer<UInt32>' results in a dangling pointer
69 |             #if swift(>=4.1)
70 |                 (UnsafeMutableRawPointer(mutating: bytes)+length+5).copyMemory(from: asBytes, byteCount: 4)
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WSFrame.swift:70:18: warning: initialization of 'UnsafeMutableRawPointer' results in a dangling pointer
68 |             let asBytes = UnsafeMutablePointer(&payloadLengthUInt32)
69 |             #if swift(>=4.1)
70 |                 (UnsafeMutableRawPointer(mutating: bytes)+length+5).copyMemory(from: asBytes, byteCount: 4)
   |                  |                                 |- note: implicit argument conversion from '[UInt8]' to 'UnsafeRawPointer' produces a pointer valid only for the duration of the call to 'init(mutating:)'
   |                  |                                 `- note: use the 'withUnsafeBytes' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
   |                  `- warning: initialization of 'UnsafeMutableRawPointer' results in a dangling pointer
71 |             #else
72 |                 (UnsafeMutableRawPointer(mutating: bytes)+length+5).copyBytes(from: asBytes, count: 4)
[82/85] Compiling KituraWebSocket WebSocketCloseReasonCode.swift
[83/85] Compiling KituraWebSocket WSConnectionUpgradeFactory.swift
[84/85] Emitting module KituraWebSocket
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocket.swift:22:16: warning: static property 'factory' is not concurrency-safe because non-'Sendable' type 'WSConnectionUpgradeFactory' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// that will handle WebSocket connections for specific paths.
21 | public class WebSocket {
22 |     static let factory = WSConnectionUpgradeFactory()
   |                |- warning: static property 'factory' is not concurrency-safe because non-'Sendable' type 'WSConnectionUpgradeFactory' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'factory' 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
23 |
24 |     /// Register a `WebSocketService` for a specific path
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WSConnectionUpgradeFactory.swift:24:14: note: class 'WSConnectionUpgradeFactory' does not conform to the 'Sendable' protocol
 22 | /// The implementation of the ConnectionUpgradeFactory protocol for the WebSocket protocol.
 23 | /// Participates in the HTTP protocol upgrade process when upgarding to the WebSocket protocol.
 24 | public class WSConnectionUpgradeFactory: ConnectionUpgradeFactory {
    |              `- note: class 'WSConnectionUpgradeFactory' does not conform to the 'Sendable' protocol
 25 |     private var registry = Dictionary<String, WebSocketService>()
 26 |
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketService.swift:23:35: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
21 | /// There can be many WebSocket connections connected to a single `WebSocketService` protocol instance.
22 | /// The protocol is a set of callbacks that are invoked when various events occur.
23 | public protocol WebSocketService: class {
   |                                   `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
24 |
25 |     /// Called when a WebSocket client connects to the server and is connected to a specific
[85/85] Compiling KituraWebSocket WebSocketConnection.swift
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketConnection.swift:115:45: warning: initialization of 'UnsafePointer<CChar>' (aka 'UnsafePointer<Int8>') results in a dangling pointer
113 |                 // throw something?
114 |             }
115 |             let rawBytes = UnsafeRawPointer(UnsafePointer(utf8))
    |                                             |             |- note: implicit argument conversion from '[CChar]' (aka 'Array<Int8>') to 'UnsafePointer<CChar>' (aka 'UnsafePointer<Int8>') 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<CChar>' (aka 'UnsafePointer<Int8>') results in a dangling pointer
116 |             sendMessage(withOpCode: .ping, payload: rawBytes, payloadLength: count)
117 |         }
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketConnection.swift:149:41: warning: initialization of 'UnsafePointer<CChar>' (aka 'UnsafePointer<Int8>') results in a dangling pointer
147 |             // throw something?
148 |         }
149 |         let rawBytes = UnsafeRawPointer(UnsafePointer(utf8))
    |                                         |             |- note: implicit argument conversion from '[CChar]' (aka 'Array<Int8>') to 'UnsafePointer<CChar>' (aka 'UnsafePointer<Int8>') 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<CChar>' (aka 'UnsafePointer<Int8>') results in a dangling pointer
150 |         sendMessage(withOpCode: .text, payload: rawBytes, payloadLength: count)
151 |     }
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketConnection.swift:163:23: warning: initialization of 'UnsafeMutablePointer<UInt16>' results in a dangling pointer
161 |
162 |         let payload = NSMutableData()
163 |         let asBytes = UnsafeMutablePointer(&reasonCodeToSend)
    |                       |                    |- note: implicit argument conversion from 'UInt16' to 'UnsafeMutablePointer<UInt16>' produces a pointer valid only for the duration of the call to 'init(_:)'
    |                       |                    `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                       `- warning: initialization of 'UnsafeMutablePointer<UInt16>' results in a dangling pointer
164 |         payload.append(asBytes, length: 2)
165 |
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketConnection.swift:173:28: warning: initialization of 'UnsafePointer<CChar>' (aka 'UnsafePointer<Int8>') results in a dangling pointer
171 |                 // throw something?
172 |             }
173 |             payload.append(UnsafePointer(utf8), length: count)
    |                            |             |- note: implicit argument conversion from '[CChar]' (aka 'Array<Int8>') to 'UnsafePointer<CChar>' (aka 'UnsafePointer<Int8>') 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<CChar>' (aka 'UnsafePointer<Int8>') results in a dangling pointer
174 |         }
175 |
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketConnection.swift:190:37: warning: capture of 'self' with non-sendable type 'WebSocketConnection?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 29 | /// the connection and APIs to send messages and control commands to the client
 30 | /// at the other end of the connection.
 31 | public class WebSocketConnection {
    |              `- note: class 'WebSocketConnection' does not conform to the 'Sendable' protocol
 32 |     weak var processor: WSSocketProcessor?
 33 |
    :
188 |
189 |             callbackQueue.async { [weak self] in
190 |                 if let strongSelf = self {
    |                                     `- warning: capture of 'self' with non-sendable type 'WebSocketConnection?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
191 |                     strongSelf.service?.disconnected(connection: strongSelf, reason: reason)
192 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketConnection.swift:191:86: warning: capture of 'reason' with non-sendable type 'WebSocketCloseReasonCode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
189 |             callbackQueue.async { [weak self] in
190 |                 if let strongSelf = self {
191 |                     strongSelf.service?.disconnected(connection: strongSelf, reason: reason)
    |                                                                                      `- warning: capture of 'reason' with non-sendable type 'WebSocketCloseReasonCode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
192 |                 }
193 |             }
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketCloseReasonCode.swift:19:13: note: consider making enum 'WebSocketCloseReasonCode' conform to the 'Sendable' protocol
17 | /// The `WebSocketCloseReasonCode` enum defines the set of reason codes that a
18 | /// WebSocket application can send/receive when a connection is closed.
19 | public enum WebSocketCloseReasonCode {
   |             `- note: consider making enum 'WebSocketCloseReasonCode' conform to the 'Sendable' protocol
20 |     /// Closed abnormally (1006)
21 |     case closedAbnormally
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketConnection.swift:204:33: warning: capture of 'self' with non-sendable type 'WebSocketConnection?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 29 | /// the connection and APIs to send messages and control commands to the client
 30 | /// at the other end of the connection.
 31 | public class WebSocketConnection {
    |              `- note: class 'WebSocketConnection' does not conform to the 'Sendable' protocol
 32 |     weak var processor: WSSocketProcessor?
 33 |
    :
202 |
203 |         callbackQueue.async { [weak self] in
204 |             if let strongSelf = self {
    |                                 `- warning: capture of 'self' with non-sendable type 'WebSocketConnection?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
205 |                 service.connected(connection: strongSelf)
206 |             }
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketConnection.swift:205:17: warning: capture of 'service' with non-sendable type 'any WebSocketService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
203 |         callbackQueue.async { [weak self] in
204 |             if let strongSelf = self {
205 |                 service.connected(connection: strongSelf)
    |                 `- warning: capture of 'service' with non-sendable type 'any WebSocketService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
206 |             }
207 |         }
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketService.swift:23:17: note: protocol 'WebSocketService' does not conform to the 'Sendable' protocol
21 | /// There can be many WebSocket connections connected to a single `WebSocketService` protocol instance.
22 | /// The protocol is a set of callbacks that are invoked when various events occur.
23 | public protocol WebSocketService: class {
   |                 `- note: protocol 'WebSocketService' does not conform to the 'Sendable' protocol
24 |
25 |     /// Called when a WebSocket client connects to the server and is connected to a specific
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketConnection.swift:250:21: warning: using '_' to ignore the result of a Void-returning function is redundant
248 |
249 |                     var closeMessage = Data(referencing: frame.payload)
250 |                     _ = closeMessage.removeFirst(2)
    |                     `- warning: using '_' to ignore the result of a Void-returning function is redundant
251 |                     description = String(data: closeMessage, encoding: .utf8)
252 |                     if description == nil {
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketConnection.swift:224:41: warning: capture of 'self' with non-sendable type 'WebSocketConnection?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 29 | /// the connection and APIs to send messages and control commands to the client
 30 | /// at the other end of the connection.
 31 | public class WebSocketConnection {
    |              `- note: class 'WebSocketConnection' does not conform to the 'Sendable' protocol
 32 |     weak var processor: WSSocketProcessor?
 33 |
    :
222 |                 let data = Data(bytes: frame.payload.bytes, count: frame.payload.length)
223 |                 callbackQueue.async { [weak self] in
224 |                     if let strongSelf = self {
    |                                         `- warning: capture of 'self' with non-sendable type 'WebSocketConnection?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
225 |                         strongSelf.service?.received(message: data, from: strongSelf)
226 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketConnection.swift:278:45: warning: capture of 'self' with non-sendable type 'WebSocketConnection?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 29 | /// the connection and APIs to send messages and control commands to the client
 30 | /// at the other end of the connection.
 31 | public class WebSocketConnection {
    |              `- note: class 'WebSocketConnection' does not conform to the 'Sendable' protocol
 32 |     weak var processor: WSSocketProcessor?
 33 |
    :
276 |                     let data = Data(bytes: message.bytes, count: message.length)
277 |                     callbackQueue.async { [weak self] in
278 |                         if let strongSelf = self {
    |                                             `- warning: capture of 'self' with non-sendable type 'WebSocketConnection?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
279 |                             strongSelf.service?.received(message: data, from: strongSelf)
280 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/KituraWebSocket/WebSocketConnection.swift:328:33: warning: capture of 'self' with non-sendable type 'WebSocketConnection?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 29 | /// the connection and APIs to send messages and control commands to the client
 30 | /// at the other end of the connection.
 31 | public class WebSocketConnection {
    |              `- note: class 'WebSocketConnection' does not conform to the 'Sendable' protocol
 32 |     weak var processor: WSSocketProcessor?
 33 |
    :
326 |         }
327 |         callbackQueue.async { [weak self] in
328 |             if let strongSelf = self {
    |                                 `- warning: capture of 'self' with non-sendable type 'WebSocketConnection?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
329 |                 strongSelf.service?.received(message: text, from: strongSelf)
330 |             }
Build complete! (26.68s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "kitura-net",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.4.200",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/IBM-Swift/Kitura-net.git"
    },
    {
      "identity" : "bluecryptor",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.200",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/IBM-Swift/BlueCryptor.git"
    }
  ],
  "manifest_display_name" : "Kitura-WebSocket",
  "name" : "Kitura-WebSocket",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Kitura-WebSocket",
      "targets" : [
        "KituraWebSocket"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "KituraWebSocketTests",
      "module_type" : "SwiftTarget",
      "name" : "KituraWebSocketTests",
      "path" : "Tests/KituraWebSocketTests",
      "sources" : [
        "BasicTests.swift",
        "ComplexTests.swift",
        "ConnectionCleanupTests.swift",
        "KituraTest+Frames.swift",
        "KituraTest.swift",
        "PrintLogger.swift",
        "ProtocolErrorTests.swift",
        "TestLinuxSafeguard.swift",
        "TestWebSocketService.swift",
        "UpgradeErrors.swift"
      ],
      "target_dependencies" : [
        "KituraWebSocket"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KituraWebSocket",
      "module_type" : "SwiftTarget",
      "name" : "KituraWebSocket",
      "path" : "Sources/KituraWebSocket",
      "product_dependencies" : [
        "KituraNet",
        "Cryptor"
      ],
      "product_memberships" : [
        "Kitura-WebSocket"
      ],
      "sources" : [
        "WSConnectionUpgradeFactory.swift",
        "WSFrame.swift",
        "WSFrameParser.swift",
        "WSServerRequest.swift",
        "WSSocketProcessor.swift",
        "WebSocket.swift",
        "WebSocketCloseReasonCode.swift",
        "WebSocketConnection.swift",
        "WebSocketError.swift",
        "WebSocketService.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.