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 macOS (SPM) on 28 Apr 2025 02:08:59 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.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 /Users/admin/builder/spi-builder-workspace/.git/
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
Fetching https://github.com/apple/swift-nio.git from cache
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-docc-symbolkit
Fetching https://github.com/apple/swift-atomics.git from cache
Fetching https://github.com/apple/swift-collections.git from cache
[1/2049] Fetching swift-docc-plugin
[227/5426] Fetching swift-docc-plugin, swift-docc-symbolkit
Fetched https://github.com/apple/swift-docc-symbolkit from cache (1.23s)
Fetched https://github.com/apple/swift-docc-plugin from cache (1.23s)
Fetched https://github.com/apple/swift-atomics.git from cache (1.23s)
Fetched https://github.com/apple/swift-nio.git from cache (1.24s)
Computing version for https://github.com/apple/swift-docc-plugin
Fetched https://github.com/apple/swift-collections.git from cache (1.25s)
Computed https://github.com/apple/swift-docc-plugin at 1.3.0 (2.25s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.62.0 (0.66s)
Computing version for https://github.com/apple/swift-docc-symbolkit
Computed https://github.com/apple/swift-docc-symbolkit at 1.0.0 (0.63s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.0.5 (0.63s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.51s)
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.0.5
Creating working copy for https://github.com/apple/swift-docc-symbolkit
Working copy of https://github.com/apple/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.3.0
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.62.0
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.2.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "nio-async-websockets",
      "name": "NIOAsyncWebSockets",
      "url": "https://github.com/samalone/nio-async-websockets.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/nio-async-websockets",
      "dependencies": [
        {
          "identity": "swift-nio",
          "name": "swift-nio",
          "url": "https://github.com/apple/swift-nio.git",
          "version": "2.82.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-nio",
          "dependencies": [
            {
              "identity": "swift-atomics",
              "name": "swift-atomics",
              "url": "https://github.com/apple/swift-atomics.git",
              "version": "1.2.0",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-atomics",
              "dependencies": [
              ]
            },
            {
              "identity": "swift-collections",
              "name": "swift-collections",
              "url": "https://github.com/apple/swift-collections.git",
              "version": "1.1.4",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-collections",
              "dependencies": [
              ]
            },
            {
              "identity": "swift-system",
              "name": "swift-system",
              "url": "https://github.com/apple/swift-system.git",
              "version": "1.4.2",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-system",
              "dependencies": [
              ]
            }
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/samalone/nio-async-websockets.git
[1/34] Fetching nio-async-websockets
Fetched https://github.com/samalone/nio-async-websockets.git from cache (0.58s)
Fetching https://github.com/apple/swift-nio.git from cache
Fetched https://github.com/apple/swift-nio.git from cache (0.76s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.82.0 (1.48s)
Fetching https://github.com/apple/swift-atomics.git from cache
Fetching https://github.com/apple/swift-collections.git from cache
Fetching https://github.com/apple/swift-system.git from cache
Fetched https://github.com/apple/swift-system.git from cache (0.54s)
Fetched https://github.com/apple/swift-atomics.git from cache (0.55s)
Fetched https://github.com/apple/swift-collections.git from cache (0.56s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.63s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.4.2 (0.47s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.4 (0.68s)
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.2.0
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.1.4
Creating working copy for https://github.com/samalone/nio-async-websockets.git
Working copy of https://github.com/samalone/nio-async-websockets.git resolved at 1.0.1 (a50f5f4)
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
warning: '.resolve-product-dependencies': dependency 'nio-async-websockets' is not used by any target
Found 1 product dependencies
  - swift-nio
========================================
Build
========================================
Selected platform:         macosSpm
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
{
  "dependencies" : [
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.12.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "NIOAsyncWebSockets",
  "name" : "NIOAsyncWebSockets",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "NIOAsyncWebSockets",
      "targets" : [
        "NIOAsyncWebSockets"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "NIOAsyncWebSocketsTests",
      "module_type" : "SwiftTarget",
      "name" : "NIOAsyncWebSocketsTests",
      "path" : "Tests/NIOAsyncWebSocketsTests",
      "sources" : [
        "NIOAsyncWebSocketsTests.swift"
      ],
      "target_dependencies" : [
        "NIOAsyncWebSockets"
      ],
      "type" : "test"
    },
    {
      "c99name" : "NIOAsyncWebSockets",
      "module_type" : "SwiftTarget",
      "name" : "NIOAsyncWebSockets",
      "path" : "Sources/NIOAsyncWebSockets",
      "product_dependencies" : [
        "NIO",
        "NIOHTTP1",
        "NIOWebSocket",
        "NIOPosix"
      ],
      "product_memberships" : [
        "NIOAsyncWebSockets"
      ],
      "sources" : [
        "HTTPTypedPipelineSetup.swift",
        "NIOTypedHTTPClientUpgradeHandler.swift",
        "NIOTypedHTTPClientUpgraderStateMachine.swift",
        "NIOTypedHTTPServerUpgradeHandler.swift",
        "NIOTypedHTTPServerUpgraderStateMachine.swift",
        "NIOTypedPipelineSetup.swift",
        "NIOWebSocketClientUpgrader.swift",
        "NIOWebSocketServerUpgrader.swift",
        "SHA1.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/27] Write sources
[13/27] Compiling CNIOWindows shim.c
[13/27] Compiling CNIOWindows WSAStartup.c
[15/27] Compiling CNIOLinux liburing_shims.c
[15/27] Compiling CNIOLinux shim.c
[17/27] Write sources
[18/27] Write swift-version-2F0A5646E1D333AE.txt
[19/27] Compiling _AtomicsShims.c
[20/33] Compiling CNIOLLHTTP c_nio_http.c
[21/33] Compiling CNIOSHA1 c_nio_sha1.c
[22/52] Compiling CNIOLLHTTP c_nio_api.c
[23/71] Compiling CNIOLLHTTP c_nio_llhttp.c
[24/71] Compiling CNIODarwin shim.c
[26/71] Compiling _NIOBase64 Base64.swift
[27/71] Emitting module _NIOBase64
[28/71] Compiling Atomics ManagedAtomic.swift
[29/71] Compiling Atomics ManagedAtomicLazyReference.swift
[30/72] Compiling Atomics UnsafeAtomic.swift
[31/72] Compiling Atomics UnsafeAtomicLazyReference.swift
[32/72] Compiling Atomics AtomicStorage.swift
[33/72] Compiling Atomics AtomicValue.swift
[38/74] Compiling DequeModule _UnsafeWrappedBuffer.swift
[41/74] Compiling Atomics AtomicMemoryOrderings.swift
[42/74] Compiling Atomics DoubleWord.swift
[43/74] Compiling _NIODataStructures PriorityQueue.swift
[44/74] Compiling Atomics Primitives.shims.swift
[45/74] Compiling Atomics AtomicInteger.swift
[46/74] Compiling Atomics AtomicBool.swift
[47/74] Compiling Atomics IntegerConformances.swift
[50/74] Compiling Atomics AtomicOptionalWrappable.swift
[51/74] Compiling Atomics AtomicReference.swift
[52/74] Emitting module DequeModule
[55/74] Compiling Atomics OptionalRawRepresentable.swift
[56/74] Compiling Atomics RawRepresentable.swift
[59/74] Compiling Atomics PointerConformances.swift
[60/74] Compiling Atomics Primitives.native.swift
[61/74] Compiling _NIODataStructures _TinyArray.swift
[62/74] Compiling Atomics IntegerOperations.swift
[63/74] Compiling Atomics Unmanaged extensions.swift
[70/74] Emitting module Atomics
[71/74] Compiling _NIODataStructures Heap.swift
[72/74] Emitting module _NIODataStructures
[72/74] Compiling c-nioatomics.c
[73/74] Compiling c-atomics.c
[75/80] Compiling NIOConcurrencyHelpers lock.swift
[76/80] Compiling NIOConcurrencyHelpers atomics.swift
[77/80] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[78/80] Compiling NIOConcurrencyHelpers NIOLock.swift
[79/80] Emitting module NIOConcurrencyHelpers
[80/80] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[81/139] Compiling NIOCore GlobalSingletons.swift
[82/139] Compiling NIOCore IO.swift
[83/139] Compiling NIOCore IOData.swift
[84/139] Compiling NIOCore IPProtocol.swift
[85/139] Compiling NIOCore IntegerBitPacking.swift
[86/139] Compiling NIOCore IntegerTypes.swift
[87/139] Compiling NIOCore Interfaces.swift
[88/139] Compiling NIOCore Linux.swift
[89/139] Compiling NIOCore MarkedCircularBuffer.swift
[90/139] Compiling NIOCore MulticastChannel.swift
[91/139] Compiling NIOCore NIOAny.swift
[92/139] Compiling NIOCore NIOCloseOnErrorHandler.swift
[93/145] Compiling NIOCore NIOLoopBound.swift
[94/145] Compiling NIOCore NIOSendable.swift
[95/145] Compiling NIOCore PointerHelpers.swift
[96/145] Compiling NIOCore RecvByteBufferAllocator.swift
[97/145] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[98/145] Compiling NIOCore SocketAddresses.swift
[99/145] Compiling NIOCore AddressedEnvelope.swift
[100/145] Compiling NIOCore AsyncAwaitSupport.swift
[101/145] Compiling NIOCore AsyncChannel.swift
[102/145] Compiling NIOCore AsyncChannelInboundStream.swift
[103/145] Compiling NIOCore AsyncChannelInboundStreamChannelHandler.swift
[104/145] Compiling NIOCore AsyncChannelOutboundWriter.swift
[105/145] Compiling NIOCore AsyncChannelOutboundWriterHandler.swift
[106/145] Compiling NIOCore EventLoopFuture+Deprecated.swift
[107/145] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[108/145] Compiling NIOCore EventLoopFuture.swift
[109/145] Compiling NIOCore FileDescriptor.swift
[110/145] Compiling NIOCore FileHandle.swift
[111/145] Compiling NIOCore FileRegion.swift
[112/145] Compiling NIOCore SocketOptionProvider.swift
[113/145] Compiling NIOCore SystemCallHelpers.swift
[114/145] Compiling NIOCore TimeAmount+Duration.swift
[115/145] Compiling NIOCore TypeAssistedChannelHandler.swift
[116/145] Compiling NIOCore UniversalBootstrapSupport.swift
[117/145] Compiling NIOCore Utilities.swift
[118/145] Compiling NIOCore NIOAsyncSequenceProducer.swift
[119/145] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[120/145] Compiling NIOCore NIOAsyncWriter.swift
[121/145] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[122/145] Compiling NIOCore BSDSocketAPI.swift
[123/145] Compiling NIOCore ByteBuffer-aux.swift
[124/145] Compiling NIOCore ByteBuffer-conversions.swift
[125/145] Compiling NIOCore ConvenienceOptionSupport.swift
[126/145] Compiling NIOCore DeadChannel.swift
[127/145] Compiling NIOCore DispatchQueue+WithFuture.swift
[128/145] Compiling NIOCore EventLoop+Deprecated.swift
[129/145] Compiling NIOCore EventLoop+SerialExecutor.swift
[130/145] Compiling NIOCore EventLoop.swift
[131/145] Compiling NIOCore ChannelHandler.swift
[132/145] Compiling NIOCore ChannelHandlers.swift
[133/145] Compiling NIOCore ChannelInvoker.swift
[134/145] Compiling NIOCore ChannelOption.swift
[135/145] Compiling NIOCore ChannelPipeline.swift
[136/145] Compiling NIOCore CircularBuffer.swift
[137/145] Compiling NIOCore Codec.swift
[138/145] Compiling NIOCore ByteBuffer-core.swift
[139/145] Compiling NIOCore ByteBuffer-hexdump.swift
[140/145] Compiling NIOCore ByteBuffer-int.swift
[141/145] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[142/145] Compiling NIOCore ByteBuffer-multi-int.swift
[143/145] Compiling NIOCore ByteBuffer-views.swift
[144/145] Compiling NIOCore Channel.swift
[145/145] Emitting module NIOCore
[146/195] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[147/195] Emitting module NIOEmbedded
[148/195] Compiling NIOEmbedded AsyncTestingChannel.swift
[149/195] Compiling NIOEmbedded Embedded.swift
[150/195] Compiling NIOPosix IntegerTypes.swift
[151/195] Compiling NIOPosix Linux.swift
[152/195] Compiling NIOPosix LinuxCPUSet.swift
[153/195] Compiling NIOPosix LinuxUring.swift
[154/195] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[155/200] Compiling NIOPosix RawSocketBootstrap.swift
[156/200] Compiling NIOPosix Resolver.swift
[157/200] Compiling NIOPosix Selectable.swift
[158/200] Compiling NIOPosix SelectableChannel.swift
[159/200] Compiling NIOPosix SelectableEventLoop.swift
[160/200] Compiling NIOPosix SelectorEpoll.swift
[161/200] Compiling NIOPosix SelectorGeneric.swift
[162/200] Compiling NIOPosix SelectorKqueue.swift
[163/200] Compiling NIOPosix SelectorUring.swift
[164/200] Compiling NIOPosix ServerSocket.swift
[165/200] Emitting module NIOPosix
[166/200] Compiling NIOPosix ThreadPosix.swift
[167/200] Compiling NIOPosix ThreadWindows.swift
[168/200] Compiling NIOPosix Utilities.swift
[169/200] Compiling NIOPosix VsockAddress.swift
[170/200] Compiling NIOPosix VsockChannelEvents.swift
[171/200] Compiling NIOPosix BSDSocketAPICommon.swift
[172/200] Compiling NIOPosix BSDSocketAPIPosix.swift
[173/200] Compiling NIOPosix BSDSocketAPIWindows.swift
[174/200] Compiling NIOPosix BaseSocket.swift
[175/200] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[176/200] Compiling NIOPosix Socket.swift
[177/200] Compiling NIOPosix SocketChannel.swift
[178/200] Compiling NIOPosix SocketProtocols.swift
[179/200] Compiling NIOPosix System.swift
[180/200] Compiling NIOPosix Thread.swift
[181/200] Compiling NIOPosix NIOThreadPool.swift
[182/200] Compiling NIOPosix NonBlockingFileIO.swift
[183/200] Compiling NIOPosix PendingDatagramWritesManager.swift
[184/200] Compiling NIOPosix PendingWritesManager.swift
[185/200] Compiling NIOPosix PipeChannel.swift
[186/200] Compiling NIOPosix PipePair.swift
[187/200] Compiling NIOPosix PointerHelpers.swift
[188/200] Compiling NIOPosix Pool.swift
[189/200] Compiling NIOPosix PooledRecvBufferAllocator.swift
[190/200] Compiling NIOPosix PosixSingletons.swift
[191/200] Compiling NIOPosix BaseSocketChannel.swift
[192/200] Compiling NIOPosix BaseStreamSocketChannel.swift
[193/200] Compiling NIOPosix Bootstrap.swift
[194/200] Compiling NIOPosix ControlMessage.swift
[195/200] Compiling NIOPosix DatagramVectorReadManager.swift
[196/200] Compiling NIOPosix FileDescriptor.swift
[197/200] Compiling NIOPosix GetaddrinfoResolver.swift
[198/200] Compiling NIOPosix HappyEyeballs.swift
[199/200] Compiling NIOPosix IO.swift
[200/200] Compiling NIOPosix IntegerBitPacking.swift
[201/202] Emitting module NIO
[202/202] Compiling NIO Exports.swift
[203/219] Compiling NIOHTTP1 NIOTypedHTTPServerUpgradeHandler.swift
[204/219] Compiling NIOHTTP1 NIOTypedHTTPClientUpgraderStateMachine.swift
[205/219] Compiling NIOHTTP1 HTTPServerPipelineHandler.swift
[206/219] Compiling NIOHTTP1 HTTPServerProtocolErrorHandler.swift
[207/219] Compiling NIOHTTP1 HTTPServerUpgradeHandler.swift
[208/219] Compiling NIOHTTP1 HTTPTypedPipelineSetup.swift
[209/219] Compiling NIOHTTP1 HTTPEncoder.swift
[210/219] Compiling NIOHTTP1 HTTPHeaderValidator.swift
[211/219] Compiling NIOHTTP1 HTTPHeaders+Validation.swift
[212/219] Compiling NIOHTTP1 HTTPPipelineSetup.swift
[213/219] Compiling NIOHTTP1 NIOHTTPObjectAggregator.swift
[214/219] Compiling NIOHTTP1 NIOTypedHTTPClientUpgradeHandler.swift
[215/220] Emitting module NIOHTTP1
[216/220] Compiling NIOHTTP1 ByteCollectionUtils.swift
[217/220] Compiling NIOHTTP1 HTTPDecoder.swift
[218/220] Compiling NIOHTTP1 NIOTypedHTTPServerUpgraderStateMachine.swift
[219/220] Compiling NIOHTTP1 HTTPTypes.swift
[220/220] Compiling NIOHTTP1 NIOHTTPClientUpgradeHandler.swift
[221/230] Compiling NIOWebSocket WebSocketOpcode.swift
[222/230] Compiling NIOWebSocket WebSocketFrameEncoder.swift
[223/230] Compiling NIOWebSocket WebSocketErrorCodes.swift
[224/230] Compiling NIOWebSocket WebSocketFrameDecoder.swift
[225/231] Compiling NIOWebSocket SHA1.swift
[226/231] Compiling NIOWebSocket NIOWebSocketServerUpgrader.swift
[227/231] Compiling NIOWebSocket NIOWebSocketFrameAggregator.swift
[228/231] Compiling NIOWebSocket NIOWebSocketClientUpgrader.swift
[229/231] Emitting module NIOWebSocket
[230/231] Compiling NIOWebSocket WebSocketFrame.swift
[231/231] Compiling NIOWebSocket WebSocketProtocolErrorHandler.swift
[232/241] Compiling NIOAsyncWebSockets NIOWebSocketServerUpgrader.swift
[233/241] Compiling NIOAsyncWebSockets SHA1.swift
[234/241] Compiling NIOAsyncWebSockets NIOWebSocketClientUpgrader.swift
[235/241] Compiling NIOAsyncWebSockets NIOTypedHTTPServerUpgraderStateMachine.swift
[236/241] Compiling NIOAsyncWebSockets NIOTypedHTTPClientUpgraderStateMachine.swift
[237/241] Compiling NIOAsyncWebSockets NIOTypedHTTPServerUpgradeHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:162:21: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 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 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:162:61: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
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 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:174:17: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
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 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:175:17: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 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 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:260:17: warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
 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.
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:263:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
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 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:264:20: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 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 |     }
/Users/admin/builder/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 |     }
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:287:21: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 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 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:287:61: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
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 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:322:13: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 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)
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:322:47: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
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)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:324:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
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)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:324:44: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 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)
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:326:20: warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
 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
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:326:46: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
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
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:329:13: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 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 |     }
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:329:53: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
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 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
[238/241] Compiling NIOAsyncWebSockets HTTPTypedPipelineSetup.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/HTTPTypedPipelineSetup.swift:86:36: warning: capture of 'configuration' with non-sendable type 'NIOUpgradableHTTPServerPipelineConfiguration<UpgradeResult>' in a '@Sendable' closure
 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 |             }
[239/241] Emitting module NIOAsyncWebSockets
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:260:17: warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPServerProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
 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.
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:263:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
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 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPServerUpgradeHandler.swift:264:20: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPServerUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 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 |     }
/Users/admin/builder/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 |     }
[240/241] Compiling NIOAsyncWebSockets NIOTypedPipelineSetup.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedPipelineSetup.swift:67:36: warning: capture of 'configuration' with non-sendable type 'NIOUpgradableHTTPClientPipelineConfiguration<UpgradeResult>' in a '@Sendable' closure
 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 |             }
[241/241] Compiling NIOAsyncWebSockets NIOTypedHTTPClientUpgradeHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:200:21: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 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 |
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:200:61: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
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 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:224:17: warning: capture of 'upgrader' with non-sendable type 'any NIOTypedHTTPClientProtocolUpgrader<UpgradeResult>' in a '@Sendable' closure
 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
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:224:43: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
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
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:227:17: warning: capture of 'self' with non-sendable type 'NIOTypedHTTPClientUpgradeHandler<UpgradeResult>' in a '@Sendable' closure
 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 |     }
/Users/admin/builder/spi-builder-workspace/Sources/NIOAsyncWebSockets/NIOTypedHTTPClientUpgradeHandler.swift:227:57: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
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 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1417:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1415 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1416 | /// `ChannelHandler`.
1417 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1418 |     // visible for ChannelPipeline to modify
1419 |     fileprivate var next: Optional<ChannelHandlerContext>
Build complete! (22.83s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.12.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "NIOAsyncWebSockets",
  "name" : "NIOAsyncWebSockets",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "NIOAsyncWebSockets",
      "targets" : [
        "NIOAsyncWebSockets"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "NIOAsyncWebSocketsTests",
      "module_type" : "SwiftTarget",
      "name" : "NIOAsyncWebSocketsTests",
      "path" : "Tests/NIOAsyncWebSocketsTests",
      "sources" : [
        "NIOAsyncWebSocketsTests.swift"
      ],
      "target_dependencies" : [
        "NIOAsyncWebSockets"
      ],
      "type" : "test"
    },
    {
      "c99name" : "NIOAsyncWebSockets",
      "module_type" : "SwiftTarget",
      "name" : "NIOAsyncWebSockets",
      "path" : "Sources/NIOAsyncWebSockets",
      "product_dependencies" : [
        "NIO",
        "NIOHTTP1",
        "NIOWebSocket",
        "NIOPosix"
      ],
      "product_memberships" : [
        "NIOAsyncWebSockets"
      ],
      "sources" : [
        "HTTPTypedPipelineSetup.swift",
        "NIOTypedHTTPClientUpgradeHandler.swift",
        "NIOTypedHTTPClientUpgraderStateMachine.swift",
        "NIOTypedHTTPServerUpgradeHandler.swift",
        "NIOTypedHTTPServerUpgraderStateMachine.swift",
        "NIOTypedPipelineSetup.swift",
        "NIOWebSocketClientUpgrader.swift",
        "NIOWebSocketServerUpgrader.swift",
        "SHA1.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.