The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of Citadel, reference 0.11.0 (d29285), with Swift 6.1 for macOS (SPM) on 23 Jun 2025 11:34:57 UTC.

Swift 6 data race errors: 39

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

17 | public enum SFTPError: Error {
18 |     case unknownMessage
19 |     case invalidPayload(type: SFTPMessageType)
   |          `- warning: associated value 'invalidPayload(type:)' of 'Sendable'-conforming enum 'SFTPError' has non-sendable type 'SFTPMessageType'; this is an error in the Swift 6 language mode
20 |     case invalidResponse
21 |     case noResponseTarget
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Client/ExecClient.swift:34:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 32 |     func handlerAdded(context: ChannelHandlerContext) {
 33 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
 34 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 35 |         }
 36 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:60:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 58 |     func handlerAdded(context: ChannelHandlerContext) {
 59 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
 60 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 61 |         }
 62 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:80:21: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 78 |             } else if event.wantReply {
 79 |                 context.channel.triggerUserOutboundEvent(ChannelFailureEvent()).whenComplete { _ in
 80 |                     context.channel.close(promise: nil)
    |                     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 81 |                 }
 82 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:143:19: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
141 |                 .channelInitializer { pipeChannel in
142 |                     pipeChannel.pipeline.addHandlers(SSHInboundChannelDataWrapper(), theirs)
143 |                 }.withPipes(
    |                   |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
    |                   `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
144 |                     inputDescriptor: dup(handler.stdoutPipe.fileHandleForReading.fileDescriptor),
145 |                     outputDescriptor: dup(handler.stdinPipe.fileHandleForWriting.fileDescriptor)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:142:86: warning: capture of 'theirs' with non-sendable type 'GlueHandler' in a '@Sendable' closure
140 |                 .channelOption(ChannelOptions.allowRemoteHalfClosure, value: true)
141 |                 .channelInitializer { pipeChannel in
142 |                     pipeChannel.pipeline.addHandlers(SSHInboundChannelDataWrapper(), theirs)
    |                                                                                      `- warning: capture of 'theirs' with non-sendable type 'GlueHandler' in a '@Sendable' closure
143 |                 }.withPipes(
144 |                     inputDescriptor: dup(handler.stdoutPipe.fileHandleForReading.fileDescriptor),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/NIOGlueHandler.swift:17:13: note: class 'GlueHandler' does not conform to the 'Sendable' protocol
 15 | import NIOCore
 16 |
 17 | final class GlueHandler {
    |             `- note: class 'GlueHandler' does not conform to the 'Sendable' protocol
 18 |     private var partner: GlueHandler?
 19 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:144:42: warning: capture of 'handler' with non-sendable type 'ExecOutputHandler' in a '@Sendable' closure
142 |                     pipeChannel.pipeline.addHandlers(SSHInboundChannelDataWrapper(), theirs)
143 |                 }.withPipes(
144 |                     inputDescriptor: dup(handler.stdoutPipe.fileHandleForReading.fileDescriptor),
    |                                          `- warning: capture of 'handler' with non-sendable type 'ExecOutputHandler' in a '@Sendable' closure
145 |                     outputDescriptor: dup(handler.stdinPipe.fileHandleForWriting.fileDescriptor)
146 |                 )
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecDelegate.swift:16:20: note: class 'ExecOutputHandler' does not conform to the 'Sendable' protocol
14 | }
15 |
16 | public final class ExecOutputHandler {
   |                    `- note: class 'ExecOutputHandler' does not conform to the 'Sendable' protocol
17 |     public typealias ExitHandler = @Sendable (ExecExitContext) -> ()
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:142:86: warning: capture of 'theirs' with non-sendable type 'GlueHandler' in a '@Sendable' closure
140 |                 .channelOption(ChannelOptions.allowRemoteHalfClosure, value: true)
141 |                 .channelInitializer { pipeChannel in
142 |                     pipeChannel.pipeline.addHandlers(SSHInboundChannelDataWrapper(), theirs)
    |                                                                                      `- warning: capture of 'theirs' with non-sendable type 'GlueHandler' in a '@Sendable' closure
143 |                 }.withPipes(
144 |                     inputDescriptor: dup(handler.stdoutPipe.fileHandleForReading.fileDescriptor),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/NIOGlueHandler.swift:17:13: note: class 'GlueHandler' does not conform to the 'Sendable' protocol
 15 | import NIOCore
 16 |
 17 | final class GlueHandler {
    |             `- note: class 'GlueHandler' does not conform to the 'Sendable' protocol
 18 |     private var partner: GlueHandler?
 19 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:148:13: warning: capture of 'self' with non-sendable type 'ExecHandler' in a '@Sendable' closure
 38 | }
 39 |
 40 | final class ExecHandler: ChannelDuplexHandler {
    |             `- note: class 'ExecHandler' does not conform to the 'Sendable' protocol
 41 |     typealias InboundIn = SSHChannelData
 42 |     typealias InboundOut = SSHChannelData
    :
146 |                 )
147 |         }.flatMap { pipeChannel -> EventLoopFuture<Channel> in
148 |             self.pipeChannel = pipeChannel
    |             `- warning: capture of 'self' with non-sendable type 'ExecHandler' in a '@Sendable' closure
149 |             let start = channel.eventLoop.makePromise(of: Void.self)
150 |             start.completeWithTask {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:153:34: warning: capture of 'event' with non-sendable type 'SSHChannelRequestEvent.ExecRequest' in a '@Sendable' closure
151 |                 do {
152 |                     self.context = try await delegate.start(
153 |                         command: event.command,
    |                                  `- warning: capture of 'event' with non-sendable type 'SSHChannelRequestEvent.ExecRequest' in a '@Sendable' closure
154 |                         outputHandler: handler
155 |                     )
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/Child Channels/ChildChannelUserEvents.swift:126:19: note: struct 'ExecRequest' does not conform to the 'Sendable' protocol
124 |
125 |     /// A request for this session to exec a command.
126 |     public struct ExecRequest: Hashable {
    |                   `- note: struct 'ExecRequest' does not conform to the 'Sendable' protocol
127 |         /// The command to exec.
128 |         public var command: String
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:20:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
 18 | import NIOFoundationCompat
 19 | import NIOPosix
 20 | import NIOSSH
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
 21 |
 22 | #if canImport(Darwin)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:154:40: warning: capture of 'handler' with non-sendable type 'ExecOutputHandler' in a '@Sendable' closure
152 |                     self.context = try await delegate.start(
153 |                         command: event.command,
154 |                         outputHandler: handler
    |                                        `- warning: capture of 'handler' with non-sendable type 'ExecOutputHandler' in a '@Sendable' closure
155 |                     )
156 |                 } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecDelegate.swift:16:20: note: class 'ExecOutputHandler' does not conform to the 'Sendable' protocol
14 | }
15 |
16 | public final class ExecOutputHandler {
   |                    `- note: class 'ExecOutputHandler' does not conform to the 'Sendable' protocol
17 |     public typealias ExitHandler = @Sendable (ExecExitContext) -> ()
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:152:21: warning: capture of 'self' with non-sendable type 'ExecHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 38 | }
 39 |
 40 | final class ExecHandler: ChannelDuplexHandler {
    |             `- note: class 'ExecHandler' does not conform to the 'Sendable' protocol
 41 |     typealias InboundIn = SSHChannelData
 42 |     typealias InboundOut = SSHChannelData
    :
150 |             start.completeWithTask {
151 |                 do {
152 |                     self.context = try await delegate.start(
    |                     `- warning: capture of 'self' with non-sendable type 'ExecHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
153 |                         command: event.command,
154 |                         outputHandler: handler
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:153:34: warning: capture of 'event' with non-sendable type 'SSHChannelRequestEvent.ExecRequest' in a '@Sendable' closure; this is an error in the Swift 6 language mode
151 |                 do {
152 |                     self.context = try await delegate.start(
153 |                         command: event.command,
    |                                  `- warning: capture of 'event' with non-sendable type 'SSHChannelRequestEvent.ExecRequest' in a '@Sendable' closure; this is an error in the Swift 6 language mode
154 |                         outputHandler: handler
155 |                     )
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/Child Channels/ChildChannelUserEvents.swift:126:19: note: struct 'ExecRequest' does not conform to the 'Sendable' protocol
124 |
125 |     /// A request for this session to exec a command.
126 |     public struct ExecRequest: Hashable {
    |                   `- note: struct 'ExecRequest' does not conform to the 'Sendable' protocol
127 |         /// The command to exec.
128 |         public var command: String
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:154:40: warning: capture of 'handler' with non-sendable type 'ExecOutputHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
152 |                     self.context = try await delegate.start(
153 |                         command: event.command,
154 |                         outputHandler: handler
    |                                        `- warning: capture of 'handler' with non-sendable type 'ExecOutputHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
155 |                     )
156 |                 } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecDelegate.swift:16:20: note: class 'ExecOutputHandler' does not conform to the 'Sendable' protocol
14 | }
15 |
16 | public final class ExecOutputHandler {
   |                    `- note: class 'ExecOutputHandler' does not conform to the 'Sendable' protocol
17 |     public typealias ExitHandler = @Sendable (ExecExitContext) -> ()
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:162:20: warning: capture of 'event' with non-sendable type 'SSHChannelRequestEvent.ExecRequest' in a '@Sendable' closure
160 |
161 |             return start.futureResult.flatMap {
162 |                 if event.wantReply {
    |                    `- warning: capture of 'event' with non-sendable type 'SSHChannelRequestEvent.ExecRequest' in a '@Sendable' closure
163 |                     return channel.triggerUserOutboundEvent(ChannelSuccessEvent()).map {
164 |                         pipeChannel
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/Child Channels/ChildChannelUserEvents.swift:126:19: note: struct 'ExecRequest' does not conform to the 'Sendable' protocol
124 |
125 |     /// A request for this session to exec a command.
126 |     public struct ExecRequest: Hashable {
    |                   `- note: struct 'ExecRequest' does not conform to the 'Sendable' protocol
127 |         /// The command to exec.
128 |         public var command: String
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:181:20: warning: capture of 'event' with non-sendable type 'SSHChannelRequestEvent.ExecRequest' in a '@Sendable' closure
179 |                 channel.close(promise: nil)
180 |             case .failure:
181 |                 if event.wantReply {
    |                    `- warning: capture of 'event' with non-sendable type 'SSHChannelRequestEvent.ExecRequest' in a '@Sendable' closure
182 |                     channel.triggerUserOutboundEvent(ChannelFailureEvent()).whenComplete { _ in
183 |                         channel.close(promise: nil)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/Child Channels/ChildChannelUserEvents.swift:126:19: note: struct 'ExecRequest' does not conform to the 'Sendable' protocol
124 |
125 |     /// A request for this session to exec a command.
126 |     public struct ExecRequest: Hashable {
    |                   `- note: struct 'ExecRequest' does not conform to the 'Sendable' protocol
127 |         /// The command to exec.
128 |         public var command: String
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:65:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 63 |
 64 |     func channelInactive(context: ChannelHandlerContext) {
 65 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 66 |             try await self.context?.terminate()
    |                       `- note: closure captures 'self' which is accessible to code in the current task
 67 |             self.context = nil
 68 |             self.pipeChannel = nil
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:90:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 88 |             }
 89 |         case ChannelEvent.inputClosed:
 90 |             Task {
    |                  `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 91 |                 try await self.context?.inputClosed()
    |                           `- note: closure captures 'self' which is accessible to code in the current task
 92 |             }
 93 |         default:
[826/846] Compiling Citadel AES.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DH-Helpers.swift:98:18: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
 96 |             let serialized = Array(bignum.serialize())
 97 |             (buffer.baseAddress! + 1)
 98 |                 .assign(from: serialized, count: serialized.count)
    |                  |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
    |                  `- note: use 'update(from:count:)' instead
 99 |
100 |             if buffer[1] & 0x80 != 0 {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DiffieHellmanGroup14Sha1.swift:19:23: warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 17 |     private var sharedSecret: Data?
 18 |     public let ourKey: Insecure.RSA.PrivateKey
 19 |     public static var ourKey: Insecure.RSA.PrivateKey?
    |                       |- warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'ourKey' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'ourKey' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     private struct _KeyExchangeResult {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DiffieHellmanGroup14Sha256.swift:19:23: warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 17 |     private var sharedSecret: Data?
 18 |     public let ourKey: Insecure.RSA.PrivateKey
 19 |     public static var ourKey: Insecure.RSA.PrivateKey?
    |                       |- warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'ourKey' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'ourKey' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     private struct _KeyExchangeResult {
[827/846] Compiling Citadel DH-Helpers.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DH-Helpers.swift:98:18: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
 96 |             let serialized = Array(bignum.serialize())
 97 |             (buffer.baseAddress! + 1)
 98 |                 .assign(from: serialized, count: serialized.count)
    |                  |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
    |                  `- note: use 'update(from:count:)' instead
 99 |
100 |             if buffer[1] & 0x80 != 0 {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DiffieHellmanGroup14Sha1.swift:19:23: warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 17 |     private var sharedSecret: Data?
 18 |     public let ourKey: Insecure.RSA.PrivateKey
 19 |     public static var ourKey: Insecure.RSA.PrivateKey?
    |                       |- warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'ourKey' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'ourKey' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     private struct _KeyExchangeResult {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DiffieHellmanGroup14Sha256.swift:19:23: warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 17 |     private var sharedSecret: Data?
 18 |     public let ourKey: Insecure.RSA.PrivateKey
 19 |     public static var ourKey: Insecure.RSA.PrivateKey?
    |                       |- warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'ourKey' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'ourKey' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     private struct _KeyExchangeResult {
[828/846] Compiling Citadel DiffieHellmanGroup14Sha1.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DH-Helpers.swift:98:18: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
 96 |             let serialized = Array(bignum.serialize())
 97 |             (buffer.baseAddress! + 1)
 98 |                 .assign(from: serialized, count: serialized.count)
    |                  |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
    |                  `- note: use 'update(from:count:)' instead
 99 |
100 |             if buffer[1] & 0x80 != 0 {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DiffieHellmanGroup14Sha1.swift:19:23: warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 17 |     private var sharedSecret: Data?
 18 |     public let ourKey: Insecure.RSA.PrivateKey
 19 |     public static var ourKey: Insecure.RSA.PrivateKey?
    |                       |- warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'ourKey' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'ourKey' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     private struct _KeyExchangeResult {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DiffieHellmanGroup14Sha256.swift:19:23: warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 17 |     private var sharedSecret: Data?
 18 |     public let ourKey: Insecure.RSA.PrivateKey
 19 |     public static var ourKey: Insecure.RSA.PrivateKey?
    |                       |- warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'ourKey' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'ourKey' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     private struct _KeyExchangeResult {
[829/846] Compiling Citadel DiffieHellmanGroup14Sha256.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DH-Helpers.swift:98:18: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
 96 |             let serialized = Array(bignum.serialize())
 97 |             (buffer.baseAddress! + 1)
 98 |                 .assign(from: serialized, count: serialized.count)
    |                  |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
    |                  `- note: use 'update(from:count:)' instead
 99 |
100 |             if buffer[1] & 0x80 != 0 {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DiffieHellmanGroup14Sha1.swift:19:23: warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 17 |     private var sharedSecret: Data?
 18 |     public let ourKey: Insecure.RSA.PrivateKey
 19 |     public static var ourKey: Insecure.RSA.PrivateKey?
    |                       |- warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'ourKey' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'ourKey' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     private struct _KeyExchangeResult {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DiffieHellmanGroup14Sha256.swift:19:23: warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 17 |     private var sharedSecret: Data?
 18 |     public let ourKey: Insecure.RSA.PrivateKey
 19 |     public static var ourKey: Insecure.RSA.PrivateKey?
    |                       |- warning: static property 'ourKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'ourKey' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'ourKey' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     private struct _KeyExchangeResult {
[830/846] Compiling Citadel RSA.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/RSA.swift:326:23: warning: static property 'diffieHellmanGroup14' is not concurrency-safe because non-'Sendable' type 'BigUInt' may have shared mutable state; this is an error in the Swift 6 language mode
324 |
325 | extension BigUInt {
326 |     public static let diffieHellmanGroup14 = BigUInt(Data([
    |                       `- warning: static property 'diffieHellmanGroup14' is not concurrency-safe because non-'Sendable' type 'BigUInt' may have shared mutable state; this is an error in the Swift 6 language mode
327 |         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
328 |         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/BigInt/Sources/BigUInt.swift:16:15: note: struct 'BigUInt' does not conform to the 'Sendable' protocol
 14 | /// This particular big integer type uses base-2^64 digits to represent integers; you can think of it as a wrapper
 15 | /// around `Array<UInt64>`. (In fact, `BigUInt` only uses an array if there are more than two digits.)
 16 | public struct BigUInt: UnsignedInteger {
    |               `- note: struct 'BigUInt' does not conform to the 'Sendable' protocol
 17 |     /// The type representing a digit in `BigUInt`'s underlying number system.
 18 |     public typealias Word = UInt
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/RSA.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'BigInt'
  1 | import NIO
  2 | import NIOFoundationCompat
  3 | import BigInt
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'BigInt'
  4 | import NIOSSH
  5 | import CCryptoBoringSSL
    :
324 |
325 | extension BigUInt {
326 |     public static let diffieHellmanGroup14 = BigUInt(Data([
    |                       |- note: add '@MainActor' to make static property 'diffieHellmanGroup14' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
327 |         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
328 |         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/ChannelUnwrapper.swift:10:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 8 |     func handlerAdded(context: ChannelHandlerContext) {
 9 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
10 |             context.fireErrorCaught(error)
   |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
11 |         }
12 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
[831/846] Compiling Citadel BCrypt.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/RSA.swift:326:23: warning: static property 'diffieHellmanGroup14' is not concurrency-safe because non-'Sendable' type 'BigUInt' may have shared mutable state; this is an error in the Swift 6 language mode
324 |
325 | extension BigUInt {
326 |     public static let diffieHellmanGroup14 = BigUInt(Data([
    |                       `- warning: static property 'diffieHellmanGroup14' is not concurrency-safe because non-'Sendable' type 'BigUInt' may have shared mutable state; this is an error in the Swift 6 language mode
327 |         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
328 |         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/BigInt/Sources/BigUInt.swift:16:15: note: struct 'BigUInt' does not conform to the 'Sendable' protocol
 14 | /// This particular big integer type uses base-2^64 digits to represent integers; you can think of it as a wrapper
 15 | /// around `Array<UInt64>`. (In fact, `BigUInt` only uses an array if there are more than two digits.)
 16 | public struct BigUInt: UnsignedInteger {
    |               `- note: struct 'BigUInt' does not conform to the 'Sendable' protocol
 17 |     /// The type representing a digit in `BigUInt`'s underlying number system.
 18 |     public typealias Word = UInt
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/RSA.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'BigInt'
  1 | import NIO
  2 | import NIOFoundationCompat
  3 | import BigInt
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'BigInt'
  4 | import NIOSSH
  5 | import CCryptoBoringSSL
    :
324 |
325 | extension BigUInt {
326 |     public static let diffieHellmanGroup14 = BigUInt(Data([
    |                       |- note: add '@MainActor' to make static property 'diffieHellmanGroup14' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
327 |         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
328 |         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/ChannelUnwrapper.swift:10:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 8 |     func handlerAdded(context: ChannelHandlerContext) {
 9 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
10 |             context.fireErrorCaught(error)
   |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
11 |         }
12 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
[832/846] Compiling Citadel ByteBufferHelpers.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/RSA.swift:326:23: warning: static property 'diffieHellmanGroup14' is not concurrency-safe because non-'Sendable' type 'BigUInt' may have shared mutable state; this is an error in the Swift 6 language mode
324 |
325 | extension BigUInt {
326 |     public static let diffieHellmanGroup14 = BigUInt(Data([
    |                       `- warning: static property 'diffieHellmanGroup14' is not concurrency-safe because non-'Sendable' type 'BigUInt' may have shared mutable state; this is an error in the Swift 6 language mode
327 |         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
328 |         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/BigInt/Sources/BigUInt.swift:16:15: note: struct 'BigUInt' does not conform to the 'Sendable' protocol
 14 | /// This particular big integer type uses base-2^64 digits to represent integers; you can think of it as a wrapper
 15 | /// around `Array<UInt64>`. (In fact, `BigUInt` only uses an array if there are more than two digits.)
 16 | public struct BigUInt: UnsignedInteger {
    |               `- note: struct 'BigUInt' does not conform to the 'Sendable' protocol
 17 |     /// The type representing a digit in `BigUInt`'s underlying number system.
 18 |     public typealias Word = UInt
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/RSA.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'BigInt'
  1 | import NIO
  2 | import NIOFoundationCompat
  3 | import BigInt
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'BigInt'
  4 | import NIOSSH
  5 | import CCryptoBoringSSL
    :
324 |
325 | extension BigUInt {
326 |     public static let diffieHellmanGroup14 = BigUInt(Data([
    |                       |- note: add '@MainActor' to make static property 'diffieHellmanGroup14' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
327 |         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
328 |         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/ChannelUnwrapper.swift:10:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 8 |     func handlerAdded(context: ChannelHandlerContext) {
 9 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
10 |             context.fireErrorCaught(error)
   |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
11 |         }
12 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
[833/846] Compiling Citadel ChannelUnwrapper.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/RSA.swift:326:23: warning: static property 'diffieHellmanGroup14' is not concurrency-safe because non-'Sendable' type 'BigUInt' may have shared mutable state; this is an error in the Swift 6 language mode
324 |
325 | extension BigUInt {
326 |     public static let diffieHellmanGroup14 = BigUInt(Data([
    |                       `- warning: static property 'diffieHellmanGroup14' is not concurrency-safe because non-'Sendable' type 'BigUInt' may have shared mutable state; this is an error in the Swift 6 language mode
327 |         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
328 |         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/BigInt/Sources/BigUInt.swift:16:15: note: struct 'BigUInt' does not conform to the 'Sendable' protocol
 14 | /// This particular big integer type uses base-2^64 digits to represent integers; you can think of it as a wrapper
 15 | /// around `Array<UInt64>`. (In fact, `BigUInt` only uses an array if there are more than two digits.)
 16 | public struct BigUInt: UnsignedInteger {
    |               `- note: struct 'BigUInt' does not conform to the 'Sendable' protocol
 17 |     /// The type representing a digit in `BigUInt`'s underlying number system.
 18 |     public typealias Word = UInt
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/RSA.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'BigInt'
  1 | import NIO
  2 | import NIOFoundationCompat
  3 | import BigInt
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'BigInt'
  4 | import NIOSSH
  5 | import CCryptoBoringSSL
    :
324 |
325 | extension BigUInt {
326 |     public static let diffieHellmanGroup14 = BigUInt(Data([
    |                       |- note: add '@MainActor' to make static property 'diffieHellmanGroup14' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
327 |         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
328 |         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/ChannelUnwrapper.swift:10:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 8 |     func handlerAdded(context: ChannelHandlerContext) {
 9 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
10 |             context.fireErrorCaught(error)
   |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
11 |         }
12 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
[834/846] Compiling Citadel NIOGlueHandler.swift
[835/846] Compiling Citadel OpenSSHKey.swift
[836/846] Compiling Citadel SFTPClient.swift
[837/846] Compiling Citadel SFTPClientInboundHandler.swift
[838/846] Compiling Citadel SSHCert.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:50:23: warning: static property 'rsa' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 48 |
 49 |     // MARK: Statically known key types
 50 |     public static let rsa        = SSHKeyType(backing: .rsa)
    |                       |- warning: static property 'rsa' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'rsa' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |     public static let ed25519    = SSHKeyType(backing: .ed25519)
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:51:23: warning: static property 'ed25519' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 49 |     // MARK: Statically known key types
 50 |     public static let rsa        = SSHKeyType(backing: .rsa)
 51 |     public static let ed25519    = SSHKeyType(backing: .ed25519)
    |                       |- warning: static property 'ed25519' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'ed25519' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
 53 |     public static let ecdsaP384  = SSHKeyType(backing: .ecdsaP384)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:52:23: warning: static property 'ecdsaP256' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 50 |     public static let rsa        = SSHKeyType(backing: .rsa)
 51 |     public static let ed25519    = SSHKeyType(backing: .ed25519)
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
    |                       |- warning: static property 'ecdsaP256' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'ecdsaP256' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 53 |     public static let ecdsaP384  = SSHKeyType(backing: .ecdsaP384)
 54 |     public static let ecdsaP521  = SSHKeyType(backing: .ecdsaP521)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:53:23: warning: static property 'ecdsaP384' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 51 |     public static let ed25519    = SSHKeyType(backing: .ed25519)
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
 53 |     public static let ecdsaP384  = SSHKeyType(backing: .ecdsaP384)
    |                       |- warning: static property 'ecdsaP384' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'ecdsaP384' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |     public static let ecdsaP521  = SSHKeyType(backing: .ecdsaP521)
 55 | }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:54:23: warning: static property 'ecdsaP521' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
 53 |     public static let ecdsaP384  = SSHKeyType(backing: .ecdsaP384)
 54 |     public static let ecdsaP521  = SSHKeyType(backing: .ecdsaP521)
    |                       |- warning: static property 'ecdsaP521' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'ecdsaP521' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 55 | }
 56 |
[839/846] Compiling Citadel SSHConnectionPoolSettings.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:50:23: warning: static property 'rsa' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 48 |
 49 |     // MARK: Statically known key types
 50 |     public static let rsa        = SSHKeyType(backing: .rsa)
    |                       |- warning: static property 'rsa' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'rsa' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |     public static let ed25519    = SSHKeyType(backing: .ed25519)
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:51:23: warning: static property 'ed25519' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 49 |     // MARK: Statically known key types
 50 |     public static let rsa        = SSHKeyType(backing: .rsa)
 51 |     public static let ed25519    = SSHKeyType(backing: .ed25519)
    |                       |- warning: static property 'ed25519' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'ed25519' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
 53 |     public static let ecdsaP384  = SSHKeyType(backing: .ecdsaP384)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:52:23: warning: static property 'ecdsaP256' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 50 |     public static let rsa        = SSHKeyType(backing: .rsa)
 51 |     public static let ed25519    = SSHKeyType(backing: .ed25519)
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
    |                       |- warning: static property 'ecdsaP256' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'ecdsaP256' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 53 |     public static let ecdsaP384  = SSHKeyType(backing: .ecdsaP384)
 54 |     public static let ecdsaP521  = SSHKeyType(backing: .ecdsaP521)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:53:23: warning: static property 'ecdsaP384' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 51 |     public static let ed25519    = SSHKeyType(backing: .ed25519)
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
 53 |     public static let ecdsaP384  = SSHKeyType(backing: .ecdsaP384)
    |                       |- warning: static property 'ecdsaP384' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'ecdsaP384' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |     public static let ecdsaP521  = SSHKeyType(backing: .ecdsaP521)
 55 | }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:54:23: warning: static property 'ecdsaP521' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
 53 |     public static let ecdsaP384  = SSHKeyType(backing: .ecdsaP384)
 54 |     public static let ecdsaP521  = SSHKeyType(backing: .ecdsaP521)
    |                       |- warning: static property 'ecdsaP521' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'ecdsaP521' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 55 | }
 56 |
[840/846] Compiling Citadel SSHKeyTypeDetection.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:50:23: warning: static property 'rsa' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 48 |
 49 |     // MARK: Statically known key types
 50 |     public static let rsa        = SSHKeyType(backing: .rsa)
    |                       |- warning: static property 'rsa' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'rsa' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |     public static let ed25519    = SSHKeyType(backing: .ed25519)
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:51:23: warning: static property 'ed25519' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 49 |     // MARK: Statically known key types
 50 |     public static let rsa        = SSHKeyType(backing: .rsa)
 51 |     public static let ed25519    = SSHKeyType(backing: .ed25519)
    |                       |- warning: static property 'ed25519' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'ed25519' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
 53 |     public static let ecdsaP384  = SSHKeyType(backing: .ecdsaP384)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:52:23: warning: static property 'ecdsaP256' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 50 |     public static let rsa        = SSHKeyType(backing: .rsa)
 51 |     public static let ed25519    = SSHKeyType(backing: .ed25519)
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
    |                       |- warning: static property 'ecdsaP256' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'ecdsaP256' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 53 |     public static let ecdsaP384  = SSHKeyType(backing: .ecdsaP384)
 54 |     public static let ecdsaP521  = SSHKeyType(backing: .ecdsaP521)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:53:23: warning: static property 'ecdsaP384' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 51 |     public static let ed25519    = SSHKeyType(backing: .ed25519)
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
 53 |     public static let ecdsaP384  = SSHKeyType(backing: .ecdsaP384)
    |                       |- warning: static property 'ecdsaP384' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'ecdsaP384' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |     public static let ecdsaP521  = SSHKeyType(backing: .ecdsaP521)
 55 | }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHKeyTypeDetection.swift:54:23: warning: static property 'ecdsaP521' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// A `struct` is used instead of a public `enum` so new algorithms can be
  7 | /// added later without breaking source or ABI stability.
  8 | public struct SSHKeyType: RawRepresentable, Equatable, Hashable, CaseIterable, CustomStringConvertible {
    |               `- note: consider making struct 'SSHKeyType' conform to the 'Sendable' protocol
  9 |
 10 |     // MARK: Backing storage for the algorithms currently bundled with Citadel.
    :
 52 |     public static let ecdsaP256  = SSHKeyType(backing: .ecdsaP256)
 53 |     public static let ecdsaP384  = SSHKeyType(backing: .ecdsaP384)
 54 |     public static let ecdsaP521  = SSHKeyType(backing: .ecdsaP521)
    |                       |- warning: static property 'ecdsaP521' is not concurrency-safe because non-'Sendable' type 'SSHKeyType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'ecdsaP521' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 55 | }
 56 |
[841/846] Compiling Citadel Server.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:40:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 38 |     func handlerAdded(context: ChannelHandlerContext) {
 39 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
 40 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 41 |         }
 42 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:59:21: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 57 |             guard let shell = shell, let parent = context.channel.parent else {
 58 |                 _ = context.channel.triggerUserOutboundEvent(ChannelFailureEvent()).flatMap {
 59 |                     self.configured.succeed(())
    |                     `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 60 |                     return context.channel.close()
 61 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:60:28: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 58 |                 _ = context.channel.triggerUserOutboundEvent(ChannelFailureEvent()).flatMap {
 59 |                     self.configured.succeed(())
 60 |                     return context.channel.close()
    |                            `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 61 |                 }
 62 |                 return
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:67:30: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 65 |             parent.pipeline.handler(type: NIOSSHHandler.self).flatMap { handler in
 66 |                 ShellServerSubsystem.setupChannelHanders(
 67 |                     channel: context.channel,
    |                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 68 |                     shell: shell,
 69 |                     logger: .init(label: "nl.orlandos.citadel.sftp-server"),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:73:31: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 71 |                 )
 72 |             }.flatMap { () -> EventLoopFuture<Void> in
 73 |                 let promise = context.eventLoop.makePromise(of: Void.self)
    |                               `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 74 |                 context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 75 |                 self.configured.succeed(())
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:75:17: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 73 |                 let promise = context.eventLoop.makePromise(of: Void.self)
 74 |                 context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 75 |                 self.configured.succeed(())
    |                 `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 76 |                 return promise.futureResult
 77 |             }.whenFailure { _ in
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:78:17: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 76 |                 return promise.futureResult
 77 |             }.whenFailure { _ in
 78 |                 context.channel.triggerUserOutboundEvent(ChannelFailureEvent(), promise: nil)
    |                 `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 79 |             }
 80 |         case let event as SSHChannelRequestEvent.SubsystemRequest:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:91:34: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 89 |                 parent.pipeline.handler(type: NIOSSHHandler.self).flatMap { handler in
 90 |                     SFTPServerSubsystem.setupChannelHanders(
 91 |                         channel: context.channel,
    |                                  `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 92 |                         sftp: sftp,
 93 |                         logger: .init(label: "nl.orlandos.citadel.sftp-server"),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:97:35: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 95 |                     )
 96 |                 }.flatMap { () -> EventLoopFuture<Void> in
 97 |                     let promise = context.eventLoop.makePromise(of: Void.self)
    |                                   `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 98 |                     context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 99 |                     self.configured.succeed(())
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:99:21: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 97 |                     let promise = context.eventLoop.makePromise(of: Void.self)
 98 |                     context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 99 |                     self.configured.succeed(())
    |                     `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
100 |                     return promise.futureResult
101 |                 }.whenFailure { _ in
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:102:21: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
100 |                     return promise.futureResult
101 |                 }.whenFailure { _ in
102 |                     context.channel.triggerUserOutboundEvent(ChannelFailureEvent(), promise: nil)
    |                     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
103 |                 }
104 |             default:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:114:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
112 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
113 |         configured.futureResult.whenSuccess {
114 |             context.fireChannelRead(data)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
115 |         }
116 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:114:37: warning: capture of 'data' with non-sendable type 'NIOAny' in a '@Sendable' closure
112 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
113 |         configured.futureResult.whenSuccess {
114 |             context.fireChannelRead(data)
    |                                     `- warning: capture of 'data' with non-sendable type 'NIOAny' in a '@Sendable' closure
115 |         }
116 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/NIOAny.swift:45:15: note: struct 'NIOAny' does not conform to the 'Sendable' protocol
 43 | ///         }
 44 | ///     }
 45 | public struct NIOAny {
    |               `- note: struct 'NIOAny' does not conform to the 'Sendable' protocol
 46 |     @usableFromInline
 47 |     /* private but _versioned */ let _storage: _NIOAny
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:102:47: warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
100 |         }
101 |
102 |         done.futureResult.whenFailure(context.fireErrorCaught)
    |                                               `- warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
103 |     }
104 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:84:46: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 82 |
 83 |                 group.addTask {
 84 |                     for try await message in self.outbound.stream {
    |                                              `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 85 |                         switch message.event {
 86 |                         case .stdout(let data):
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:124:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
122 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
123 |             self.logger.debug("Failed to set allowRemoteHalfClosure: \(error)")
124 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
125 |         }
126 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:285:17: warning: capture of 'self' with non-sendable type 'SSHClient' in a '@Sendable' closure; this is an error in the Swift 6 language mode
283 |                 streamContinuation.yield(.stderr(stderr))
284 |             case .eof(let error):
285 |                 self.logger.debug("EOF triggered, ending the command stream.")
    |                 `- warning: capture of 'self' with non-sendable type 'SSHClient' in a '@Sendable' closure; this is an error in the Swift 6 language mode
286 |                 if let error {
287 |                     streamContinuation.finish(throwing: error)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:112:20: note: class 'SSHClient' does not conform to the 'Sendable' protocol
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:75:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 73 |         done.completeWithTask {
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 76 |                     try await self.delegate.startShell(
    |                               `- note: closure captures non-Sendable 'self'
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- note: closure captures non-Sendable 'shellContext'
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:83:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 81 |                 }
 82 |
 83 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 84 |                     for try await message in self.outbound.stream {
    |                                              `- note: closure captures 'self' which is accessible to code in the current task
 85 |                         switch message.event {
 86 |                         case .stdout(let data):
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:467:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
465 |         )
466 |
467 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
468 |             do {
469 |                 let stream = try await executeCommandStream(command, inShell: inShell)
    |                                        `- note: closure captures 'self' which is accessible to code in the current task
470 |                 for try await chunk in stream {
471 |                     switch chunk {
[842/846] Compiling Citadel ShellDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:40:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 38 |     func handlerAdded(context: ChannelHandlerContext) {
 39 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
 40 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 41 |         }
 42 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:59:21: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 57 |             guard let shell = shell, let parent = context.channel.parent else {
 58 |                 _ = context.channel.triggerUserOutboundEvent(ChannelFailureEvent()).flatMap {
 59 |                     self.configured.succeed(())
    |                     `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 60 |                     return context.channel.close()
 61 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:60:28: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 58 |                 _ = context.channel.triggerUserOutboundEvent(ChannelFailureEvent()).flatMap {
 59 |                     self.configured.succeed(())
 60 |                     return context.channel.close()
    |                            `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 61 |                 }
 62 |                 return
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:67:30: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 65 |             parent.pipeline.handler(type: NIOSSHHandler.self).flatMap { handler in
 66 |                 ShellServerSubsystem.setupChannelHanders(
 67 |                     channel: context.channel,
    |                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 68 |                     shell: shell,
 69 |                     logger: .init(label: "nl.orlandos.citadel.sftp-server"),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:73:31: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 71 |                 )
 72 |             }.flatMap { () -> EventLoopFuture<Void> in
 73 |                 let promise = context.eventLoop.makePromise(of: Void.self)
    |                               `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 74 |                 context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 75 |                 self.configured.succeed(())
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:75:17: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 73 |                 let promise = context.eventLoop.makePromise(of: Void.self)
 74 |                 context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 75 |                 self.configured.succeed(())
    |                 `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 76 |                 return promise.futureResult
 77 |             }.whenFailure { _ in
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:78:17: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 76 |                 return promise.futureResult
 77 |             }.whenFailure { _ in
 78 |                 context.channel.triggerUserOutboundEvent(ChannelFailureEvent(), promise: nil)
    |                 `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 79 |             }
 80 |         case let event as SSHChannelRequestEvent.SubsystemRequest:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:91:34: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 89 |                 parent.pipeline.handler(type: NIOSSHHandler.self).flatMap { handler in
 90 |                     SFTPServerSubsystem.setupChannelHanders(
 91 |                         channel: context.channel,
    |                                  `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 92 |                         sftp: sftp,
 93 |                         logger: .init(label: "nl.orlandos.citadel.sftp-server"),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:97:35: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 95 |                     )
 96 |                 }.flatMap { () -> EventLoopFuture<Void> in
 97 |                     let promise = context.eventLoop.makePromise(of: Void.self)
    |                                   `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 98 |                     context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 99 |                     self.configured.succeed(())
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:99:21: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 97 |                     let promise = context.eventLoop.makePromise(of: Void.self)
 98 |                     context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 99 |                     self.configured.succeed(())
    |                     `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
100 |                     return promise.futureResult
101 |                 }.whenFailure { _ in
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:102:21: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
100 |                     return promise.futureResult
101 |                 }.whenFailure { _ in
102 |                     context.channel.triggerUserOutboundEvent(ChannelFailureEvent(), promise: nil)
    |                     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
103 |                 }
104 |             default:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:114:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
112 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
113 |         configured.futureResult.whenSuccess {
114 |             context.fireChannelRead(data)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
115 |         }
116 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:114:37: warning: capture of 'data' with non-sendable type 'NIOAny' in a '@Sendable' closure
112 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
113 |         configured.futureResult.whenSuccess {
114 |             context.fireChannelRead(data)
    |                                     `- warning: capture of 'data' with non-sendable type 'NIOAny' in a '@Sendable' closure
115 |         }
116 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/NIOAny.swift:45:15: note: struct 'NIOAny' does not conform to the 'Sendable' protocol
 43 | ///         }
 44 | ///     }
 45 | public struct NIOAny {
    |               `- note: struct 'NIOAny' does not conform to the 'Sendable' protocol
 46 |     @usableFromInline
 47 |     /* private but _versioned */ let _storage: _NIOAny
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:102:47: warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
100 |         }
101 |
102 |         done.futureResult.whenFailure(context.fireErrorCaught)
    |                                               `- warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
103 |     }
104 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:84:46: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 82 |
 83 |                 group.addTask {
 84 |                     for try await message in self.outbound.stream {
    |                                              `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 85 |                         switch message.event {
 86 |                         case .stdout(let data):
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:124:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
122 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
123 |             self.logger.debug("Failed to set allowRemoteHalfClosure: \(error)")
124 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
125 |         }
126 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:285:17: warning: capture of 'self' with non-sendable type 'SSHClient' in a '@Sendable' closure; this is an error in the Swift 6 language mode
283 |                 streamContinuation.yield(.stderr(stderr))
284 |             case .eof(let error):
285 |                 self.logger.debug("EOF triggered, ending the command stream.")
    |                 `- warning: capture of 'self' with non-sendable type 'SSHClient' in a '@Sendable' closure; this is an error in the Swift 6 language mode
286 |                 if let error {
287 |                     streamContinuation.finish(throwing: error)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:112:20: note: class 'SSHClient' does not conform to the 'Sendable' protocol
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:75:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 73 |         done.completeWithTask {
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 76 |                     try await self.delegate.startShell(
    |                               `- note: closure captures non-Sendable 'self'
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- note: closure captures non-Sendable 'shellContext'
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:83:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 81 |                 }
 82 |
 83 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 84 |                     for try await message in self.outbound.stream {
    |                                              `- note: closure captures 'self' which is accessible to code in the current task
 85 |                         switch message.event {
 86 |                         case .stdout(let data):
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:467:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
465 |         )
466 |
467 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
468 |             do {
469 |                 let stream = try await executeCommandStream(command, inShell: inShell)
    |                                        `- note: closure captures 'self' which is accessible to code in the current task
470 |                 for try await chunk in stream {
471 |                     switch chunk {
[843/846] Compiling Citadel TTY.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:40:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 38 |     func handlerAdded(context: ChannelHandlerContext) {
 39 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
 40 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 41 |         }
 42 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:59:21: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 57 |             guard let shell = shell, let parent = context.channel.parent else {
 58 |                 _ = context.channel.triggerUserOutboundEvent(ChannelFailureEvent()).flatMap {
 59 |                     self.configured.succeed(())
    |                     `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 60 |                     return context.channel.close()
 61 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:60:28: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 58 |                 _ = context.channel.triggerUserOutboundEvent(ChannelFailureEvent()).flatMap {
 59 |                     self.configured.succeed(())
 60 |                     return context.channel.close()
    |                            `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 61 |                 }
 62 |                 return
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:67:30: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 65 |             parent.pipeline.handler(type: NIOSSHHandler.self).flatMap { handler in
 66 |                 ShellServerSubsystem.setupChannelHanders(
 67 |                     channel: context.channel,
    |                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 68 |                     shell: shell,
 69 |                     logger: .init(label: "nl.orlandos.citadel.sftp-server"),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:73:31: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 71 |                 )
 72 |             }.flatMap { () -> EventLoopFuture<Void> in
 73 |                 let promise = context.eventLoop.makePromise(of: Void.self)
    |                               `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 74 |                 context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 75 |                 self.configured.succeed(())
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:75:17: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 73 |                 let promise = context.eventLoop.makePromise(of: Void.self)
 74 |                 context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 75 |                 self.configured.succeed(())
    |                 `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 76 |                 return promise.futureResult
 77 |             }.whenFailure { _ in
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:78:17: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 76 |                 return promise.futureResult
 77 |             }.whenFailure { _ in
 78 |                 context.channel.triggerUserOutboundEvent(ChannelFailureEvent(), promise: nil)
    |                 `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 79 |             }
 80 |         case let event as SSHChannelRequestEvent.SubsystemRequest:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:91:34: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 89 |                 parent.pipeline.handler(type: NIOSSHHandler.self).flatMap { handler in
 90 |                     SFTPServerSubsystem.setupChannelHanders(
 91 |                         channel: context.channel,
    |                                  `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 92 |                         sftp: sftp,
 93 |                         logger: .init(label: "nl.orlandos.citadel.sftp-server"),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:97:35: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 95 |                     )
 96 |                 }.flatMap { () -> EventLoopFuture<Void> in
 97 |                     let promise = context.eventLoop.makePromise(of: Void.self)
    |                                   `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 98 |                     context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 99 |                     self.configured.succeed(())
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:99:21: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 97 |                     let promise = context.eventLoop.makePromise(of: Void.self)
 98 |                     context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 99 |                     self.configured.succeed(())
    |                     `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
100 |                     return promise.futureResult
101 |                 }.whenFailure { _ in
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:102:21: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
100 |                     return promise.futureResult
101 |                 }.whenFailure { _ in
102 |                     context.channel.triggerUserOutboundEvent(ChannelFailureEvent(), promise: nil)
    |                     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
103 |                 }
104 |             default:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:114:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
112 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
113 |         configured.futureResult.whenSuccess {
114 |             context.fireChannelRead(data)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
115 |         }
116 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:114:37: warning: capture of 'data' with non-sendable type 'NIOAny' in a '@Sendable' closure
112 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
113 |         configured.futureResult.whenSuccess {
114 |             context.fireChannelRead(data)
    |                                     `- warning: capture of 'data' with non-sendable type 'NIOAny' in a '@Sendable' closure
115 |         }
116 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/NIOAny.swift:45:15: note: struct 'NIOAny' does not conform to the 'Sendable' protocol
 43 | ///         }
 44 | ///     }
 45 | public struct NIOAny {
    |               `- note: struct 'NIOAny' does not conform to the 'Sendable' protocol
 46 |     @usableFromInline
 47 |     /* private but _versioned */ let _storage: _NIOAny
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:102:47: warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
100 |         }
101 |
102 |         done.futureResult.whenFailure(context.fireErrorCaught)
    |                                               `- warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
103 |     }
104 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:84:46: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 82 |
 83 |                 group.addTask {
 84 |                     for try await message in self.outbound.stream {
    |                                              `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 85 |                         switch message.event {
 86 |                         case .stdout(let data):
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:124:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
122 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
123 |             self.logger.debug("Failed to set allowRemoteHalfClosure: \(error)")
124 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
125 |         }
126 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:285:17: warning: capture of 'self' with non-sendable type 'SSHClient' in a '@Sendable' closure; this is an error in the Swift 6 language mode
283 |                 streamContinuation.yield(.stderr(stderr))
284 |             case .eof(let error):
285 |                 self.logger.debug("EOF triggered, ending the command stream.")
    |                 `- warning: capture of 'self' with non-sendable type 'SSHClient' in a '@Sendable' closure; this is an error in the Swift 6 language mode
286 |                 if let error {
287 |                     streamContinuation.finish(throwing: error)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:112:20: note: class 'SSHClient' does not conform to the 'Sendable' protocol
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:75:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 73 |         done.completeWithTask {
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 76 |                     try await self.delegate.startShell(
    |                               `- note: closure captures non-Sendable 'self'
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- note: closure captures non-Sendable 'shellContext'
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:83:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 81 |                 }
 82 |
 83 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 84 |                     for try await message in self.outbound.stream {
    |                                              `- note: closure captures 'self' which is accessible to code in the current task
 85 |                         switch message.event {
 86 |                         case .stdout(let data):
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:467:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
465 |         )
466 |
467 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
468 |             do {
469 |                 let stream = try await executeCommandStream(command, inShell: inShell)
    |                                        `- note: closure captures 'self' which is accessible to code in the current task
470 |                 for try await chunk in stream {
471 |                     switch chunk {
[844/853] Compiling CitadelServerExample Extensions.swift
[845/853] Compiling CitadelServerExample HostKeyFile.swift
[846/853] Compiling CitadelServerExample Terminal.swift
[847/853] Compiling CitadelServerExample Server.swift
/Users/admin/builder/spi-builder-workspace/Sources/CitadelServerExample/Server.swift:24:42: warning: non-sendable result type 'SSHServer' cannot be sent from nonisolated context in call to static method 'host(host:port:hostKeys:algorithms:protocolOptions:logger:authenticationDelegate:group:)'; this is an error in the Swift 6 language mode
22 |         }
23 |
24 |         let server = try await SSHServer.host(
   |                                          `- warning: non-sendable result type 'SSHServer' cannot be sent from nonisolated context in call to static method 'host(host:port:hostKeys:algorithms:protocolOptions:logger:authenticationDelegate:group:)'; this is an error in the Swift 6 language mode
25 |             host: "localhost",
26 |             port: 2323,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:186:20: note: class 'SSHServer' does not conform to the 'Sendable' protocol
184 | /// The server can be closed using the `close()` method.
185 | /// - Note: This class is not thread safe.
186 | public final class SSHServer {
    |                    `- note: class 'SSHServer' does not conform to the 'Sendable' protocol
187 |     let channel: Channel
188 |     let delegate: CitadelServerDelegate
/Users/admin/builder/spi-builder-workspace/Sources/CitadelServerExample/Server.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Citadel'
 1 | import Citadel
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Citadel'
 2 | import Crypto
 3 | import Foundation
[848/853] Compiling CitadelServerExample EchoShell.swift
[849/853] Compiling CitadelServerExample BasicCommands.swift
[850/853] Emitting module CitadelServerExample
[850/853] Write Objects.LinkFileList
[851/853] Linking CitadelServerExample
[852/853] Applying CitadelServerExample
Build complete! (25.60s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-nio-ssh",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.3.2",
            "upper_bound" : "0.4.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Joannis/swift-nio-ssh.git"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    },
    {
      "identity" : "bigint",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.2.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/attaswift/BigInt.git"
    },
    {
      "identity" : "swift-crypto",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.1.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-crypto.git"
    },
    {
      "identity" : "colorizeswift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mtynior/ColorizeSwift.git"
    }
  ],
  "manifest_display_name" : "Citadel",
  "name" : "Citadel",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "Citadel",
      "targets" : [
        "Citadel"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CitadelServerExample",
      "targets" : [
        "CitadelServerExample"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CitadelTests",
      "module_type" : "SwiftTarget",
      "name" : "CitadelTests",
      "path" : "Tests/CitadelTests",
      "product_dependencies" : [
        "NIOSSH",
        "BigInt",
        "Logging"
      ],
      "sources" : [
        "Citadel2Tests.swift",
        "EndToEndTests.swift",
        "KeyTests.swift"
      ],
      "target_dependencies" : [
        "Citadel"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CitadelServerExample",
      "module_type" : "SwiftTarget",
      "name" : "CitadelServerExample",
      "path" : "Sources/CitadelServerExample",
      "product_dependencies" : [
        "ColorizeSwift"
      ],
      "product_memberships" : [
        "CitadelServerExample"
      ],
      "sources" : [
        "EchoShell/BasicCommands.swift",
        "EchoShell/EchoShell.swift",
        "EchoShell/Extensions.swift",
        "EchoShell/Terminal.swift",
        "HostKeyFile.swift",
        "Server.swift"
      ],
      "target_dependencies" : [
        "Citadel"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "Citadel",
      "module_type" : "SwiftTarget",
      "name" : "Citadel",
      "path" : "Sources/Citadel",
      "product_dependencies" : [
        "NIOSSH",
        "Crypto",
        "_CryptoExtras",
        "BigInt",
        "Logging"
      ],
      "product_memberships" : [
        "Citadel",
        "CitadelServerExample"
      ],
      "sources" : [
        "Algorithms/AES.swift",
        "Algorithms/DH-Helpers.swift",
        "Algorithms/DiffieHellmanGroup14Sha1.swift",
        "Algorithms/DiffieHellmanGroup14Sha256.swift",
        "Algorithms/RSA.swift",
        "BCrypt.swift",
        "ByteBufferHelpers.swift",
        "ChannelUnwrapper.swift",
        "Client.swift",
        "ClientSession.swift",
        "DirectTCPIP/Client/DirectTCPIP+Client.swift",
        "DirectTCPIP/Server/DirectTCPIP+Server.swift",
        "Errors.swift",
        "Exec/Client/ExecClient.swift",
        "Exec/Server/ExecDelegate.swift",
        "Exec/Server/ExecHandler.swift",
        "NIOGlueHandler.swift",
        "OpenSSHKey.swift",
        "SFTP/Client/SFTPClient.swift",
        "SFTP/Client/SFTPClientInboundHandler.swift",
        "SFTP/Client/SFTPFile.swift",
        "SFTP/SFTPBasicEnums.swift",
        "SFTP/SFTPFileFlags.swift",
        "SFTP/SFTPMessage.swift",
        "SFTP/SFTPMessageParser.swift",
        "SFTP/SFTPSerializer.swift",
        "SFTP/Server/SFTPServer.swift",
        "SFTP/Server/SFTPServerInboundHandler.swift",
        "SSHAuthenticationMethod.swift",
        "SSHCert.swift",
        "SSHConnectionPoolSettings.swift",
        "SSHKeyTypeDetection.swift",
        "Server.swift",
        "Shell/Server/ShellDelegate.swift",
        "TTY/Client/TTY.swift"
      ],
      "target_dependencies" : [
        "CCitadelBcrypt"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CCitadelBcrypt",
      "module_type" : "ClangTarget",
      "name" : "CCitadelBcrypt",
      "path" : "Sources/CCitadelBcrypt",
      "product_memberships" : [
        "Citadel",
        "CitadelServerExample"
      ],
      "sources" : [
        "bcrypt-kdf.c",
        "bcrypt.c",
        "blf.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/orlandos-nl/citadel/0.11.0
Repository:               orlandos-nl/Citadel
Swift version used:       6.1
Target:                   Citadel
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
 * branch            4633b45fc732d8c55568be09dd852f9dc1582c25 -> FETCH_HEAD
HEAD is now at 4633b45 Update the artifact
Cloned https://github.com/swiftlang/swift-docc-render-artifact
Extracting symbol information for 'Citadel'...
Finished extracting symbol information for 'Citadel'. (13.44s)
Building documentation for 'Citadel'...
Finished building documentation for 'Citadel' (0.44s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/orlandos-nl/citadel/0.11.0
Updating https://github.com/apple/swift-crypto.git
Updating https://github.com/mtynior/ColorizeSwift.git
Updating https://github.com/apple/swift-collections.git
Updating https://github.com/attaswift/BigInt.git
Updating https://github.com/apple/swift-system.git
Updating https://github.com/apple/swift-nio.git
Updating https://github.com/apple/swift-atomics.git
Updated https://github.com/mtynior/ColorizeSwift.git (0.57s)
Updated https://github.com/apple/swift-crypto.git (0.57s)
Updating https://github.com/Joannis/swift-nio-ssh.git
Updating https://github.com/apple/swift-log.git
Updated https://github.com/apple/swift-atomics.git (0.81s)
Updated https://github.com/apple/swift-system.git (0.81s)
Updated https://github.com/apple/swift-nio.git (0.81s)
Updated https://github.com/apple/swift-collections.git (0.81s)
Updated https://github.com/attaswift/BigInt.git (0.81s)
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Updated https://github.com/Joannis/swift-nio-ssh.git (0.57s)
Updated https://github.com/apple/swift-log.git (0.57s)
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.71s)
Computing version for https://github.com/mtynior/ColorizeSwift.git
Computed https://github.com/mtynior/ColorizeSwift.git at 1.6.0 (2.16s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 2.0.5 (0.55s)
Computing version for https://github.com/attaswift/BigInt.git
Computed https://github.com/attaswift/BigInt.git at 5.3.0 (0.55s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.5.4 (0.55s)
Computing version for https://github.com/Joannis/swift-nio-ssh.git
Computed https://github.com/Joannis/swift-nio-ssh.git at 0.3.2 (0.58s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.47s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.65.0 (0.51s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.2.1 (0.56s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.0 (0.64s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.4 (0.59s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.80s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.47s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.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
Building for debugging...
[0/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/53] Compiling SymbolKit GenericConstraint.swift
[7/53] Compiling SymbolKit GenericParameter.swift
[8/53] Compiling SymbolKit Generics.swift
[9/53] Compiling SymbolKit Namespace.swift
[10/57] Compiling SymbolKit DeclarationFragments.swift
[11/57] Compiling SymbolKit Fragment.swift
[12/57] Compiling SymbolKit FragmentKind.swift
[13/57] Compiling SymbolKit FunctionParameter.swift
[14/57] Compiling SymbolKit FunctionSignature.swift
[15/57] Emitting module SymbolKit
[16/57] Compiling SymbolKit Mixin+Equals.swift
[17/57] Compiling SymbolKit Mixin+Hash.swift
[18/57] Compiling SymbolKit Mixin.swift
[19/57] Compiling SymbolKit LineList.swift
[20/57] Compiling SymbolKit Position.swift
[21/57] Compiling SymbolKit Identifier.swift
[22/57] Compiling SymbolKit KindIdentifier.swift
[23/57] Compiling SymbolKit Location.swift
[24/57] Compiling SymbolKit Mutability.swift
[25/57] Compiling SymbolKit SemanticVersion.swift
[26/57] Compiling SymbolKit AccessControl.swift
[27/57] Compiling SymbolKit Availability.swift
[28/57] Compiling SymbolKit AvailabilityItem.swift
[29/57] Compiling SymbolKit Domain.swift
[30/57] Compiling SymbolKit Names.swift
[31/57] Compiling SymbolKit SPI.swift
[32/57] Compiling SymbolKit Snippet.swift
[33/57] Compiling SymbolKit Extension.swift
[34/57] Compiling SymbolKit SourceRange.swift
[35/57] Compiling SymbolKit Metadata.swift
[36/57] Compiling SymbolKit Module.swift
[37/57] Compiling SymbolKit OperatingSystem.swift
[38/57] Compiling SymbolKit Platform.swift
[39/57] Compiling SymbolKit Relationship.swift
[40/57] Compiling SymbolKit RelationshipKind.swift
[41/57] Compiling SymbolKit SourceOrigin.swift
[42/57] Compiling SymbolKit GenericConstraints.swift
[43/57] Compiling SymbolKit Swift.swift
[44/57] Compiling SymbolKit Symbol.swift
[45/57] Compiling SymbolKit SymbolKind.swift
[46/57] Compiling SymbolKit SymbolGraph.swift
[47/57] Compiling SymbolKit GraphCollector.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Emitting module Snippets
[53/57] Compiling Snippets SnippetParser.swift
[54/57] Compiling Snippets Snippet.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (5.36s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/133] Compiling _CollectionsUtilities UnsafeBufferPointer+Extras.swift
[3/134] Compiling BigInt Division.swift
[4/134] Compiling BigInt Bitwise Ops.swift
[5/134] Compiling BigInt Codable.swift
[6/134] Compiling BigInt Comparable.swift
[7/134] Compiling BigInt Integer Conversion.swift
[8/134] Compiling BigInt Multiplication.swift
[9/134] Compiling BigInt Addition.swift
[10/134] Compiling BigInt BigInt.swift
[15/136] Compiling BigInt Prime Test.swift
[16/136] Compiling BigInt Random.swift
[19/136] Compiling Logging MetadataProvider.swift
[22/136] Compiling BigInt BigUInt.swift
[23/136] Compiling BigInt Shifts.swift
[24/136] Compiling BigInt Square Root.swift
[25/136] Compiling BigInt Strideable.swift
[26/136] Compiling BigInt String Conversion.swift
[27/142] Compiling Logging Locks.swift
[28/142] Compiling _CollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[29/142] Emitting module Logging
[30/142] Compiling NIOConcurrencyHelpers lock.swift
[31/142] Emitting module _NIOBase64
[32/142] Compiling _NIOBase64 Base64.swift
[33/142] Compiling Crypto Digest.swift
[34/142] Compiling Crypto Digests.swift
[35/142] Compiling Crypto HashFunctions.swift
[36/142] Compiling Crypto HashFunctions_SHA2.swift
[37/142] Compiling Crypto Insecure.swift
[38/142] Compiling Crypto Insecure_HashFunctions.swift
[39/142] Compiling Crypto MessageAuthenticationCode.swift
[40/142] Compiling Crypto AES.swift
[41/142] Compiling Crypto ECDSASignature_boring.swift
[42/142] Compiling Crypto ECDSA_boring.swift
[43/142] Compiling Crypto EdDSA_boring.swift
[44/142] Compiling Crypto ECDSA.swift
[45/142] Compiling Crypto ASN1BitString.swift
[46/142] Compiling Crypto ASN1Identifier.swift
[47/142] Compiling Crypto ASN1Integer.swift
[48/142] Compiling Crypto ASN1OctetString.swift
[49/142] Compiling Crypto ArraySliceBigint.swift
[50/142] Compiling Crypto ObjectIdentifier.swift
[51/142] Compiling Crypto ECDSASignature.swift
[52/142] Compiling Crypto PEMDocument.swift
[53/142] Compiling Crypto PKCS8PrivateKey.swift
[54/142] Compiling Crypto SEC1PrivateKey.swift
[55/142] Compiling Crypto SubjectPublicKeyInfo.swift
[56/142] Compiling Crypto CryptoKitErrors.swift
[57/142] Compiling Crypto Digest_boring.swift
[58/142] Compiling Crypto Ed25519.swift
[59/142] Compiling Crypto NISTCurvesKeys.swift
[60/142] Compiling Crypto X25519Keys.swift
[61/142] Compiling Crypto SymmetricKeys.swift
[62/142] Compiling Crypto HMAC.swift
[63/142] Compiling Crypto MACFunctions.swift
[64/142] Compiling Atomics IntegerOperations.swift
[65/142] Compiling Atomics Unmanaged extensions.swift
[66/142] Compiling _NIODataStructures _TinyArray.swift
[67/142] Compiling _NIODataStructures Heap.swift
[68/142] Emitting module _NIODataStructures
[69/142] Compiling _NIODataStructures PriorityQueue.swift
[70/142] Emitting module Crypto
[72/142] Compiling BigInt GCD.swift
[73/142] Compiling BigInt Hashable.swift
[74/142] Compiling BigInt Data Conversion.swift
[75/142] Emitting module BigInt
[76/144] Emitting module _CollectionsUtilities
[77/144] Compiling NIOConcurrencyHelpers NIOLock.swift
[78/144] Emitting module NIOConcurrencyHelpers
[79/144] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[80/144] Compiling NIOConcurrencyHelpers atomics.swift
[81/144] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[89/144] Compiling BigInt Subtraction.swift
[90/144] Compiling BigInt Words and Bits.swift
[91/144] Compiling Crypto CryptoKitErrors_boring.swift
[92/144] Compiling Crypto FiniteFieldArithmeticContext_boring.swift
[93/144] Compiling Crypto RNG_boring.swift
[114/144] Compiling Logging LogHandler.swift
[115/144] Compiling Logging Logging.swift
[116/144] Compiling Crypto SafeCompare_boring.swift
[117/144] Compiling Crypto Zeroization_boring.swift
[118/144] Compiling Crypto PrettyBytes.swift
[119/144] Compiling Crypto SafeCompare.swift
[120/144] Compiling Crypto SecureBytes.swift
[121/144] Compiling Crypto Zeroization.swift
[142/170] Compiling DequeModule _DequeSlot.swift
[143/171] Compiling DequeModule _UnsafeWrappedBuffer.swift
[146/171] Compiling _CryptoExtras CryptoKitErrors_boring.swift
[147/171] Compiling _CryptoExtras Error.swift
[148/171] Compiling _CryptoExtras DigestType.swift
[149/171] Compiling _CryptoExtras PEMDocument.swift
[150/171] Compiling _CryptoExtras BoringSSLHelpers.swift
[151/171] Compiling DequeModule _DequeBufferHeader.swift
[152/171] Compiling DequeModule Deque.swift
[153/171] Compiling DequeModule _DequeBuffer.swift
[154/171] Compiling DequeModule Deque+Sendable.swift
[155/171] Compiling DequeModule Deque+Testing.swift
[156/171] Compiling DequeModule Deque+Extras.swift
[157/171] Compiling DequeModule Deque+Hashable.swift
[158/171] Compiling DequeModule Deque._Storage.swift
[159/171] Compiling DequeModule Deque._UnsafeHandle.swift
[160/171] Emitting module Atomics
[161/171] Compiling DequeModule Deque+Codable.swift
[162/171] Compiling DequeModule Deque+Collection.swift
[163/171] Compiling DequeModule Deque+CustomReflectable.swift
[164/171] Compiling DequeModule Deque+Descriptions.swift
[165/171] Compiling DequeModule Deque+Equatable.swift
[166/171] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[167/171] Compiling _CryptoExtras RSA.swift
[168/171] Compiling _CryptoExtras RSA_boring.swift
[169/171] Emitting module _CryptoExtras
[170/171] Compiling _CryptoExtras RSA_security.swift
[171/171] Emitting module DequeModule
[172/231] Compiling NIOCore GlobalSingletons.swift
[173/231] Compiling NIOCore IO.swift
[174/231] Compiling NIOCore IOData.swift
[175/231] Compiling NIOCore IPProtocol.swift
[176/231] Compiling NIOCore IntegerBitPacking.swift
[177/231] Compiling NIOCore IntegerTypes.swift
[178/237] Compiling NIOCore EventLoopFuture+Deprecated.swift
[179/237] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[180/237] Compiling NIOCore EventLoopFuture.swift
[181/237] Compiling NIOCore FileDescriptor.swift
[182/237] Compiling NIOCore FileHandle.swift
[183/237] Compiling NIOCore FileRegion.swift
[184/237] Compiling NIOCore AddressedEnvelope.swift
[185/237] Compiling NIOCore AsyncAwaitSupport.swift
[186/237] Compiling NIOCore AsyncChannel.swift
[187/237] Compiling NIOCore AsyncChannelInboundStream.swift
[188/237] Compiling NIOCore AsyncChannelInboundStreamChannelHandler.swift
[189/237] Compiling NIOCore AsyncChannelOutboundWriter.swift
[190/237] Compiling NIOCore AsyncChannelOutboundWriterHandler.swift
[191/237] Compiling NIOCore SocketOptionProvider.swift
[192/237] Compiling NIOCore SystemCallHelpers.swift
[193/237] Compiling NIOCore TimeAmount+Duration.swift
[194/237] Compiling NIOCore TypeAssistedChannelHandler.swift
[195/237] Compiling NIOCore UniversalBootstrapSupport.swift
[196/237] Compiling NIOCore Utilities.swift
[197/237] Compiling NIOCore NIOAsyncSequenceProducer.swift
[198/237] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[199/237] Compiling NIOCore NIOAsyncWriter.swift
[200/237] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[201/237] Compiling NIOCore BSDSocketAPI.swift
[202/237] Compiling NIOCore ByteBuffer-aux.swift
[203/237] Compiling NIOCore ByteBuffer-conversions.swift
[204/237] Compiling NIOCore Interfaces.swift
[205/237] Compiling NIOCore Linux.swift
[206/237] Compiling NIOCore MarkedCircularBuffer.swift
[207/237] Compiling NIOCore MulticastChannel.swift
[208/237] Compiling NIOCore NIOAny.swift
[209/237] Compiling NIOCore NIOCloseOnErrorHandler.swift
[210/237] Compiling NIOCore ChannelHandler.swift
[211/237] Compiling NIOCore ChannelHandlers.swift
[212/237] Compiling NIOCore ChannelInvoker.swift
[213/237] Compiling NIOCore ChannelOption.swift
[214/237] Compiling NIOCore ChannelPipeline.swift
[215/237] Compiling NIOCore CircularBuffer.swift
[216/237] Compiling NIOCore Codec.swift
[217/237] Compiling NIOCore NIOLoopBound.swift
[218/237] Compiling NIOCore NIOSendable.swift
[219/237] Compiling NIOCore PointerHelpers.swift
[220/237] Compiling NIOCore RecvByteBufferAllocator.swift
[221/237] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[222/237] Compiling NIOCore SocketAddresses.swift
[223/237] Compiling NIOCore ByteBuffer-core.swift
[224/237] Compiling NIOCore ByteBuffer-hexdump.swift
[225/237] Compiling NIOCore ByteBuffer-int.swift
[226/237] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[227/237] Compiling NIOCore ByteBuffer-multi-int.swift
[228/237] Compiling NIOCore ByteBuffer-views.swift
[229/237] Compiling NIOCore Channel.swift
[230/237] Compiling NIOCore ConvenienceOptionSupport.swift
[231/237] Compiling NIOCore DeadChannel.swift
[232/237] Compiling NIOCore DispatchQueue+WithFuture.swift
[233/237] Compiling NIOCore EventLoop+Deprecated.swift
[234/237] Compiling NIOCore EventLoop+SerialExecutor.swift
[235/237] Compiling NIOCore EventLoop.swift
[236/237] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[237/237] Emitting module NIOCore
[238/290] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[239/290] Compiling NIOEmbedded AsyncTestingChannel.swift
[240/290] Compiling NIOEmbedded Embedded.swift
[241/290] Emitting module NIOEmbedded
[242/290] Compiling NIOPosix SocketProtocols.swift
[243/290] Compiling NIOPosix System.swift
[244/290] Compiling NIOPosix Thread.swift
[245/290] Compiling NIOPosix ThreadPosix.swift
[246/290] Compiling NIOPosix ThreadWindows.swift
[247/290] Compiling NIOPosix Selectable.swift
[248/290] Compiling NIOPosix SelectableChannel.swift
[249/290] Compiling NIOPosix SelectableEventLoop.swift
[250/290] Compiling NIOPosix SelectorEpoll.swift
[251/290] Compiling NIOPosix SelectorGeneric.swift
[252/295] Emitting module NIOPosix
[253/295] Compiling NIOPosix SelectorKqueue.swift
[254/295] Compiling NIOPosix SelectorUring.swift
[255/295] Compiling NIOPosix ServerSocket.swift
[256/295] Compiling NIOPosix Socket.swift
[257/295] Compiling NIOPosix SocketChannel.swift
[258/295] Compiling NIOPosix BSDSocketAPICommon.swift
[259/295] Compiling NIOPosix BSDSocketAPIPosix.swift
[260/295] Compiling NIOPosix BSDSocketAPIWindows.swift
[261/295] Compiling NIOPosix BaseSocket.swift
[262/295] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[263/295] Compiling NIOPosix BaseSocketChannel.swift
[264/295] Compiling NIOPosix PooledRecvBufferAllocator.swift
[265/295] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[266/295] Compiling NIOPosix PosixSingletons.swift
[267/295] Compiling NIOPosix RawSocketBootstrap.swift
[268/295] Compiling NIOPosix Resolver.swift
[269/295] Compiling NIOPosix BaseStreamSocketChannel.swift
[270/295] Compiling NIOPosix Bootstrap.swift
[271/295] Compiling NIOPosix ControlMessage.swift
[272/295] Compiling NIOPosix DatagramVectorReadManager.swift
[273/295] Compiling NIOPosix FileDescriptor.swift
[274/295] Compiling NIOPosix GetaddrinfoResolver.swift
[275/295] Compiling NIOPosix HappyEyeballs.swift
[276/295] Compiling NIOPosix IO.swift
[277/295] Compiling NIOPosix IntegerBitPacking.swift
[278/295] Compiling NIOPosix IntegerTypes.swift
[279/295] Compiling NIOPosix Linux.swift
[280/295] Compiling NIOPosix LinuxCPUSet.swift
[281/295] Compiling NIOPosix PendingWritesManager.swift
[282/295] Compiling NIOPosix PipeChannel.swift
[283/295] Compiling NIOPosix PipePair.swift
[284/295] Compiling NIOPosix PointerHelpers.swift
[285/295] Compiling NIOPosix Pool.swift
[286/295] Compiling NIOPosix LinuxUring.swift
[287/295] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[288/295] Compiling NIOPosix NIOThreadPool.swift
[289/295] Compiling NIOPosix NonBlockingFileIO.swift
[290/295] Compiling NIOPosix PendingDatagramWritesManager.swift
[291/295] Compiling NIOPosix UnsafeTransfer.swift
[292/295] Compiling NIOPosix Utilities.swift
[293/295] Compiling NIOPosix VsockAddress.swift
[294/295] Compiling NIOPosix VsockChannelEvents.swift
[295/295] Compiling NIOPosix resource_bundle_accessor.swift
[296/297] Compiling NIO Exports.swift
[297/297] Emitting module NIO
[298/301] Compiling NIOFoundationCompat JSONSerialization+ByteBuffer.swift
[299/301] Emitting module NIOFoundationCompat
[300/301] Compiling NIOFoundationCompat ByteBuffer-foundation.swift
[301/301] Compiling NIOFoundationCompat Codable+ByteBuffer.swift
[302/362] Compiling NIOSSH RekeyingState.swift
[303/362] Compiling NIOSSH SentKexInitWhenActiveState.swift
[304/362] Compiling NIOSSH SentNewKeysState.swift
[305/362] Compiling NIOSSH SentVersionState.swift
[306/362] Compiling NIOSSH UserAuthenticationState.swift
[307/362] Compiling NIOSSH Constants.swift
[308/362] Compiling NIOSSH GlobalRequestDelegate.swift
[309/368] Compiling NIOSSH SSHServerConfiguration.swift
[310/368] Compiling NIOSSH SSHTerminalModes.swift
[311/368] Compiling NIOSSH AESGCM.swift
[312/368] Compiling NIOSSH SSHTransportProtection.swift
[313/368] Compiling NIOSSH ClientUserAuthenticationDelegate.swift
[314/368] Compiling NIOSSH DenyAllServerAuthDelegate.swift
[315/368] Emitting module NIOSSH
[316/368] Compiling NIOSSH OutboundFlowController.swift
[317/368] Compiling NIOSSH SSHChannelData.swift
[318/368] Compiling NIOSSH SSHChannelIdentifier.swift
[319/368] Compiling NIOSSH SSHChannelMultiplexer.swift
[320/368] Compiling NIOSSH SSHChannelType.swift
[321/368] Compiling NIOSSH SSHChildChannel.swift
[322/368] Compiling NIOSSH AcceptsChannelMessages.swift
[323/368] Compiling NIOSSH ActiveState.swift
[324/368] Compiling NIOSSH IdleState.swift
[325/368] Compiling NIOSSH KeyExchangeState.swift
[326/368] Compiling NIOSSH ReceivedKexInitWhenActiveState.swift
[327/368] Compiling NIOSSH ReceivedNewKeysState.swift
[328/368] Compiling NIOSSH RekeyingReceivedNewKeysState.swift
[329/368] Compiling NIOSSH RekeyingSentNewKeysState.swift
[330/368] Compiling NIOSSH AcceptsKeyExchangeMessages.swift
[331/368] Compiling NIOSSH AcceptsUserAuthMessages.swift
[332/368] Compiling NIOSSH AcceptsVersionMessages.swift
[333/368] Compiling NIOSSH SendsChannelMessages.swift
[334/368] Compiling NIOSSH SendsKeyExchangeMessages.swift
[335/368] Compiling NIOSSH SendsUserAuthMessages.swift
[336/368] Compiling NIOSSH SSHConnectionStateMachine.swift
[337/368] Compiling NIOSSH ServerUserAuthenticationDelegate.swift
[338/368] Compiling NIOSSH SimplePasswordDelegate.swift
[339/368] Compiling NIOSSH UserAuthDelegate.swift
[340/368] Compiling NIOSSH UserAuthSignablePayload.swift
[341/368] Compiling NIOSSH UserAuthenticationMethod.swift
[342/368] Compiling NIOSSH UserAuthenticationStateMachine.swift
[343/368] Compiling NIOSSH ECDHCompatibleKey.swift
[344/368] Compiling NIOSSH EllipticCurveKeyExchange.swift
[345/368] Compiling NIOSSH SSHKeyExchangeResult.swift
[346/368] Compiling NIOSSH SSHKeyExchangeStateMachine.swift
[347/368] Compiling NIOSSH ClientServerAuthenticationDelegate.swift
[348/368] Compiling NIOSSH CustomKeys.swift
[349/368] Compiling NIOSSH NIOSSHCertifiedPublicKey.swift
[350/368] Compiling NIOSSH ByteBuffer+SSH.swift
[351/368] Compiling NIOSSH CSPRNG.swift
[352/368] Compiling NIOSSH ChildChannelOptions.swift
[353/368] Compiling NIOSSH ChildChannelStateMachine.swift
[354/368] Compiling NIOSSH ChildChannelUserEvents.swift
[355/368] Compiling NIOSSH ChildChannelWindowManager.swift
[356/368] Compiling NIOSSH ChildChannelWritabilityManager.swift
[357/368] Compiling NIOSSH NIOSSHPrivateKey.swift
[358/368] Compiling NIOSSH NIOSSHPublicKey.swift
[359/368] Compiling NIOSSH NIOSSHSignature.swift
[360/368] Compiling NIOSSH NIOSSHError.swift
[361/368] Compiling NIOSSH NIOSSHHandler.swift
[362/368] Compiling NIOSSH NIOSSHSendable.swift
[363/368] Compiling NIOSSH Role.swift
[364/368] Compiling NIOSSH SSHClientConfiguration.swift
[365/368] Compiling NIOSSH SSHEncryptablePacketPayload.swift
[366/368] Compiling NIOSSH SSHMessages.swift
[367/368] Compiling NIOSSH SSHPacketParser.swift
[368/368] Compiling NIOSSH SSHPacketSerializer.swift
[369/401] Emitting module Citadel
[370/404] Compiling Citadel SFTPMessage.swift
[371/404] Compiling Citadel SFTPMessageParser.swift
[372/404] Compiling Citadel SFTPSerializer.swift
[373/404] Compiling Citadel Errors.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:143:19: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
141 |                 .channelInitializer { pipeChannel in
142 |                     pipeChannel.pipeline.addHandlers(SSHInboundChannelDataWrapper(), theirs)
143 |                 }.withPipes(
    |                   |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
    |                   `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
144 |                     inputDescriptor: dup(handler.stdoutPipe.fileHandleForReading.fileDescriptor),
145 |                     outputDescriptor: dup(handler.stdinPipe.fileHandleForWriting.fileDescriptor)
[374/404] Compiling Citadel ExecClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:143:19: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
141 |                 .channelInitializer { pipeChannel in
142 |                     pipeChannel.pipeline.addHandlers(SSHInboundChannelDataWrapper(), theirs)
143 |                 }.withPipes(
    |                   |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
    |                   `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
144 |                     inputDescriptor: dup(handler.stdoutPipe.fileHandleForReading.fileDescriptor),
145 |                     outputDescriptor: dup(handler.stdinPipe.fileHandleForWriting.fileDescriptor)
[375/404] Compiling Citadel ExecDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:143:19: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
141 |                 .channelInitializer { pipeChannel in
142 |                     pipeChannel.pipeline.addHandlers(SSHInboundChannelDataWrapper(), theirs)
143 |                 }.withPipes(
    |                   |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
    |                   `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
144 |                     inputDescriptor: dup(handler.stdoutPipe.fileHandleForReading.fileDescriptor),
145 |                     outputDescriptor: dup(handler.stdinPipe.fileHandleForWriting.fileDescriptor)
[376/404] Compiling Citadel ExecHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:143:19: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
141 |                 .channelInitializer { pipeChannel in
142 |                     pipeChannel.pipeline.addHandlers(SSHInboundChannelDataWrapper(), theirs)
143 |                 }.withPipes(
    |                   |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
    |                   `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
144 |                     inputDescriptor: dup(handler.stdoutPipe.fileHandleForReading.fileDescriptor),
145 |                     outputDescriptor: dup(handler.stdinPipe.fileHandleForWriting.fileDescriptor)
[377/404] Compiling Citadel SSHCert.swift
[378/404] Compiling Citadel SSHConnectionPoolSettings.swift
[379/404] Compiling Citadel SSHKeyTypeDetection.swift
[380/404] Compiling Citadel SFTPFile.swift
[381/404] Compiling Citadel SFTPBasicEnums.swift
[382/404] Compiling Citadel SFTPFileFlags.swift
[383/404] Compiling Citadel RSA.swift
[384/404] Compiling Citadel BCrypt.swift
[385/404] Compiling Citadel ByteBufferHelpers.swift
[386/404] Compiling Citadel ChannelUnwrapper.swift
[387/404] Compiling Citadel SFTPServer.swift
[388/404] Compiling Citadel SFTPServerInboundHandler.swift
[389/404] Compiling Citadel SSHAuthenticationMethod.swift
[390/404] Compiling Citadel Client.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:183:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
181 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
182 |         let session = try await handshakeHandler.authenticated.map {
183 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
184 |         }.get()
185 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  2 | import Crypto
  3 | import Logging
  4 | import NIOSSH
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  5 |
  6 | extension SSHAlgorithms.Modification<NIOSSHTransportProtection.Type> {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:213:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
211 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
212 |         let session = try await handshakeHandler.authenticated.map {
213 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
214 |         }.get()
215 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
[391/404] Compiling Citadel ClientSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:183:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
181 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
182 |         let session = try await handshakeHandler.authenticated.map {
183 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
184 |         }.get()
185 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  2 | import Crypto
  3 | import Logging
  4 | import NIOSSH
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  5 |
  6 | extension SSHAlgorithms.Modification<NIOSSHTransportProtection.Type> {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:213:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
211 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
212 |         let session = try await handshakeHandler.authenticated.map {
213 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
214 |         }.get()
215 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
[392/404] Compiling Citadel DirectTCPIP+Client.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:183:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
181 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
182 |         let session = try await handshakeHandler.authenticated.map {
183 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
184 |         }.get()
185 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  2 | import Crypto
  3 | import Logging
  4 | import NIOSSH
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  5 |
  6 | extension SSHAlgorithms.Modification<NIOSSHTransportProtection.Type> {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:213:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
211 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
212 |         let session = try await handshakeHandler.authenticated.map {
213 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
214 |         }.get()
215 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
[393/404] Compiling Citadel DirectTCPIP+Server.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:183:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
181 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
182 |         let session = try await handshakeHandler.authenticated.map {
183 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
184 |         }.get()
185 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  2 | import Crypto
  3 | import Logging
  4 | import NIOSSH
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  5 |
  6 | extension SSHAlgorithms.Modification<NIOSSHTransportProtection.Type> {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:213:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
211 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
212 |         let session = try await handshakeHandler.authenticated.map {
213 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
214 |         }.get()
215 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
[394/404] Compiling Citadel AES.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DH-Helpers.swift:98:18: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
 96 |             let serialized = Array(bignum.serialize())
 97 |             (buffer.baseAddress! + 1)
 98 |                 .assign(from: serialized, count: serialized.count)
    |                  |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
    |                  `- note: use 'update(from:count:)' instead
 99 |
100 |             if buffer[1] & 0x80 != 0 {
[395/404] Compiling Citadel DH-Helpers.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DH-Helpers.swift:98:18: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
 96 |             let serialized = Array(bignum.serialize())
 97 |             (buffer.baseAddress! + 1)
 98 |                 .assign(from: serialized, count: serialized.count)
    |                  |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
    |                  `- note: use 'update(from:count:)' instead
 99 |
100 |             if buffer[1] & 0x80 != 0 {
[396/404] Compiling Citadel DiffieHellmanGroup14Sha1.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DH-Helpers.swift:98:18: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
 96 |             let serialized = Array(bignum.serialize())
 97 |             (buffer.baseAddress! + 1)
 98 |                 .assign(from: serialized, count: serialized.count)
    |                  |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
    |                  `- note: use 'update(from:count:)' instead
 99 |
100 |             if buffer[1] & 0x80 != 0 {
[397/404] Compiling Citadel DiffieHellmanGroup14Sha256.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DH-Helpers.swift:98:18: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
 96 |             let serialized = Array(bignum.serialize())
 97 |             (buffer.baseAddress! + 1)
 98 |                 .assign(from: serialized, count: serialized.count)
    |                  |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
    |                  `- note: use 'update(from:count:)' instead
 99 |
100 |             if buffer[1] & 0x80 != 0 {
[398/404] Compiling Citadel NIOGlueHandler.swift
[399/404] Compiling Citadel OpenSSHKey.swift
[400/404] Compiling Citadel SFTPClient.swift
[401/404] Compiling Citadel SFTPClientInboundHandler.swift
[402/404] Compiling Citadel Server.swift
[403/404] Compiling Citadel ShellDelegate.swift
[404/404] Compiling Citadel TTY.swift
Build of target: 'Citadel' complete! (11.10s)
    1532
9	/Users/admin/builder/spi-builder-workspace/.docs/orlandos-nl/citadel/0.11.0
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/orlandos-nl/citadel/0.11.0
File count: 1532
Doc size:   9.0MB
Preparing doc bundle ...
Uploading prod-orlandos-nl-citadel-0.11.0-61e6997a.zip to s3://spi-docs-inbox/prod-orlandos-nl-citadel-0.11.0-61e6997a.zip
Copying... [13%]
Copying... [23%]
Copying... [33%]
Copying... [43%]
Copying... [53%]
Copying... [63%]
Copying... [73%]
Copying... [82%]
Copying... [92%]
Copying... [100%]
Done.