The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of NIOAsyncWebSockets, reference 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.