This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 4

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/samalone/nio-async-websockets.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
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:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/samalone/nio-async-websockets.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
[1/1] Compiling plugin Swift-DocC
[2/2] Compiling plugin Swift-DocC Preview
Building for debugging...
[2/27] Write sources
[13/27] Compiling CNIOWindows shim.c
[13/27] Compiling CNIOWindows WSAStartup.c
[15/27] Compiling CNIOLinux liburing_shims.c
[16/27] Compiling CNIOLinux shim.c
[17/27] Write sources
[18/27] Write swift-version-6F35C1178C84523A.txt
[19/33] Compiling _AtomicsShims.c
[20/33] Compiling CNIODarwin shim.c
[21/33] Compiling CNIOSHA1 c_nio_sha1.c
[22/71] Compiling CNIOLLHTTP c_nio_llhttp.c
[23/71] Compiling CNIOLLHTTP c_nio_http.c
[24/71] Compiling CNIOLLHTTP c_nio_api.c
[25/71] Compiling c-nioatomics.c
[26/71] Compiling c-atomics.c
[28/77] Emitting module _NIOBase64
[29/77] Compiling _NIOBase64 Base64.swift
[30/77] Compiling Atomics UnsafeAtomic.swift
[31/77] Compiling Atomics UnsafeAtomicLazyReference.swift
[32/78] Compiling Atomics AtomicOptionalWrappable.swift
[33/78] Compiling Atomics AtomicReference.swift
[34/78] Compiling Atomics ManagedAtomic.swift
[35/78] Compiling Atomics ManagedAtomicLazyReference.swift
[36/78] Compiling Atomics PointerConformances.swift
[37/78] Compiling Atomics Primitives.native.swift
[38/78] Compiling DequeModule _UnsafeWrappedBuffer.swift
[39/78] Compiling Atomics AtomicStorage.swift
[40/78] Compiling Atomics AtomicValue.swift
[41/78] Compiling Atomics Primitives.shims.swift
[42/78] Compiling Atomics AtomicInteger.swift
[43/78] Compiling Atomics AtomicMemoryOrderings.swift
[44/78] Compiling Atomics DoubleWord.swift
[45/78] Compiling Atomics AtomicBool.swift
[46/78] Compiling Atomics IntegerConformances.swift
[51/80] Compiling _NIODataStructures PriorityQueue.swift
[52/80] Compiling _NIODataStructures _TinyArray.swift
[53/80] Compiling Atomics OptionalRawRepresentable.swift
[54/80] Compiling Atomics RawRepresentable.swift
[55/80] Emitting module DequeModule
[56/80] Emitting module _NIODataStructures
[57/80] Compiling _NIODataStructures Heap.swift
[68/80] Compiling Atomics IntegerOperations.swift
[69/80] Compiling Atomics Unmanaged extensions.swift
[74/80] Compiling NIOConcurrencyHelpers lock.swift
[75/80] Compiling NIOConcurrencyHelpers NIOLock.swift
[76/80] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[77/80] Emitting module NIOConcurrencyHelpers
[78/80] Compiling NIOConcurrencyHelpers atomics.swift
[79/80] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[80/80] Emitting module Atomics
[81/139] Compiling NIOCore Interfaces.swift
[82/139] Compiling NIOCore Linux.swift
[83/139] Compiling NIOCore MarkedCircularBuffer.swift
[84/139] Compiling NIOCore MulticastChannel.swift
[85/139] Compiling NIOCore NIOAny.swift
[86/139] Compiling NIOCore NIOCloseOnErrorHandler.swift
[87/145] Compiling NIOCore NIOLoopBound.swift
[88/145] Compiling NIOCore NIOSendable.swift
[89/145] Compiling NIOCore PointerHelpers.swift
[90/145] Compiling NIOCore RecvByteBufferAllocator.swift
[91/145] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[92/145] Compiling NIOCore SocketAddresses.swift
[93/145] Compiling NIOCore AddressedEnvelope.swift
[94/145] Compiling NIOCore AsyncAwaitSupport.swift
[95/145] Compiling NIOCore AsyncChannel.swift
[96/145] Compiling NIOCore AsyncChannelInboundStream.swift
[97/145] Compiling NIOCore AsyncChannelInboundStreamChannelHandler.swift
[98/145] Compiling NIOCore AsyncChannelOutboundWriter.swift
[99/145] Compiling NIOCore AsyncChannelOutboundWriterHandler.swift
[100/145] Compiling NIOCore SocketOptionProvider.swift
[101/145] Compiling NIOCore SystemCallHelpers.swift
[102/145] Compiling NIOCore TimeAmount+Duration.swift
[103/145] Compiling NIOCore TypeAssistedChannelHandler.swift
[104/145] Compiling NIOCore UniversalBootstrapSupport.swift
[105/145] Compiling NIOCore Utilities.swift
[106/145] Compiling NIOCore GlobalSingletons.swift
[107/145] Compiling NIOCore IO.swift
[108/145] Compiling NIOCore IOData.swift
[109/145] Compiling NIOCore IPProtocol.swift
[110/145] Compiling NIOCore IntegerBitPacking.swift
[111/145] Compiling NIOCore IntegerTypes.swift
[112/145] Compiling NIOCore NIOAsyncSequenceProducer.swift
[113/145] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[114/145] Compiling NIOCore NIOAsyncWriter.swift
[115/145] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[116/145] Compiling NIOCore BSDSocketAPI.swift
[117/145] Compiling NIOCore ByteBuffer-aux.swift
[118/145] Compiling NIOCore ByteBuffer-conversions.swift
[119/145] Compiling NIOCore ChannelHandler.swift
[120/145] Compiling NIOCore ChannelHandlers.swift
[121/145] Compiling NIOCore ChannelInvoker.swift
[122/145] Compiling NIOCore ChannelOption.swift
[123/145] Compiling NIOCore ChannelPipeline.swift
[124/145] Compiling NIOCore CircularBuffer.swift
[125/145] Compiling NIOCore Codec.swift
[126/145] Compiling NIOCore ConvenienceOptionSupport.swift
[127/145] Compiling NIOCore DeadChannel.swift
[128/145] Compiling NIOCore DispatchQueue+WithFuture.swift
[129/145] Compiling NIOCore EventLoop+Deprecated.swift
[130/145] Compiling NIOCore EventLoop+SerialExecutor.swift
[131/145] Compiling NIOCore EventLoop.swift
[132/145] Compiling NIOCore EventLoopFuture+Deprecated.swift
[133/145] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[134/145] Compiling NIOCore EventLoopFuture.swift
[135/145] Compiling NIOCore FileDescriptor.swift
[136/145] Compiling NIOCore FileHandle.swift
[137/145] Compiling NIOCore FileRegion.swift
[138/145] Compiling NIOCore ByteBuffer-core.swift
[139/145] Compiling NIOCore ByteBuffer-hexdump.swift
[140/145] Compiling NIOCore ByteBuffer-int.swift
[141/145] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[142/145] Compiling NIOCore ByteBuffer-multi-int.swift
[143/145] Compiling NIOCore ByteBuffer-views.swift
[144/145] Compiling NIOCore Channel.swift
[145/145] Emitting module NIOCore
[146/195] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[147/195] Compiling NIOEmbedded AsyncTestingChannel.swift
[148/195] Emitting module NIOEmbedded
[149/195] Compiling NIOEmbedded Embedded.swift
[150/195] Compiling NIOPosix BSDSocketAPICommon.swift
[151/195] Compiling NIOPosix BSDSocketAPIPosix.swift
[152/195] Compiling NIOPosix BSDSocketAPIWindows.swift
[153/195] Compiling NIOPosix BaseSocket.swift
[154/195] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[155/200] Compiling NIOPosix ThreadPosix.swift
[156/200] Compiling NIOPosix ThreadWindows.swift
[157/200] Compiling NIOPosix Utilities.swift
[158/200] Compiling NIOPosix VsockAddress.swift
[159/200] Compiling NIOPosix VsockChannelEvents.swift
[160/200] Compiling NIOPosix Socket.swift
[161/200] Compiling NIOPosix SocketChannel.swift
[162/200] Compiling NIOPosix SocketProtocols.swift
[163/200] Compiling NIOPosix System.swift
[164/200] Compiling NIOPosix Thread.swift
[165/200] Compiling NIOPosix PipePair.swift
[166/200] Compiling NIOPosix PointerHelpers.swift
[167/200] Compiling NIOPosix Pool.swift
[168/200] Compiling NIOPosix PooledRecvBufferAllocator.swift
[169/200] Compiling NIOPosix PosixSingletons.swift
[170/200] Compiling NIOPosix SelectorEpoll.swift
[171/200] Compiling NIOPosix SelectorGeneric.swift
[172/200] Compiling NIOPosix SelectorKqueue.swift
[173/200] Compiling NIOPosix SelectorUring.swift
[174/200] Compiling NIOPosix ServerSocket.swift
[175/200] Compiling NIOPosix NIOThreadPool.swift
[176/200] Compiling NIOPosix NonBlockingFileIO.swift
[177/200] Compiling NIOPosix PendingDatagramWritesManager.swift
[178/200] Compiling NIOPosix PendingWritesManager.swift
[179/200] Compiling NIOPosix PipeChannel.swift
[180/200] Emitting module NIOPosix
[181/200] Compiling NIOPosix RawSocketBootstrap.swift
[182/200] Compiling NIOPosix Resolver.swift
[183/200] Compiling NIOPosix Selectable.swift
[184/200] Compiling NIOPosix SelectableChannel.swift
[185/200] Compiling NIOPosix SelectableEventLoop.swift
[186/200] Compiling NIOPosix FileDescriptor.swift
[187/200] Compiling NIOPosix GetaddrinfoResolver.swift
[188/200] Compiling NIOPosix HappyEyeballs.swift
[189/200] Compiling NIOPosix IO.swift
[190/200] Compiling NIOPosix IntegerBitPacking.swift
[191/200] Compiling NIOPosix BaseSocketChannel.swift
[192/200] Compiling NIOPosix BaseStreamSocketChannel.swift
[193/200] Compiling NIOPosix Bootstrap.swift
[194/200] Compiling NIOPosix ControlMessage.swift
[195/200] Compiling NIOPosix DatagramVectorReadManager.swift
[196/200] Compiling NIOPosix IntegerTypes.swift
[197/200] Compiling NIOPosix Linux.swift
[198/200] Compiling NIOPosix LinuxCPUSet.swift
[199/200] Compiling NIOPosix LinuxUring.swift
[200/200] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[201/202] Compiling NIO Exports.swift
[202/202] Emitting module NIO
[203/219] Compiling NIOHTTP1 NIOTypedHTTPServerUpgradeHandler.swift
[204/219] Compiling NIOHTTP1 NIOTypedHTTPClientUpgraderStateMachine.swift
[205/220] Compiling NIOHTTP1 NIOHTTPObjectAggregator.swift
[206/220] Compiling NIOHTTP1 NIOTypedHTTPClientUpgradeHandler.swift
[207/220] Compiling NIOHTTP1 HTTPServerUpgradeHandler.swift
[208/220] Compiling NIOHTTP1 HTTPTypedPipelineSetup.swift
[209/220] Compiling NIOHTTP1 HTTPServerPipelineHandler.swift
[210/220] Compiling NIOHTTP1 HTTPServerProtocolErrorHandler.swift
[211/220] Compiling NIOHTTP1 HTTPHeaders+Validation.swift
[212/220] Compiling NIOHTTP1 HTTPPipelineSetup.swift
[213/220] Compiling NIOHTTP1 ByteCollectionUtils.swift
[214/220] Compiling NIOHTTP1 HTTPDecoder.swift
[215/220] Compiling NIOHTTP1 HTTPEncoder.swift
[216/220] Compiling NIOHTTP1 HTTPHeaderValidator.swift
[217/220] Emitting module NIOHTTP1
[218/220] Compiling NIOHTTP1 HTTPTypes.swift
[219/220] Compiling NIOHTTP1 NIOHTTPClientUpgradeHandler.swift
[220/220] Compiling NIOHTTP1 NIOTypedHTTPServerUpgraderStateMachine.swift
[221/230] Compiling NIOWebSocket WebSocketOpcode.swift
[222/231] Compiling NIOWebSocket WebSocketProtocolErrorHandler.swift
[223/231] Compiling NIOWebSocket SHA1.swift
[224/231] Compiling NIOWebSocket WebSocketFrameEncoder.swift
[225/231] Compiling NIOWebSocket WebSocketFrameDecoder.swift
[226/231] Compiling NIOWebSocket NIOWebSocketFrameAggregator.swift
[227/231] Compiling NIOWebSocket WebSocketErrorCodes.swift
[228/231] Compiling NIOWebSocket WebSocketFrame.swift
[229/231] Compiling NIOWebSocket NIOWebSocketServerUpgrader.swift
[230/231] Compiling NIOWebSocket NIOWebSocketClientUpgrader.swift
[231/231] Emitting module NIOWebSocket
[232/241] Compiling NIOAsyncWebSockets SHA1.swift
[233/241] Emitting module NIOAsyncWebSockets
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:260:17: warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' in a `@Sendable` closure; 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 |
    :
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; this is an error in the Swift 6 language mode
261 |         .flatMapError { error in
262 |             // No upgrade here. We want to fire the error down the pipeline, and then try another loop iteration.
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:263:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
264 |             return self.handleUpgradeForProtocol(context: context, protocolIterator: protocolIterator, request: request, allHeaderNames: allHeaderNames, connectionHeader: connectionHeader)
265 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:264:20: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
265 |         }
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:264:86: warning: reference to captured var 'protocolIterator' in concurrently-executing code; 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)
264 |             return self.handleUpgradeForProtocol(context: context, protocolIterator: protocolIterator, request: request, allHeaderNames: allHeaderNames, connectionHeader: connectionHeader)
    |                                                                                      `- warning: reference to captured var 'protocolIterator' in concurrently-executing code; this is an error in the Swift 6 language mode
265 |         }
266 |     }
[234/241] Compiling NIOAsyncWebSockets NIOTypedPipelineSetup.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedPipelineSetup.swift:67:36: warning: capture of 'configuration' with non-sendable type 'NIOUpgradableHTTPClientPipelineConfiguration<UpgradeResult>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
 68 |                 )
 69 |             }
[235/241] Compiling NIOAsyncWebSockets NIOTypedHTTPServerUpgraderStateMachine.swift
[236/241] Compiling NIOAsyncWebSockets NIOTypedHTTPServerUpgradeHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:162:21: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
163 |                 }
164 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:162:61: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
163 |                 }
164 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:174:17: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
172 |                 connectionHeader: connectionHeader
173 |             ).whenComplete { result in
174 |                 context.eventLoop.assertInEventLoop()
    |                 `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 |                 self.findingUpgradeCompleted(context: context, requestHead: head, result)
176 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:175:17: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
176 |             }
177 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:260:17: warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' in a `@Sendable` closure; 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 |
    :
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; this is an error in the Swift 6 language mode
261 |         .flatMapError { error in
262 |             // No upgrade here. We want to fire the error down the pipeline, and then try another loop iteration.
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:263:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
264 |             return self.handleUpgradeForProtocol(context: context, protocolIterator: protocolIterator, request: request, allHeaderNames: allHeaderNames, connectionHeader: connectionHeader)
265 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:264:20: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
265 |         }
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:264:86: warning: reference to captured var 'protocolIterator' in concurrently-executing code; 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)
264 |             return self.handleUpgradeForProtocol(context: context, protocolIterator: protocolIterator, request: request, allHeaderNames: allHeaderNames, connectionHeader: connectionHeader)
    |                                                                                      `- warning: reference to captured var 'protocolIterator' in concurrently-executing code; this is an error in the Swift 6 language mode
265 |         }
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:287:21: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
288 |                 }
289 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:287:61: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
288 |                 }
289 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:322:13: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
323 |         }.flatMap {
324 |             context.pipeline.removeHandler(self.httpEncoder)
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:322:47: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
323 |         }.flatMap {
324 |             context.pipeline.removeHandler(self.httpEncoder)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:324:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; 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: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
325 |         }.flatMap { () -> EventLoopFuture<UpgradeResult> in
326 |             return upgrader.upgrade(channel: context.channel, upgradeRequest: requestHead)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:324:44: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
325 |         }.flatMap { () -> EventLoopFuture<UpgradeResult> in
326 |             return upgrader.upgrade(channel: context.channel, upgradeRequest: requestHead)
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:326:20: warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' in a `@Sendable` closure; 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 |
    :
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; this is an error in the Swift 6 language mode
327 |         }.hop(to: context.eventLoop)
328 |         .whenComplete { result in
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:326:46: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
327 |         }.hop(to: context.eventLoop)
328 |         .whenComplete { result in
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:329:13: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
330 |         }
331 |     }
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:329:53: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
330 |         }
331 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
[237/241] Compiling NIOAsyncWebSockets NIOWebSocketServerUpgrader.swift
[238/241] Compiling NIOAsyncWebSockets NIOWebSocketClientUpgrader.swift
[239/241] Compiling NIOAsyncWebSockets HTTPTypedPipelineSetup.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/HTTPTypedPipelineSetup.swift:86:36: warning: capture of 'configuration' with non-sendable type 'NIOUpgradableHTTPServerPipelineConfiguration<UpgradeResult>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
 87 |                 )
 88 |             }
[240/241] Compiling NIOAsyncWebSockets NIOTypedHTTPClientUpgraderStateMachine.swift
[241/241] Compiling NIOAsyncWebSockets NIOTypedHTTPClientUpgradeHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:200:21: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
201 |                 }
202 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:200:61: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
201 |                 }
202 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:224:17: warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPClientProtocolUpgrader<UpgradeResult>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
225 |             }.hop(to: context.eventLoop)
226 |             .whenComplete { result in
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:224:43: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
225 |             }.hop(to: context.eventLoop)
226 |             .whenComplete { result in
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:227:17: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
228 |             }
229 |     }
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:227:57: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
228 |             }
229 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
Build complete! (69.99s)
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-docc-symbolkit
Fetching https://github.com/apple/swift-nio.git
[1/1563] Fetching swift-atomics
[64/3021] Fetching swift-atomics, swift-docc-plugin
[449/17036] Fetching swift-atomics, swift-docc-plugin, swift-collections
[1876/19895] Fetching swift-atomics, swift-docc-plugin, swift-collections, swift-docc-symbolkit
[9970/85502] Fetching swift-atomics, swift-docc-plugin, swift-collections, swift-docc-symbolkit, swift-nio
Fetched https://github.com/apple/swift-collections.git from cache (5.13s)
Fetched https://github.com/apple/swift-nio.git from cache (5.13s)
Fetched https://github.com/apple/swift-atomics.git from cache (5.13s)
Fetched https://github.com/apple/swift-docc-symbolkit from cache (5.13s)
Fetched https://github.com/apple/swift-docc-plugin from cache (5.13s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.3.0 (0.94s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.62.0 (0.70s)
Computing version for https://github.com/apple/swift-docc-symbolkit
Computed https://github.com/apple/swift-docc-symbolkit at 1.0.0 (0.68s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.0.5 (0.63s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.50s)
Creating working copy for https://github.com/apple/swift-docc-symbolkit
Working copy of https://github.com/apple/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.3.0
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-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.0.5
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.62.0
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" : "/Users/admin/builder/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"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.