Build Information
Successful build of NIOAsyncWebSockets, reference 1.0.1 (a50f5f
), with Swift 6.1 for Linux on 28 Apr 2025 02:04:03 UTC.
Swift 6 data race errors: 2
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/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: 1.0.1
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
* tag 1.0.1 -> FETCH_HEAD
HEAD is now at a50f5f4 Remove @available and @_spi attributes
Cloned https://github.com/samalone/nio-async-websockets.git
Revision (git rev-parse @):
a50f5f4d1c0446d36b2bd3b157f7f845e1f0133e
SUCCESS checkout https://github.com/samalone/nio-async-websockets.git at 1.0.1
========================================
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-4606859-3":/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-nio.git
Fetching https://github.com/apple/swift-docc-plugin
[1/2049] Fetching swift-docc-plugin
[1600/77485] Fetching swift-docc-plugin, swift-nio
Fetched https://github.com/apple/swift-docc-plugin from cache (0.81s)
[3018/75436] Fetching swift-nio
Fetched https://github.com/apple/swift-nio.git from cache (8.06s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.3 (11.89s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3377] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.94s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (3.12s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.82.0 (1.49s)
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/apple/swift-system.git
Fetching https://github.com/apple/swift-collections.git
[1/1705] Fetching swift-atomics
[2/6058] Fetching swift-atomics, swift-system
[5123/22300] Fetching swift-atomics, swift-system, swift-collections
Fetched https://github.com/apple/swift-system.git from cache (0.63s)
[4629/17947] Fetching swift-atomics, swift-collections
Fetched https://github.com/apple/swift-atomics.git from cache (0.67s)
[3086/16242] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git from cache (1.75s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (2.36s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.4.2 (0.67s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.4 (1.16s)
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-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-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-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.4.2
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
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/29] Write sources
[14/29] Compiling CNIOWindows WSAStartup.c
[15/29] Compiling CNIOWindows shim.c
[16/29] Compiling CNIOWASI CNIOWASI.c
[17/29] Compiling _AtomicsShims.c
[18/29] Compiling CNIOLinux liburing_shims.c
[19/29] Compiling CNIODarwin shim.c
[20/29] Compiling CNIOSHA1 c_nio_sha1.c
[21/29] Write sources
[22/29] Compiling CNIOLLHTTP c_nio_http.c
[23/29] Compiling CNIOLLHTTP c_nio_api.c
[24/29] Compiling CNIOLinux shim.c
[25/29] Compiling CNIOLLHTTP c_nio_llhttp.c
[26/29] Write swift-version-24593BA9C3E375BF.txt
[28/71] Emitting module InternalCollectionsUtilities
[28/73] Compiling c-nioatomics.c
[30/73] Compiling Atomics AtomicMemoryOrderings.swift
[31/73] Compiling Atomics DoubleWord.swift
[32/73] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[33/73] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[34/73] Compiling Atomics Primitives.shims.swift
[35/73] Compiling Atomics AtomicInteger.swift
[36/73] Compiling Atomics AtomicOptionalWrappable.swift
[39/75] Compiling Atomics AtomicReference.swift
[40/75] Compiling Atomics AtomicStorage.swift
[43/75] Compiling InternalCollectionsUtilities Integer rank.swift
[44/75] Compiling InternalCollectionsUtilities UInt+first and last set bit.swift
[47/75] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[48/75] Compiling Atomics OptionalRawRepresentable.swift
[49/75] Compiling InternalCollectionsUtilities _SortedCollection.swift
[50/75] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[51/75] Compiling _NIOBase64 Base64.swift
[52/75] Emitting module _NIOBase64
[55/76] Compiling Atomics IntegerConformances.swift
[56/76] Compiling Atomics PointerConformances.swift
[57/76] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[65/77] Compiling _NIODataStructures PriorityQueue.swift
[66/77] Compiling _NIODataStructures _TinyArray.swift
[69/77] Compiling Atomics IntegerOperations.swift
[70/77] Compiling Atomics Unmanaged extensions.swift
[71/92] Emitting module Atomics
[72/92] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[73/92] Compiling DequeModule Deque+Extras.swift
[74/92] Compiling DequeModule Deque+Hashable.swift
[74/93] Compiling c-atomics.c
[77/99] Compiling DequeModule Deque+CustomReflectable.swift
[78/99] Compiling DequeModule Deque+Descriptions.swift
[79/101] Emitting module _NIODataStructures
[80/101] Compiling _NIODataStructures Heap.swift
[81/102] Compiling DequeModule Deque+Equatable.swift
[83/102] Compiling DequeModule _DequeBuffer.swift
[84/102] Compiling DequeModule _DequeBufferHeader.swift
[86/102] Compiling DequeModule _DequeSlot.swift
[87/102] Compiling DequeModule _UnsafeWrappedBuffer.swift
[88/102] Compiling NIOConcurrencyHelpers lock.swift
[91/102] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[92/102] Compiling NIOConcurrencyHelpers atomics.swift
[93/102] Compiling NIOConcurrencyHelpers NIOLock.swift
[94/102] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[95/102] Emitting module NIOConcurrencyHelpers
[96/103] Compiling DequeModule Deque+Testing.swift
[97/103] Compiling DequeModule Deque._Storage.swift
[98/103] Compiling DequeModule Deque._UnsafeHandle.swift
[99/103] Compiling DequeModule Deque.swift
[100/103] Compiling DequeModule Deque+Codable.swift
[101/103] Compiling DequeModule Deque+Collection.swift
[103/103] Emitting module DequeModule
[105/163] Compiling NIOCore EventLoop.swift
[106/163] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[107/163] Compiling NIOCore EventLoopFuture+Deprecated.swift
[108/163] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[109/163] Compiling NIOCore EventLoopFuture.swift
[110/163] Compiling NIOCore FileDescriptor.swift
[111/163] Compiling NIOCore FileHandle.swift
[112/163] Compiling NIOCore FileRegion.swift
[113/163] Compiling NIOCore MarkedCircularBuffer.swift
[114/163] Compiling NIOCore MulticastChannel.swift
[115/163] Compiling NIOCore NIOAny.swift
[116/163] Compiling NIOCore NIOCloseOnErrorHandler.swift
[117/163] Compiling NIOCore NIOLoopBound.swift
[118/163] Compiling NIOCore NIOScheduledCallback.swift
[119/163] Compiling NIOCore NIOSendable.swift
[120/163] Compiling NIOCore RecvByteBufferAllocator.swift
[121/163] Compiling NIOCore ChannelPipeline.swift
[122/163] Compiling NIOCore CircularBuffer.swift
[123/163] Compiling NIOCore Codec.swift
[124/163] Compiling NIOCore ConvenienceOptionSupport.swift
[125/163] Compiling NIOCore DeadChannel.swift
[126/163] Compiling NIOCore DispatchQueue+WithFuture.swift
[127/163] Compiling NIOCore EventLoop+Deprecated.swift
[128/163] Compiling NIOCore EventLoop+SerialExecutor.swift
[129/163] Compiling NIOCore GlobalSingletons.swift
[130/163] Compiling NIOCore IO.swift
[131/163] Compiling NIOCore IOData.swift
[132/163] Compiling NIOCore IPProtocol.swift
[133/163] Compiling NIOCore IntegerBitPacking.swift
[134/163] Compiling NIOCore IntegerTypes.swift
[135/163] Compiling NIOCore Interfaces.swift
[136/163] Compiling NIOCore Linux.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 NIOThrowingAsyncSequenceProducer.swift
[147/171] Compiling NIOCore BSDSocketAPI.swift
[148/171] Compiling NIOCore ByteBuffer-aux.swift
[149/171] Compiling NIOCore ByteBuffer-binaryEncodedLengthPrefix.swift
[150/171] Compiling NIOCore ByteBuffer-conversions.swift
[151/171] Compiling NIOCore ByteBuffer-core.swift
[152/171] Compiling NIOCore ByteBuffer-hex.swift
[153/171] Compiling NIOCore ByteBuffer-int.swift
[154/171] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[155/171] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[156/171] Compiling NIOCore SocketAddresses.swift
[157/171] Compiling NIOCore SocketOptionProvider.swift
[158/171] Compiling NIOCore SystemCallHelpers.swift
[159/171] Compiling NIOCore TimeAmount+Duration.swift
[160/171] Compiling NIOCore TypeAssistedChannelHandler.swift
[161/171] Compiling NIOCore UniversalBootstrapSupport.swift
[162/171] Compiling NIOCore Utilities.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] Emitting module NIOEmbedded
[175/223] Compiling NIOEmbedded AsyncTestingChannel.swift
[176/223] Compiling NIOEmbedded Embedded.swift
[178/224] Compiling NIOPosix ServerSocket.swift
[179/224] Compiling NIOPosix Socket.swift
[180/224] Compiling NIOPosix SocketChannel.swift
[181/224] Compiling NIOPosix SocketProtocols.swift
[182/224] Compiling NIOPosix System.swift
[183/224] Compiling NIOPosix Thread.swift
[184/230] Compiling NIOPosix PooledRecvBufferAllocator.swift
[185/230] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[186/230] Compiling NIOPosix PosixSingletons.swift
[187/230] Compiling NIOPosix RawSocketBootstrap.swift
[188/230] Compiling NIOPosix Resolver.swift
[189/230] Compiling NIOPosix Selectable.swift
[190/230] Compiling NIOPosix SelectableChannel.swift
[191/230] Compiling NIOPosix SelectableEventLoop.swift
[192/230] Compiling NIOPosix SelectorEpoll.swift
[193/230] Compiling NIOPosix SelectorGeneric.swift
[194/230] Compiling NIOPosix SelectorKqueue.swift
[195/230] Compiling NIOPosix SelectorUring.swift
[196/230] Compiling NIOPosix BSDSocketAPICommon.swift
[197/230] Compiling NIOPosix BSDSocketAPIPosix.swift
[198/230] Compiling NIOPosix BSDSocketAPIWindows.swift
[199/230] Compiling NIOPosix BaseSocket.swift
[200/230] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[201/230] Compiling NIOPosix BaseSocketChannel.swift
[202/230] Compiling NIOPosix BaseStreamSocketChannel.swift
[203/230] Compiling NIOPosix ThreadPosix.swift
[204/230] Compiling NIOPosix ThreadWindows.swift
[205/230] Compiling NIOPosix UnsafeTransfer.swift
[206/230] Compiling NIOPosix Utilities.swift
[207/230] Compiling NIOPosix VsockAddress.swift
[208/230] Compiling NIOPosix VsockChannelEvents.swift
[209/230] Emitting module NIOPosix
[210/230] Compiling NIOPosix Bootstrap.swift
[211/230] Compiling NIOPosix ControlMessage.swift
[212/230] Compiling NIOPosix DatagramVectorReadManager.swift
[213/230] Compiling NIOPosix Errors+Any.swift
[214/230] Compiling NIOPosix FileDescriptor.swift
[215/230] Compiling NIOPosix GetaddrinfoResolver.swift
[216/230] Compiling NIOPosix HappyEyeballs.swift
[217/230] Compiling NIOPosix IO.swift
[218/230] Compiling NIOPosix IntegerBitPacking.swift
[219/230] Compiling NIOPosix IntegerTypes.swift
[220/230] Compiling NIOPosix Linux.swift
[221/230] Compiling NIOPosix LinuxCPUSet.swift
[222/230] Compiling NIOPosix LinuxUring.swift
[223/230] Compiling NIOPosix MultiThreadedEventLoopGroup.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 HTTPServerProtocolErrorHandler.swift
[237/252] Compiling NIOHTTP1 HTTPServerUpgradeHandler.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 HTTPHeaderValidator.swift
[245/252] Compiling NIOHTTP1 HTTPHeaders+Validation.swift
[246/252] Compiling NIOHTTP1 HTTPTypedPipelineSetup.swift
[247/252] Compiling NIOHTTP1 HTTPTypes.swift
[248/252] Compiling NIOHTTP1 NIOHTTPClientUpgradeHandler.swift
[249/252] Compiling NIOHTTP1 NIOHTTPObjectAggregator.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 WebSocketFrameDecoder.swift
[256/264] Compiling NIOWebSocket WebSocketFrameEncoder.swift
[257/264] Emitting module NIOWebSocket
[258/264] Compiling NIOWebSocket WebSocketErrorCodes.swift
[259/264] Compiling NIOWebSocket NIOWebSocketClientUpgrader.swift
[260/264] Compiling NIOWebSocket NIOWebSocketFrameAggregator.swift
[261/264] Compiling NIOWebSocket NIOWebSocketServerUpgrader.swift
[262/264] Compiling NIOWebSocket SHA1.swift
[263/264] Compiling NIOWebSocket WebSocketFrame.swift
[264/264] Compiling NIOWebSocket WebSocketProtocolErrorHandler.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 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 | }
[268/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.
[269/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 | }
[270/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 | }
[271/275] Compiling NIOAsyncWebSockets SHA1.swift
[272/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 | }
[273/275] Compiling NIOAsyncWebSockets NIOTypedHTTPClientUpgraderStateMachine.swift
[274/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 | }
[275/275] Compiling NIOAsyncWebSockets NIOTypedHTTPServerUpgraderStateMachine.swift
Build complete! (92.88s)
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.