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 NIOAsyncWebSockets, reference main (308eff), with Swift 6.1 for Linux on 28 Apr 2025 02:03:28 UTC.

Swift 6 data race errors: 2

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/samalone/nio-async-websockets.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/samalone/nio-async-websockets
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 308eff3 Add link to API documentation
Cloned https://github.com/samalone/nio-async-websockets.git
Revision (git rev-parse @):
308eff3b3b05d492398e8b2d775bf804c64ec138
SUCCESS checkout https://github.com/samalone/nio-async-websockets.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/samalone/nio-async-websockets.git
https://github.com/samalone/nio-async-websockets.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.12.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "NIOAsyncWebSockets",
  "name" : "NIOAsyncWebSockets",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "NIOAsyncWebSockets",
      "targets" : [
        "NIOAsyncWebSockets"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "NIOAsyncWebSocketsTests",
      "module_type" : "SwiftTarget",
      "name" : "NIOAsyncWebSocketsTests",
      "path" : "Tests/NIOAsyncWebSocketsTests",
      "sources" : [
        "NIOAsyncWebSocketsTests.swift"
      ],
      "target_dependencies" : [
        "NIOAsyncWebSockets"
      ],
      "type" : "test"
    },
    {
      "c99name" : "NIOAsyncWebSockets",
      "module_type" : "SwiftTarget",
      "name" : "NIOAsyncWebSockets",
      "path" : "Sources/NIOAsyncWebSockets",
      "product_dependencies" : [
        "NIO",
        "NIOHTTP1",
        "NIOWebSocket",
        "NIOPosix"
      ],
      "product_memberships" : [
        "NIOAsyncWebSockets"
      ],
      "sources" : [
        "HTTPTypedPipelineSetup.swift",
        "NIOTypedHTTPClientUpgradeHandler.swift",
        "NIOTypedHTTPClientUpgraderStateMachine.swift",
        "NIOTypedHTTPServerUpgradeHandler.swift",
        "NIOTypedHTTPServerUpgraderStateMachine.swift",
        "NIOTypedPipelineSetup.swift",
        "NIOWebSocketClientUpgrader.swift",
        "NIOWebSocketServerUpgrader.swift",
        "SHA1.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-nio.git
[1/2049] Fetching swift-docc-plugin
[2050/77485] Fetching swift-docc-plugin, swift-nio
Fetched https://github.com/apple/swift-docc-plugin from cache (3.43s)
Fetched https://github.com/apple/swift-nio.git from cache (3.51s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.3 (5.33s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3377] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.33s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.83s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.82.0 (0.70s)
Fetching https://github.com/apple/swift-system.git
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/apple/swift-collections.git
[1/4353] Fetching swift-system
[176/6058] Fetching swift-system, swift-atomics
Fetched https://github.com/apple/swift-system.git from cache (0.32s)
[1/16242] Fetching swift-collections
Fetched https://github.com/apple/swift-atomics.git from cache (1.32s)
Fetched https://github.com/apple/swift-collections.git from cache (1.34s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (1.76s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.4.2 (0.42s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.4 (0.62s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.4.3
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.2.0
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.82.0
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.1.4
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.4.2
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/29] Write sources
[14/29] Compiling CNIOWindows shim.c
[15/29] Compiling CNIOWindows WSAStartup.c
[16/29] Compiling _AtomicsShims.c
[17/29] Compiling CNIOWASI CNIOWASI.c
[18/29] Compiling CNIOLLHTTP c_nio_http.c
[19/29] Compiling CNIOLinux liburing_shims.c
[20/29] Compiling CNIODarwin shim.c
[21/29] Write sources
[22/29] Compiling CNIOSHA1 c_nio_sha1.c
[23/29] Compiling CNIOLLHTTP c_nio_api.c
[24/29] Compiling CNIOLinux shim.c
[25/29] Write swift-version-24593BA9C3E375BF.txt
[25/29] Compiling CNIOLLHTTP c_nio_llhttp.c
[27/71] Compiling c-nioatomics.c
[29/71] Emitting module Atomics
[30/73] Compiling Atomics ManagedAtomic.swift
[31/73] Compiling Atomics ManagedAtomicLazyReference.swift
[32/73] Compiling Atomics AtomicMemoryOrderings.swift
[33/73] Compiling Atomics DoubleWord.swift
[34/75] Compiling Atomics IntegerOperations.swift
[35/75] Compiling Atomics Unmanaged extensions.swift
[36/75] Emitting module InternalCollectionsUtilities
[37/75] Compiling Atomics Primitives.shims.swift
[38/75] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+SE-0370.swift
[39/75] Compiling InternalCollectionsUtilities UnsafeMutablePointer+SE-0370.swift
[40/75] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[41/75] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[42/75] Compiling Atomics IntegerConformances.swift
[43/75] Compiling Atomics PointerConformances.swift
[44/75] Compiling InternalCollectionsUtilities _SortedCollection.swift
[45/75] Emitting module _NIOBase64
[46/75] Compiling _NIOBase64 Base64.swift
[47/75] Compiling Atomics AtomicReference.swift
[48/75] Compiling Atomics AtomicStorage.swift
[49/75] Compiling Atomics AtomicValue.swift
[50/76] Compiling _NIODataStructures _TinyArray.swift
[51/76] Compiling _NIODataStructures PriorityQueue.swift
[52/76] Compiling InternalCollectionsUtilities UInt+reversed.swift
[53/76] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[54/76] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[73/78] Compiling c-atomics.c
[77/99] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[78/99] Emitting module _NIODataStructures
[79/99] Compiling DequeModule Deque+Extras.swift
[80/99] Compiling DequeModule Deque+Hashable.swift
[81/99] Compiling _NIODataStructures Heap.swift
[82/102] Compiling NIOConcurrencyHelpers lock.swift
[83/102] Compiling DequeModule _DequeBuffer.swift
[84/102] Compiling DequeModule _DequeBufferHeader.swift
[85/102] Compiling DequeModule Deque+Equatable.swift
[86/102] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[88/102] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[89/102] Compiling NIOConcurrencyHelpers NIOLock.swift
[90/102] Emitting module NIOConcurrencyHelpers
[91/102] Compiling NIOConcurrencyHelpers atomics.swift
[93/103] Compiling DequeModule Deque+Testing.swift
[94/103] Compiling DequeModule Deque._Storage.swift
[95/103] Compiling DequeModule Deque._UnsafeHandle.swift
[96/103] Compiling DequeModule Deque.swift
[97/103] Compiling DequeModule _DequeSlot.swift
[98/103] Compiling DequeModule _UnsafeWrappedBuffer.swift
[99/103] Compiling DequeModule Deque+CustomReflectable.swift
[100/103] Compiling DequeModule Deque+Descriptions.swift
[101/103] Compiling DequeModule Deque+Codable.swift
[102/103] Compiling DequeModule Deque+Collection.swift
[103/103] Emitting module DequeModule
[105/163] Compiling NIOCore GlobalSingletons.swift
[106/163] Compiling NIOCore IO.swift
[107/163] Compiling NIOCore IOData.swift
[108/163] Compiling NIOCore IPProtocol.swift
[109/163] Compiling NIOCore IntegerBitPacking.swift
[110/163] Compiling NIOCore IntegerTypes.swift
[111/163] Compiling NIOCore Interfaces.swift
[112/163] Compiling NIOCore Linux.swift
[113/171] Compiling NIOCore EventLoop.swift
[114/171] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[115/171] Compiling NIOCore EventLoopFuture+Deprecated.swift
[116/171] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[117/171] Compiling NIOCore EventLoopFuture.swift
[118/171] Compiling NIOCore FileDescriptor.swift
[119/171] Compiling NIOCore FileHandle.swift
[120/171] Compiling NIOCore FileRegion.swift
[121/171] Compiling NIOCore MarkedCircularBuffer.swift
[122/171] Compiling NIOCore MulticastChannel.swift
[123/171] Compiling NIOCore NIOAny.swift
[124/171] Compiling NIOCore NIOCloseOnErrorHandler.swift
[125/171] Compiling NIOCore NIOLoopBound.swift
[126/171] Compiling NIOCore NIOScheduledCallback.swift
[127/171] Compiling NIOCore NIOSendable.swift
[128/171] Compiling NIOCore RecvByteBufferAllocator.swift
[129/171] Compiling NIOCore ChannelPipeline.swift
[130/171] Compiling NIOCore CircularBuffer.swift
[131/171] Compiling NIOCore Codec.swift
[132/171] Compiling NIOCore ConvenienceOptionSupport.swift
[133/171] Compiling NIOCore DeadChannel.swift
[134/171] Compiling NIOCore DispatchQueue+WithFuture.swift
[135/171] Compiling NIOCore EventLoop+Deprecated.swift
[136/171] Compiling NIOCore EventLoop+SerialExecutor.swift
[137/171] Compiling NIOCore AddressedEnvelope.swift
[138/171] Compiling NIOCore AsyncAwaitSupport.swift
[139/171] Compiling NIOCore AsyncChannel.swift
[140/171] Compiling NIOCore AsyncChannelHandler.swift
[141/171] Compiling NIOCore AsyncChannelInboundStream.swift
[142/171] Compiling NIOCore AsyncChannelOutboundWriter.swift
[143/171] Compiling NIOCore NIOAsyncSequenceProducer.swift
[144/171] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[145/171] Compiling NIOCore NIOAsyncWriter.swift
[146/171] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[147/171] Compiling NIOCore SocketAddresses.swift
[148/171] Compiling NIOCore SocketOptionProvider.swift
[149/171] Compiling NIOCore SystemCallHelpers.swift
[150/171] Compiling NIOCore TimeAmount+Duration.swift
[151/171] Compiling NIOCore TypeAssistedChannelHandler.swift
[152/171] Compiling NIOCore UniversalBootstrapSupport.swift
[153/171] Compiling NIOCore Utilities.swift
[154/171] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[155/171] Compiling NIOCore BSDSocketAPI.swift
[156/171] Compiling NIOCore ByteBuffer-aux.swift
[157/171] Compiling NIOCore ByteBuffer-binaryEncodedLengthPrefix.swift
[158/171] Compiling NIOCore ByteBuffer-conversions.swift
[159/171] Compiling NIOCore ByteBuffer-core.swift
[160/171] Compiling NIOCore ByteBuffer-hex.swift
[161/171] Compiling NIOCore ByteBuffer-int.swift
[162/171] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[163/171] Compiling NIOCore ByteBuffer-multi-int.swift
[164/171] Compiling NIOCore ByteBuffer-quicBinaryEncodingStrategy.swift
[165/171] Compiling NIOCore ByteBuffer-views.swift
[166/171] Compiling NIOCore Channel.swift
[167/171] Compiling NIOCore ChannelHandler.swift
[168/171] Compiling NIOCore ChannelHandlers.swift
[169/171] Compiling NIOCore ChannelInvoker.swift
[170/171] Compiling NIOCore ChannelOption.swift
[171/171] Emitting module NIOCore
[173/223] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[174/223] Compiling NIOEmbedded AsyncTestingChannel.swift
[175/223] Compiling NIOEmbedded Embedded.swift
[176/223] Emitting module NIOEmbedded
[178/224] Emitting module NIOPosix
[179/230] Compiling NIOPosix PooledRecvBufferAllocator.swift
[180/230] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[181/230] Compiling NIOPosix PosixSingletons.swift
[182/230] Compiling NIOPosix RawSocketBootstrap.swift
[183/230] Compiling NIOPosix Resolver.swift
[184/230] Compiling NIOPosix Selectable.swift
[185/230] Compiling NIOPosix ServerSocket.swift
[186/230] Compiling NIOPosix Socket.swift
[187/230] Compiling NIOPosix SocketChannel.swift
[188/230] Compiling NIOPosix SocketProtocols.swift
[189/230] Compiling NIOPosix System.swift
[190/230] Compiling NIOPosix Thread.swift
[191/230] Compiling NIOPosix IO.swift
[192/230] Compiling NIOPosix IntegerBitPacking.swift
[193/230] Compiling NIOPosix IntegerTypes.swift
[194/230] Compiling NIOPosix Linux.swift
[195/230] Compiling NIOPosix LinuxCPUSet.swift
[196/230] Compiling NIOPosix LinuxUring.swift
[197/230] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[198/230] Compiling NIOPosix SelectableChannel.swift
[199/230] Compiling NIOPosix SelectableEventLoop.swift
[200/230] Compiling NIOPosix SelectorEpoll.swift
[201/230] Compiling NIOPosix SelectorGeneric.swift
[202/230] Compiling NIOPosix SelectorKqueue.swift
[203/230] Compiling NIOPosix SelectorUring.swift
[204/230] Compiling NIOPosix ThreadPosix.swift
[205/230] Compiling NIOPosix ThreadWindows.swift
[206/230] Compiling NIOPosix UnsafeTransfer.swift
[207/230] Compiling NIOPosix Utilities.swift
[208/230] Compiling NIOPosix VsockAddress.swift
[209/230] Compiling NIOPosix VsockChannelEvents.swift
[210/230] Compiling NIOPosix BSDSocketAPICommon.swift
[211/230] Compiling NIOPosix BSDSocketAPIPosix.swift
[212/230] Compiling NIOPosix BSDSocketAPIWindows.swift
[213/230] Compiling NIOPosix BaseSocket.swift
[214/230] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[215/230] Compiling NIOPosix BaseSocketChannel.swift
[216/230] Compiling NIOPosix BaseStreamSocketChannel.swift
[217/230] Compiling NIOPosix Bootstrap.swift
[218/230] Compiling NIOPosix ControlMessage.swift
[219/230] Compiling NIOPosix DatagramVectorReadManager.swift
[220/230] Compiling NIOPosix Errors+Any.swift
[221/230] Compiling NIOPosix FileDescriptor.swift
[222/230] Compiling NIOPosix GetaddrinfoResolver.swift
[223/230] Compiling NIOPosix HappyEyeballs.swift
[224/230] Compiling NIOPosix NIOThreadPool.swift
[225/230] Compiling NIOPosix NonBlockingFileIO.swift
[226/230] Compiling NIOPosix PendingDatagramWritesManager.swift
[227/230] Compiling NIOPosix PendingWritesManager.swift
[228/230] Compiling NIOPosix PipeChannel.swift
[229/230] Compiling NIOPosix PipePair.swift
[230/230] Compiling NIOPosix Pool.swift
[232/233] Compiling NIO Exports.swift
[233/233] Emitting module NIO
[235/250] Emitting module NIOHTTP1
[236/252] Compiling NIOHTTP1 NIOHTTPClientUpgradeHandler.swift
[237/252] Compiling NIOHTTP1 NIOHTTPObjectAggregator.swift
[238/252] Compiling NIOHTTP1 NIOTypedHTTPServerUpgradeHandler.swift
[239/252] Compiling NIOHTTP1 NIOTypedHTTPServerUpgraderStateMachine.swift
[240/252] Compiling NIOHTTP1 HTTPPipelineSetup.swift
[241/252] Compiling NIOHTTP1 HTTPServerPipelineHandler.swift
[242/252] Compiling NIOHTTP1 NIOTypedHTTPClientUpgradeHandler.swift
[243/252] Compiling NIOHTTP1 NIOTypedHTTPClientUpgraderStateMachine.swift
[244/252] Compiling NIOHTTP1 HTTPServerProtocolErrorHandler.swift
[245/252] Compiling NIOHTTP1 HTTPServerUpgradeHandler.swift
[246/252] Compiling NIOHTTP1 HTTPTypedPipelineSetup.swift
[247/252] Compiling NIOHTTP1 HTTPTypes.swift
[248/252] Compiling NIOHTTP1 HTTPHeaderValidator.swift
[249/252] Compiling NIOHTTP1 HTTPHeaders+Validation.swift
[250/252] Compiling NIOHTTP1 ByteCollectionUtils.swift
[251/252] Compiling NIOHTTP1 HTTPDecoder.swift
[252/252] Compiling NIOHTTP1 HTTPEncoder.swift
[254/263] Compiling NIOWebSocket WebSocketOpcode.swift
[255/264] Compiling NIOWebSocket WebSocketFrameEncoder.swift
[256/264] Compiling NIOWebSocket WebSocketProtocolErrorHandler.swift
[257/264] Compiling NIOWebSocket WebSocketErrorCodes.swift
[258/264] Compiling NIOWebSocket NIOWebSocketServerUpgrader.swift
[259/264] Compiling NIOWebSocket SHA1.swift
[260/264] Compiling NIOWebSocket NIOWebSocketClientUpgrader.swift
[261/264] Compiling NIOWebSocket NIOWebSocketFrameAggregator.swift
[262/264] Emitting module NIOWebSocket
[263/264] Compiling NIOWebSocket WebSocketFrame.swift
[264/264] Compiling NIOWebSocket WebSocketFrameDecoder.swift
[266/274] Compiling NIOAsyncWebSockets NIOWebSocketServerUpgrader.swift
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOWebSocketServerUpgrader.swift:294:31: warning: 'init(base64Encoding:)' is deprecated: This API was unintentionally made public.
292 |                 hasher.update(string: key)
293 |                 hasher.update(string: magicWebSocketGUID)
294 |                 acceptValue = String(base64Encoding: hasher.finish())
    |                               `- warning: 'init(base64Encoding:)' is deprecated: This API was unintentionally made public.
295 |             }
296 |
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOWebSocketServerUpgrader.swift:323:7: warning: type 'UpgradeResult' does not conform to the 'Sendable' protocol
303 | }
304 |
305 | private func _upgrade<UpgradeResult>(
    |                       `- note: consider making generic parameter 'UpgradeResult' conform to the 'Sendable' protocol
306 |     channel: Channel,
307 |     upgradeRequest: HTTPRequestHead,
    :
321 |             try channel.pipeline.syncOperations.addHandler(WebSocketProtocolErrorHandler())
322 |         }
323 |     }.flatMap {
    |       `- warning: type 'UpgradeResult' does not conform to the 'Sendable' protocol
324 |         upgradePipelineHandler(channel, upgradeRequest)
325 |     }
[267/275] Compiling NIOAsyncWebSockets NIOTypedHTTPServerUpgraderStateMachine.swift
[268/275] Compiling NIOAsyncWebSockets NIOWebSocketClientUpgrader.swift
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOWebSocketClientUpgrader.swift:148:16: warning: 'init(base64Encoding:)' is deprecated: This API was unintentionally made public.
146 |             UInt64.random(in: UInt64.min...UInt64.max, using: &generator)
147 |         )
148 |         return String(base64Encoding: buffer.readableBytesView)
    |                `- warning: 'init(base64Encoding:)' is deprecated: This API was unintentionally made public.
149 |     }
150 |     /// Generates a random WebSocket Request Key by generating 16 bytes randomly using the `SystemRandomNumberGenerator` and encoding them as a base64 string as defined in RFC6455 https://tools.ietf.org/html/rfc6455#section-4.1.
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOWebSocketClientUpgrader.swift:178:31: warning: 'init(base64Encoding:)' is deprecated: This API was unintentionally made public.
176 |     hasher.update(string: requestKey)
177 |     hasher.update(string: magicWebSocketGUID)
178 |     let expectedAcceptValue = String(base64Encoding: hasher.finish())
    |                               `- warning: 'init(base64Encoding:)' is deprecated: This API was unintentionally made public.
179 |
180 |     return expectedAcceptValue == acceptValueHeader[0]
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOWebSocketClientUpgrader.swift:199:6: warning: type 'UpgradeResult' does not conform to the 'Sendable' protocol
183 | /// Called when the upgrade response has been flushed and it is safe to mutate the channel
184 | /// pipeline. Adds channel handlers for websocket frame encoding, decoding and errors.
185 | private func _upgrade<UpgradeResult>(
    |                       `- note: consider making generic parameter 'UpgradeResult' conform to the 'Sendable' protocol
186 |     channel: Channel,
187 |     upgradeResponse: HTTPResponseHead,
    :
197 |         }
198 |     }
199 |     .flatMap {
    |      `- warning: type 'UpgradeResult' does not conform to the 'Sendable' protocol
200 |         upgradePipelineHandler(channel, upgradeResponse)
201 |     }
[269/275] Compiling NIOAsyncWebSockets NIOTypedHTTPServerUpgradeHandler.swift
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:162:21: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 74 | /// requests that we choose to punt on it entirely and not allow it. As it happens this is mostly fine:
 75 | /// the odds of someone needing to upgrade midway through the lifetime of a connection are very low.
 76 | public final class NIOTypedHTTPServerUpgradeHandler<UpgradeResult: Sendable>: ChannelInboundHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPServerUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias InboundIn = HTTPServerRequestPart
 78 |     public typealias InboundOut = HTTPServerRequestPart
    :
160 |                 .hop(to: context.eventLoop)
161 |                 .whenComplete { result in
162 |                     self.upgradingHandlerCompleted(context: context, result, requestHeadAndProtocol: nil)
    |                     `- warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
163 |                 }
164 |
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:162:61: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
160 |                 .hop(to: context.eventLoop)
161 |                 .whenComplete { result in
162 |                     self.upgradingHandlerCompleted(context: context, result, requestHeadAndProtocol: nil)
    |                                                             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
163 |                 }
164 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:174:17: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
172 |                 connectionHeader: connectionHeader
173 |             ).whenComplete { result in
174 |                 context.eventLoop.assertInEventLoop()
    |                 `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
175 |                 self.findingUpgradeCompleted(context: context, requestHead: head, result)
176 |             }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:175:17: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 74 | /// requests that we choose to punt on it entirely and not allow it. As it happens this is mostly fine:
 75 | /// the odds of someone needing to upgrade midway through the lifetime of a connection are very low.
 76 | public final class NIOTypedHTTPServerUpgradeHandler<UpgradeResult: Sendable>: ChannelInboundHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPServerUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias InboundIn = HTTPServerRequestPart
 78 |     public typealias InboundOut = HTTPServerRequestPart
    :
173 |             ).whenComplete { result in
174 |                 context.eventLoop.assertInEventLoop()
175 |                 self.findingUpgradeCompleted(context: context, requestHead: head, result)
    |                 `- warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
176 |             }
177 |
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:201:44: warning: type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
 74 | /// requests that we choose to punt on it entirely and not allow it. As it happens this is mostly fine:
 75 | /// the odds of someone needing to upgrade midway through the lifetime of a connection are very low.
 76 | public final class NIOTypedHTTPServerUpgradeHandler<UpgradeResult: Sendable>: ChannelInboundHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPServerUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias InboundIn = HTTPServerRequestPart
 78 |     public typealias InboundOut = HTTPServerRequestPart
    :
199 |             self.upgradeResultPromise.fail(error)
200 |             context.fireErrorCaught(error)
201 |             context.pipeline.removeHandler(self, promise: nil)
    |                                            `- warning: type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
202 |
203 |         case .fireErrorCaughtAndStartUnbuffering(let error):
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:220:44: warning: type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
 74 | /// requests that we choose to punt on it entirely and not allow it. As it happens this is mostly fine:
 75 | /// the odds of someone needing to upgrade midway through the lifetime of a connection are very low.
 76 | public final class NIOTypedHTTPServerUpgradeHandler<UpgradeResult: Sendable>: ChannelInboundHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPServerUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias InboundIn = HTTPServerRequestPart
 78 |     public typealias InboundOut = HTTPServerRequestPart
    :
218 |             }
219 |             self.upgradeResultPromise.succeed(value)
220 |             context.pipeline.removeHandler(self, promise: nil)
    |                                            `- warning: type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
221 |
222 |         case .none:
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:241:38: warning: type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 17 | /// An object that implements `NIOTypedHTTPServerProtocolUpgrader` knows how to handle HTTP upgrade to
 18 | /// a protocol on a server-side channel.
 19 | public protocol NIOTypedHTTPServerProtocolUpgrader<UpgradeResult> {
    |                 `- note: protocol 'NIOTypedHTTPServerProtocolUpgrader' does not conform to the 'Sendable' protocol
 20 |     associatedtype UpgradeResult
 21 |
    :
239 |         guard let proto = protocolIterator.next() else {
240 |             // We're done! No suitable protocol for upgrade.
241 |             return context.eventLoop.makeSucceededFuture(nil)
    |                                      `- warning: type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
242 |         }
243 |
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:261:10: warning: type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 17 | /// An object that implements `NIOTypedHTTPServerProtocolUpgrader` knows how to handle HTTP upgrade to
 18 | /// a protocol on a server-side channel.
 19 | public protocol NIOTypedHTTPServerProtocolUpgrader<UpgradeResult> {
    |                 `- note: protocol 'NIOTypedHTTPServerProtocolUpgrader' does not conform to the 'Sendable' protocol
 20 |     associatedtype UpgradeResult
 21 |
    :
259 |         .hop(to: context.eventLoop)
260 |         .map { (upgrader, $0, proto) }
261 |         .flatMapError { error in
    |          `- warning: type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
262 |             // No upgrade here. We want to fire the error down the pipeline, and then try another loop iteration.
263 |             context.fireErrorCaught(error)
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:260:17: warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
 17 | /// An object that implements `NIOTypedHTTPServerProtocolUpgrader` knows how to handle HTTP upgrade to
 18 | /// a protocol on a server-side channel.
 19 | public protocol NIOTypedHTTPServerProtocolUpgrader<UpgradeResult> {
    |                 `- note: protocol 'NIOTypedHTTPServerProtocolUpgrader' does not conform to the 'Sendable' protocol
 20 |     associatedtype UpgradeResult
 21 |
    :
258 |         )
259 |         .hop(to: context.eventLoop)
260 |         .map { (upgrader, $0, proto) }
    |                 `- warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
261 |         .flatMapError { error in
262 |             // No upgrade here. We want to fire the error down the pipeline, and then try another loop iteration.
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:263:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
261 |         .flatMapError { error in
262 |             // No upgrade here. We want to fire the error down the pipeline, and then try another loop iteration.
263 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
264 |             return self.handleUpgradeForProtocol(context: context, protocolIterator: protocolIterator, request: request, allHeaderNames: allHeaderNames, connectionHeader: connectionHeader)
265 |         }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:264:20: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 74 | /// requests that we choose to punt on it entirely and not allow it. As it happens this is mostly fine:
 75 | /// the odds of someone needing to upgrade midway through the lifetime of a connection are very low.
 76 | public final class NIOTypedHTTPServerUpgradeHandler<UpgradeResult: Sendable>: ChannelInboundHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPServerUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias InboundIn = HTTPServerRequestPart
 78 |     public typealias InboundOut = HTTPServerRequestPart
    :
262 |             // No upgrade here. We want to fire the error down the pipeline, and then try another loop iteration.
263 |             context.fireErrorCaught(error)
264 |             return self.handleUpgradeForProtocol(context: context, protocolIterator: protocolIterator, request: request, allHeaderNames: allHeaderNames, connectionHeader: connectionHeader)
    |                    `- warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
265 |         }
266 |     }
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:264:86: warning: reference to captured var 'protocolIterator' in concurrently-executing code
262 |             // No upgrade here. We want to fire the error down the pipeline, and then try another loop iteration.
263 |             context.fireErrorCaught(error)
264 |             return self.handleUpgradeForProtocol(context: context, protocolIterator: protocolIterator, request: request, allHeaderNames: allHeaderNames, connectionHeader: connectionHeader)
    |                                                                                      `- warning: reference to captured var 'protocolIterator' in concurrently-executing code
265 |         }
266 |     }
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:298:44: warning: type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
 74 | /// requests that we choose to punt on it entirely and not allow it. As it happens this is mostly fine:
 75 | /// the odds of someone needing to upgrade midway through the lifetime of a connection are very low.
 76 | public final class NIOTypedHTTPServerUpgradeHandler<UpgradeResult: Sendable>: ChannelInboundHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPServerUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias InboundIn = HTTPServerRequestPart
 78 |     public typealias InboundOut = HTTPServerRequestPart
    :
296 |             self.upgradeResultPromise.fail(error)
297 |             context.fireErrorCaught(error)
298 |             context.pipeline.removeHandler(self, promise: nil)
    |                                            `- warning: type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
299 |
300 |         case .none:
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:287:21: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 74 | /// requests that we choose to punt on it entirely and not allow it. As it happens this is mostly fine:
 75 | /// the odds of someone needing to upgrade midway through the lifetime of a connection are very low.
 76 | public final class NIOTypedHTTPServerUpgradeHandler<UpgradeResult: Sendable>: ChannelInboundHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPServerUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias InboundIn = HTTPServerRequestPart
 78 |     public typealias InboundOut = HTTPServerRequestPart
    :
285 |                 .hop(to: context.eventLoop)
286 |                 .whenComplete { result in
287 |                     self.upgradingHandlerCompleted(context: context, result, requestHeadAndProtocol: nil)
    |                     `- warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
288 |                 }
289 |
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:287:61: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
285 |                 .hop(to: context.eventLoop)
286 |                 .whenComplete { result in
287 |                     self.upgradingHandlerCompleted(context: context, result, requestHeadAndProtocol: nil)
    |                                                             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
288 |                 }
289 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:324:49: warning: conformance of 'HTTPResponseEncoder' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
322 |             self.sendUpgradeResponse(context: context, responseHeaders: responseHeaders)
323 |         }.flatMap {
324 |             context.pipeline.removeHandler(self.httpEncoder)
    |                                                 `- warning: conformance of 'HTTPResponseEncoder' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
325 |         }.flatMap { () -> EventLoopFuture<UpgradeResult> in
326 |             return upgrader.upgrade(channel: context.channel, upgradeRequest: requestHead)
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOHTTP1/HTTPEncoder.swift:344:1: note: conformance of 'HTTPResponseEncoder' to 'Sendable' has been explicitly marked unavailable here
342 |
343 | @available(*, unavailable)
344 | extension HTTPResponseEncoder: Sendable {}
    | `- note: conformance of 'HTTPResponseEncoder' to 'Sendable' has been explicitly marked unavailable here
345 |
346 | extension ByteBuffer {
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:322:13: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 74 | /// requests that we choose to punt on it entirely and not allow it. As it happens this is mostly fine:
 75 | /// the odds of someone needing to upgrade midway through the lifetime of a connection are very low.
 76 | public final class NIOTypedHTTPServerUpgradeHandler<UpgradeResult: Sendable>: ChannelInboundHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPServerUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias InboundIn = HTTPServerRequestPart
 78 |     public typealias InboundOut = HTTPServerRequestPart
    :
320 |         // then remove ourselves from the pipeline.
321 |         self.removeExtraHandlers(context: context).flatMap {
322 |             self.sendUpgradeResponse(context: context, responseHeaders: responseHeaders)
    |             `- warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
323 |         }.flatMap {
324 |             context.pipeline.removeHandler(self.httpEncoder)
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:322:47: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
320 |         // then remove ourselves from the pipeline.
321 |         self.removeExtraHandlers(context: context).flatMap {
322 |             self.sendUpgradeResponse(context: context, responseHeaders: responseHeaders)
    |                                               `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
323 |         }.flatMap {
324 |             context.pipeline.removeHandler(self.httpEncoder)
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:324:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
322 |             self.sendUpgradeResponse(context: context, responseHeaders: responseHeaders)
323 |         }.flatMap {
324 |             context.pipeline.removeHandler(self.httpEncoder)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
325 |         }.flatMap { () -> EventLoopFuture<UpgradeResult> in
326 |             return upgrader.upgrade(channel: context.channel, upgradeRequest: requestHead)
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:324:44: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 74 | /// requests that we choose to punt on it entirely and not allow it. As it happens this is mostly fine:
 75 | /// the odds of someone needing to upgrade midway through the lifetime of a connection are very low.
 76 | public final class NIOTypedHTTPServerUpgradeHandler<UpgradeResult: Sendable>: ChannelInboundHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPServerUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias InboundIn = HTTPServerRequestPart
 78 |     public typealias InboundOut = HTTPServerRequestPart
    :
322 |             self.sendUpgradeResponse(context: context, responseHeaders: responseHeaders)
323 |         }.flatMap {
324 |             context.pipeline.removeHandler(self.httpEncoder)
    |                                            `- warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
325 |         }.flatMap { () -> EventLoopFuture<UpgradeResult> in
326 |             return upgrader.upgrade(channel: context.channel, upgradeRequest: requestHead)
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:326:20: warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
 17 | /// An object that implements `NIOTypedHTTPServerProtocolUpgrader` knows how to handle HTTP upgrade to
 18 | /// a protocol on a server-side channel.
 19 | public protocol NIOTypedHTTPServerProtocolUpgrader<UpgradeResult> {
    |                 `- note: protocol 'NIOTypedHTTPServerProtocolUpgrader' does not conform to the 'Sendable' protocol
 20 |     associatedtype UpgradeResult
 21 |
    :
324 |             context.pipeline.removeHandler(self.httpEncoder)
325 |         }.flatMap { () -> EventLoopFuture<UpgradeResult> in
326 |             return upgrader.upgrade(channel: context.channel, upgradeRequest: requestHead)
    |                    `- warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
327 |         }.hop(to: context.eventLoop)
328 |         .whenComplete { result in
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:326:46: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
324 |             context.pipeline.removeHandler(self.httpEncoder)
325 |         }.flatMap { () -> EventLoopFuture<UpgradeResult> in
326 |             return upgrader.upgrade(channel: context.channel, upgradeRequest: requestHead)
    |                                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
327 |         }.hop(to: context.eventLoop)
328 |         .whenComplete { result in
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:329:13: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 74 | /// requests that we choose to punt on it entirely and not allow it. As it happens this is mostly fine:
 75 | /// the odds of someone needing to upgrade midway through the lifetime of a connection are very low.
 76 | public final class NIOTypedHTTPServerUpgradeHandler<UpgradeResult: Sendable>: ChannelInboundHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPServerUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias InboundIn = HTTPServerRequestPart
 78 |     public typealias InboundOut = HTTPServerRequestPart
    :
327 |         }.hop(to: context.eventLoop)
328 |         .whenComplete { result in
329 |             self.upgradingHandlerCompleted(context: context, result, requestHeadAndProtocol: (requestHead, proto))
    |             `- warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
330 |         }
331 |     }
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:329:53: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
327 |         }.hop(to: context.eventLoop)
328 |         .whenComplete { result in
329 |             self.upgradingHandlerCompleted(context: context, result, requestHeadAndProtocol: (requestHead, proto))
    |                                                     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
330 |         }
331 |     }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:351:91: warning: type 'any RemovableChannelHandler' does not conform to the 'Sendable' protocol
349 |         }
350 |
351 |         return .andAllSucceed(self.extraHTTPHandlers.map { context.pipeline.removeHandler($0) },
    |                                                                                           `- warning: type 'any RemovableChannelHandler' does not conform to the 'Sendable' protocol
352 |                               on: context.eventLoop)
353 |     }
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:363:48: warning: type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
 74 | /// requests that we choose to punt on it entirely and not allow it. As it happens this is mostly fine:
 75 | /// the odds of someone needing to upgrade midway through the lifetime of a connection are very low.
 76 | public final class NIOTypedHTTPServerUpgradeHandler<UpgradeResult: Sendable>: ChannelInboundHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPServerUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias InboundIn = HTTPServerRequestPart
 78 |     public typealias InboundOut = HTTPServerRequestPart
    :
361 |             case .fireChannelReadCompleteAndRemoveHandler:
362 |                 context.fireChannelReadComplete()
363 |                 context.pipeline.removeHandler(self, promise: nil)
    |                                                `- warning: type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
364 |                 return
365 |             }
[270/275] Compiling NIOAsyncWebSockets NIOTypedHTTPClientUpgraderStateMachine.swift
[271/275] Compiling NIOAsyncWebSockets SHA1.swift
[272/275] Emitting module NIOAsyncWebSockets
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:241:38: warning: type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 17 | /// An object that implements `NIOTypedHTTPServerProtocolUpgrader` knows how to handle HTTP upgrade to
 18 | /// a protocol on a server-side channel.
 19 | public protocol NIOTypedHTTPServerProtocolUpgrader<UpgradeResult> {
    |                 `- note: protocol 'NIOTypedHTTPServerProtocolUpgrader' does not conform to the 'Sendable' protocol
 20 |     associatedtype UpgradeResult
 21 |
    :
239 |         guard let proto = protocolIterator.next() else {
240 |             // We're done! No suitable protocol for upgrade.
241 |             return context.eventLoop.makeSucceededFuture(nil)
    |                                      `- warning: type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
242 |         }
243 |
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:261:10: warning: type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 17 | /// An object that implements `NIOTypedHTTPServerProtocolUpgrader` knows how to handle HTTP upgrade to
 18 | /// a protocol on a server-side channel.
 19 | public protocol NIOTypedHTTPServerProtocolUpgrader<UpgradeResult> {
    |                 `- note: protocol 'NIOTypedHTTPServerProtocolUpgrader' does not conform to the 'Sendable' protocol
 20 |     associatedtype UpgradeResult
 21 |
    :
259 |         .hop(to: context.eventLoop)
260 |         .map { (upgrader, $0, proto) }
261 |         .flatMapError { error in
    |          `- warning: type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
262 |             // No upgrade here. We want to fire the error down the pipeline, and then try another loop iteration.
263 |             context.fireErrorCaught(error)
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:260:17: warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
 17 | /// An object that implements `NIOTypedHTTPServerProtocolUpgrader` knows how to handle HTTP upgrade to
 18 | /// a protocol on a server-side channel.
 19 | public protocol NIOTypedHTTPServerProtocolUpgrader<UpgradeResult> {
    |                 `- note: protocol 'NIOTypedHTTPServerProtocolUpgrader' does not conform to the 'Sendable' protocol
 20 |     associatedtype UpgradeResult
 21 |
    :
258 |         )
259 |         .hop(to: context.eventLoop)
260 |         .map { (upgrader, $0, proto) }
    |                 `- warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
261 |         .flatMapError { error in
262 |             // No upgrade here. We want to fire the error down the pipeline, and then try another loop iteration.
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:263:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
261 |         .flatMapError { error in
262 |             // No upgrade here. We want to fire the error down the pipeline, and then try another loop iteration.
263 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
264 |             return self.handleUpgradeForProtocol(context: context, protocolIterator: protocolIterator, request: request, allHeaderNames: allHeaderNames, connectionHeader: connectionHeader)
265 |         }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:264:20: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 74 | /// requests that we choose to punt on it entirely and not allow it. As it happens this is mostly fine:
 75 | /// the odds of someone needing to upgrade midway through the lifetime of a connection are very low.
 76 | public final class NIOTypedHTTPServerUpgradeHandler<UpgradeResult: Sendable>: ChannelInboundHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPServerUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias InboundIn = HTTPServerRequestPart
 78 |     public typealias InboundOut = HTTPServerRequestPart
    :
262 |             // No upgrade here. We want to fire the error down the pipeline, and then try another loop iteration.
263 |             context.fireErrorCaught(error)
264 |             return self.handleUpgradeForProtocol(context: context, protocolIterator: protocolIterator, request: request, allHeaderNames: allHeaderNames, connectionHeader: connectionHeader)
    |                    `- warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
265 |         }
266 |     }
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:264:86: warning: reference to captured var 'protocolIterator' in concurrently-executing code
262 |             // No upgrade here. We want to fire the error down the pipeline, and then try another loop iteration.
263 |             context.fireErrorCaught(error)
264 |             return self.handleUpgradeForProtocol(context: context, protocolIterator: protocolIterator, request: request, allHeaderNames: allHeaderNames, connectionHeader: connectionHeader)
    |                                                                                      `- warning: reference to captured var 'protocolIterator' in concurrently-executing code
265 |         }
266 |     }
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOWebSocketClientUpgrader.swift:148:16: warning: 'init(base64Encoding:)' is deprecated: This API was unintentionally made public.
146 |             UInt64.random(in: UInt64.min...UInt64.max, using: &generator)
147 |         )
148 |         return String(base64Encoding: buffer.readableBytesView)
    |                `- warning: 'init(base64Encoding:)' is deprecated: This API was unintentionally made public.
149 |     }
150 |     /// Generates a random WebSocket Request Key by generating 16 bytes randomly using the `SystemRandomNumberGenerator` and encoding them as a base64 string as defined in RFC6455 https://tools.ietf.org/html/rfc6455#section-4.1.
[273/275] Compiling NIOAsyncWebSockets HTTPTypedPipelineSetup.swift
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/HTTPTypedPipelineSetup.swift:86:36: warning: capture of 'configuration' with non-sendable type 'NIOUpgradableHTTPServerPipelineConfiguration<UpgradeResult>' in a '@Sendable' closure
 18 |
 19 | /// Configuration for an upgradable HTTP pipeline.
 20 | public struct NIOUpgradableHTTPServerPipelineConfiguration<UpgradeResult: Sendable> {
    |               `- note: consider making generic struct 'NIOUpgradableHTTPServerPipelineConfiguration' conform to the 'Sendable' protocol
 21 |     /// Whether to provide assistance handling HTTP clients that pipeline
 22 |     /// their requests. Defaults to `true`. If `false`, users will need to handle clients that pipeline themselves.
    :
 84 |             future = self.eventLoop.submit {
 85 |                 try self.syncOperations.configureUpgradableHTTPServerPipeline(
 86 |                     configuration: configuration
    |                                    `- warning: capture of 'configuration' with non-sendable type 'NIOUpgradableHTTPServerPipelineConfiguration<UpgradeResult>' in a '@Sendable' closure
 87 |                 )
 88 |             }
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:194:44: warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
 74 | /// It will only upgrade to the protocol that is returned first in the list and does not currently
 75 | /// have the capability to upgrade to multiple simultaneous layered protocols.
 76 | public final class NIOTypedHTTPClientUpgradeHandler<UpgradeResult: Sendable>: ChannelDuplexHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPClientUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias OutboundIn = HTTPClientRequestPart
 78 |     public typealias OutboundOut = HTTPClientRequestPart
    :
192 |             self.upgradeResultPromise.fail(error)
193 |             context.fireErrorCaught(error)
194 |             context.pipeline.removeHandler(self, promise: nil)
    |                                            `- warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
195 |
196 |         case .runNotUpgradingInitializer:
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:200:21: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 74 | /// It will only upgrade to the protocol that is returned first in the list and does not currently
 75 | /// have the capability to upgrade to multiple simultaneous layered protocols.
 76 | public final class NIOTypedHTTPClientUpgradeHandler<UpgradeResult: Sendable>: ChannelDuplexHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPClientUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias OutboundIn = HTTPClientRequestPart
 78 |     public typealias OutboundOut = HTTPClientRequestPart
    :
198 |                 .hop(to: context.eventLoop)
199 |                 .whenComplete { result in
200 |                     self.upgradingHandlerCompleted(context: context, result)
    |                     `- warning: capture of 'self' with non-sendable type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
201 |                 }
202 |
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:200:61: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
198 |                 .hop(to: context.eventLoop)
199 |                 .whenComplete { result in
200 |                     self.upgradingHandlerCompleted(context: context, result)
    |                                                             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
201 |                 }
202 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:224:17: warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPClientProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
 18 | /// a protocol on a client-side channel.
 19 | /// It has the option of denying this upgrade based upon the server response.
 20 | public protocol NIOTypedHTTPClientProtocolUpgrader<UpgradeResult> {
    |                 `- note: protocol 'NIOTypedHTTPClientProtocolUpgrader' does not conform to the 'Sendable' protocol
 21 |     associatedtype UpgradeResult: Sendable
 22 |
    :
222 |         self.removeHTTPHandlers(context: context)
223 |             .flatMap {
224 |                 upgrader.upgrade(channel: context.channel, upgradeResponse: responseHead)
    |                 `- warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPClientProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
225 |             }.hop(to: context.eventLoop)
226 |             .whenComplete { result in
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:224:43: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
222 |         self.removeHTTPHandlers(context: context)
223 |             .flatMap {
224 |                 upgrader.upgrade(channel: context.channel, upgradeResponse: responseHead)
    |                                           `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
225 |             }.hop(to: context.eventLoop)
226 |             .whenComplete { result in
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:227:17: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 74 | /// It will only upgrade to the protocol that is returned first in the list and does not currently
 75 | /// have the capability to upgrade to multiple simultaneous layered protocols.
 76 | public final class NIOTypedHTTPClientUpgradeHandler<UpgradeResult: Sendable>: ChannelDuplexHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPClientUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias OutboundIn = HTTPClientRequestPart
 78 |     public typealias OutboundOut = HTTPClientRequestPart
    :
225 |             }.hop(to: context.eventLoop)
226 |             .whenComplete { result in
227 |                 self.upgradingHandlerCompleted(context: context, result)
    |                 `- warning: capture of 'self' with non-sendable type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
228 |             }
229 |     }
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:227:57: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
225 |             }.hop(to: context.eventLoop)
226 |             .whenComplete { result in
227 |                 self.upgradingHandlerCompleted(context: context, result)
    |                                                         `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
228 |             }
229 |     }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:239:44: warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
 74 | /// It will only upgrade to the protocol that is returned first in the list and does not currently
 75 | /// have the capability to upgrade to multiple simultaneous layered protocols.
 76 | public final class NIOTypedHTTPClientUpgradeHandler<UpgradeResult: Sendable>: ChannelDuplexHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPClientUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias OutboundIn = HTTPClientRequestPart
 78 |     public typealias OutboundOut = HTTPClientRequestPart
    :
237 |             self.upgradeResultPromise.fail(error)
238 |             context.fireErrorCaught(error)
239 |             context.pipeline.removeHandler(self, promise: nil)
    |                                            `- warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
240 |
241 |         case .fireErrorCaughtAndStartUnbuffering(let error):
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:252:44: warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
 74 | /// It will only upgrade to the protocol that is returned first in the list and does not currently
 75 | /// have the capability to upgrade to multiple simultaneous layered protocols.
 76 | public final class NIOTypedHTTPClientUpgradeHandler<UpgradeResult: Sendable>: ChannelDuplexHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPClientUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias OutboundIn = HTTPClientRequestPart
 78 |     public typealias OutboundOut = HTTPClientRequestPart
    :
250 |         case .removeHandler(let value):
251 |             self.upgradeResultPromise.succeed(value)
252 |             context.pipeline.removeHandler(self, promise: nil)
    |                                            `- warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
253 |
254 |         case .none:
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:267:48: warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
 74 | /// It will only upgrade to the protocol that is returned first in the list and does not currently
 75 | /// have the capability to upgrade to multiple simultaneous layered protocols.
 76 | public final class NIOTypedHTTPClientUpgradeHandler<UpgradeResult: Sendable>: ChannelDuplexHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPClientUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias OutboundIn = HTTPClientRequestPart
 78 |     public typealias OutboundOut = HTTPClientRequestPart
    :
265 |             case .fireChannelReadCompleteAndRemoveHandler:
266 |                 context.fireChannelReadComplete()
267 |                 context.pipeline.removeHandler(self, promise: nil)
    |                                                `- warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
268 |                 return
269 |             }
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:279:84: warning: type 'any RemovableChannelHandler' does not conform to the 'Sendable' protocol
277 |         }
278 |
279 |         let removeFutures = self.httpHandlers.map { context.pipeline.removeHandler($0) }
    |                                                                                    `- warning: type 'any RemovableChannelHandler' does not conform to the 'Sendable' protocol
280 |         return .andAllSucceed(removeFutures, on: context.eventLoop)
281 |     }
[274/275] Compiling NIOAsyncWebSockets NIOTypedHTTPClientUpgradeHandler.swift
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/HTTPTypedPipelineSetup.swift:86:36: warning: capture of 'configuration' with non-sendable type 'NIOUpgradableHTTPServerPipelineConfiguration<UpgradeResult>' in a '@Sendable' closure
 18 |
 19 | /// Configuration for an upgradable HTTP pipeline.
 20 | public struct NIOUpgradableHTTPServerPipelineConfiguration<UpgradeResult: Sendable> {
    |               `- note: consider making generic struct 'NIOUpgradableHTTPServerPipelineConfiguration' conform to the 'Sendable' protocol
 21 |     /// Whether to provide assistance handling HTTP clients that pipeline
 22 |     /// their requests. Defaults to `true`. If `false`, users will need to handle clients that pipeline themselves.
    :
 84 |             future = self.eventLoop.submit {
 85 |                 try self.syncOperations.configureUpgradableHTTPServerPipeline(
 86 |                     configuration: configuration
    |                                    `- warning: capture of 'configuration' with non-sendable type 'NIOUpgradableHTTPServerPipelineConfiguration<UpgradeResult>' in a '@Sendable' closure
 87 |                 )
 88 |             }
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:194:44: warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
 74 | /// It will only upgrade to the protocol that is returned first in the list and does not currently
 75 | /// have the capability to upgrade to multiple simultaneous layered protocols.
 76 | public final class NIOTypedHTTPClientUpgradeHandler<UpgradeResult: Sendable>: ChannelDuplexHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPClientUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias OutboundIn = HTTPClientRequestPart
 78 |     public typealias OutboundOut = HTTPClientRequestPart
    :
192 |             self.upgradeResultPromise.fail(error)
193 |             context.fireErrorCaught(error)
194 |             context.pipeline.removeHandler(self, promise: nil)
    |                                            `- warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
195 |
196 |         case .runNotUpgradingInitializer:
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:200:21: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 74 | /// It will only upgrade to the protocol that is returned first in the list and does not currently
 75 | /// have the capability to upgrade to multiple simultaneous layered protocols.
 76 | public final class NIOTypedHTTPClientUpgradeHandler<UpgradeResult: Sendable>: ChannelDuplexHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPClientUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias OutboundIn = HTTPClientRequestPart
 78 |     public typealias OutboundOut = HTTPClientRequestPart
    :
198 |                 .hop(to: context.eventLoop)
199 |                 .whenComplete { result in
200 |                     self.upgradingHandlerCompleted(context: context, result)
    |                     `- warning: capture of 'self' with non-sendable type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
201 |                 }
202 |
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:200:61: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
198 |                 .hop(to: context.eventLoop)
199 |                 .whenComplete { result in
200 |                     self.upgradingHandlerCompleted(context: context, result)
    |                                                             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
201 |                 }
202 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:224:17: warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPClientProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
 18 | /// a protocol on a client-side channel.
 19 | /// It has the option of denying this upgrade based upon the server response.
 20 | public protocol NIOTypedHTTPClientProtocolUpgrader<UpgradeResult> {
    |                 `- note: protocol 'NIOTypedHTTPClientProtocolUpgrader' does not conform to the 'Sendable' protocol
 21 |     associatedtype UpgradeResult: Sendable
 22 |
    :
222 |         self.removeHTTPHandlers(context: context)
223 |             .flatMap {
224 |                 upgrader.upgrade(channel: context.channel, upgradeResponse: responseHead)
    |                 `- warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPClientProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
225 |             }.hop(to: context.eventLoop)
226 |             .whenComplete { result in
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:224:43: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
222 |         self.removeHTTPHandlers(context: context)
223 |             .flatMap {
224 |                 upgrader.upgrade(channel: context.channel, upgradeResponse: responseHead)
    |                                           `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
225 |             }.hop(to: context.eventLoop)
226 |             .whenComplete { result in
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:227:17: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 74 | /// It will only upgrade to the protocol that is returned first in the list and does not currently
 75 | /// have the capability to upgrade to multiple simultaneous layered protocols.
 76 | public final class NIOTypedHTTPClientUpgradeHandler<UpgradeResult: Sendable>: ChannelDuplexHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPClientUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias OutboundIn = HTTPClientRequestPart
 78 |     public typealias OutboundOut = HTTPClientRequestPart
    :
225 |             }.hop(to: context.eventLoop)
226 |             .whenComplete { result in
227 |                 self.upgradingHandlerCompleted(context: context, result)
    |                 `- warning: capture of 'self' with non-sendable type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
228 |             }
229 |     }
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:227:57: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
225 |             }.hop(to: context.eventLoop)
226 |             .whenComplete { result in
227 |                 self.upgradingHandlerCompleted(context: context, result)
    |                                                         `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
228 |             }
229 |     }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:239:44: warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
 74 | /// It will only upgrade to the protocol that is returned first in the list and does not currently
 75 | /// have the capability to upgrade to multiple simultaneous layered protocols.
 76 | public final class NIOTypedHTTPClientUpgradeHandler<UpgradeResult: Sendable>: ChannelDuplexHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPClientUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias OutboundIn = HTTPClientRequestPart
 78 |     public typealias OutboundOut = HTTPClientRequestPart
    :
237 |             self.upgradeResultPromise.fail(error)
238 |             context.fireErrorCaught(error)
239 |             context.pipeline.removeHandler(self, promise: nil)
    |                                            `- warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
240 |
241 |         case .fireErrorCaughtAndStartUnbuffering(let error):
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:252:44: warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
 74 | /// It will only upgrade to the protocol that is returned first in the list and does not currently
 75 | /// have the capability to upgrade to multiple simultaneous layered protocols.
 76 | public final class NIOTypedHTTPClientUpgradeHandler<UpgradeResult: Sendable>: ChannelDuplexHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPClientUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias OutboundIn = HTTPClientRequestPart
 78 |     public typealias OutboundOut = HTTPClientRequestPart
    :
250 |         case .removeHandler(let value):
251 |             self.upgradeResultPromise.succeed(value)
252 |             context.pipeline.removeHandler(self, promise: nil)
    |                                            `- warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
253 |
254 |         case .none:
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:267:48: warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
 74 | /// It will only upgrade to the protocol that is returned first in the list and does not currently
 75 | /// have the capability to upgrade to multiple simultaneous layered protocols.
 76 | public final class NIOTypedHTTPClientUpgradeHandler<UpgradeResult: Sendable>: ChannelDuplexHandler, RemovableChannelHandler {
    |                    `- note: generic class 'NIOTypedHTTPClientUpgradeHandler' does not conform to the 'Sendable' protocol
 77 |     public typealias OutboundIn = HTTPClientRequestPart
 78 |     public typealias OutboundOut = HTTPClientRequestPart
    :
265 |             case .fireChannelReadCompleteAndRemoveHandler:
266 |                 context.fireChannelReadComplete()
267 |                 context.pipeline.removeHandler(self, promise: nil)
    |                                                `- warning: type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' does not conform to the 'Sendable' protocol
268 |                 return
269 |             }
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:279:84: warning: type 'any RemovableChannelHandler' does not conform to the 'Sendable' protocol
277 |         }
278 |
279 |         let removeFutures = self.httpHandlers.map { context.pipeline.removeHandler($0) }
    |                                                                                    `- warning: type 'any RemovableChannelHandler' does not conform to the 'Sendable' protocol
280 |         return .andAllSucceed(removeFutures, on: context.eventLoop)
281 |     }
[275/275] Compiling NIOAsyncWebSockets NIOTypedPipelineSetup.swift
/host/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedPipelineSetup.swift:67:36: warning: capture of 'configuration' with non-sendable type 'NIOUpgradableHTTPClientPipelineConfiguration<UpgradeResult>' in a '@Sendable' closure
 12 | // MARK: - Client pipeline configuration
 13 | /// Configuration for an upgradable HTTP pipeline.
 14 | public struct NIOUpgradableHTTPClientPipelineConfiguration<UpgradeResult: Sendable> {
    |               `- note: consider making generic struct 'NIOUpgradableHTTPClientPipelineConfiguration' conform to the 'Sendable' protocol
 15 |     /// The strategy to use when dealing with leftover bytes after removing the ``HTTPDecoder`` from the pipeline.
 16 |     public var leftOverBytesStrategy = RemoveAfterUpgradeStrategy.dropBytes
    :
 65 |             future = self.eventLoop.submit {
 66 |                 try self.syncOperations.configureUpgradableHTTPClientPipeline(
 67 |                     configuration: configuration
    |                                    `- warning: capture of 'configuration' with non-sendable type 'NIOUpgradableHTTPClientPipelineConfiguration<UpgradeResult>' in a '@Sendable' closure
 68 |                 )
 69 |             }
Build complete! (48.12s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.12.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "NIOAsyncWebSockets",
  "name" : "NIOAsyncWebSockets",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "NIOAsyncWebSockets",
      "targets" : [
        "NIOAsyncWebSockets"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "NIOAsyncWebSocketsTests",
      "module_type" : "SwiftTarget",
      "name" : "NIOAsyncWebSocketsTests",
      "path" : "Tests/NIOAsyncWebSocketsTests",
      "sources" : [
        "NIOAsyncWebSocketsTests.swift"
      ],
      "target_dependencies" : [
        "NIOAsyncWebSockets"
      ],
      "type" : "test"
    },
    {
      "c99name" : "NIOAsyncWebSockets",
      "module_type" : "SwiftTarget",
      "name" : "NIOAsyncWebSockets",
      "path" : "Sources/NIOAsyncWebSockets",
      "product_dependencies" : [
        "NIO",
        "NIOHTTP1",
        "NIOWebSocket",
        "NIOPosix"
      ],
      "product_memberships" : [
        "NIOAsyncWebSockets"
      ],
      "sources" : [
        "HTTPTypedPipelineSetup.swift",
        "NIOTypedHTTPClientUpgradeHandler.swift",
        "NIOTypedHTTPClientUpgraderStateMachine.swift",
        "NIOTypedHTTPServerUpgradeHandler.swift",
        "NIOTypedHTTPServerUpgraderStateMachine.swift",
        "NIOTypedPipelineSetup.swift",
        "NIOWebSocketClientUpgrader.swift",
        "NIOWebSocketServerUpgrader.swift",
        "SHA1.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.