Build Information
Failed to build swift-nio-ssh, reference citadel2 (c997b6), with Swift 6.2 for Android on 16 Sep 2025 16:53:46 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
95 | return .noMessage
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[753/788] Compiling NIOSSH SendsChannelMessages.swift
/host/spi-builder-workspace/Sources/NIOSSH/Child Channels/SSHChildChannel.swift:657:27: warning: 'fireChannelRead' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning. [#DeprecatedDeclaration]
655 | self.processOutboundMessage(.channelWindowAdjust(update), promise: nil)
656 | }
657 | self.pipeline.fireChannelRead(NIOAny(data))
| `- warning: 'fireChannelRead' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning. [#DeprecatedDeclaration]
658 |
659 | case .eof:
/host/spi-builder-workspace/Sources/NIOSSH/Child Channels/SSHChildChannel.swift:827:57: warning: type 'Any' does not conform to the 'Sendable' protocol
825 |
826 | if let userEvent = SSHChannelRequestEvent.fromMessage(message) {
827 | self.pipeline.fireUserInboundEventTriggered(userEvent)
| `- warning: type 'Any' does not conform to the 'Sendable' protocol
828 | } else if message.wantReply {
829 | // Messages that we don't understand and that want a reply must be replied to with a failure.
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:59:59: warning: converting non-sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
57 |
58 | if let future = result {
59 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
60 | } else {
61 | return .noMessage
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:97: warning: capture of 'connectionAttributes' with non-sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'connectionAttributes' with non-sendable type 'SSHConnectionStateMachine.Attributes' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:60:11: note: class 'Attributes' does not conform to the 'Sendable' protocol
58 | }
59 |
60 | class Attributes {
| `- note: class 'Attributes' does not conform to the 'Sendable' protocol
61 | var username: String? = nil
62 | }
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:129: warning: capture of 'message' with non-sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'message' with non-sendable type 'SSHMessage.UserAuthRequestMessage' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/host/spi-builder-workspace/Sources/NIOSSH/SSHMessages.swift:141:12: note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
139 | }
140 |
141 | struct UserAuthRequestMessage: Equatable {
| `- note: consider making struct 'UserAuthRequestMessage' conform to the 'Sendable' protocol
142 | // SSH_MSG_USERAUTH_REQUEST
143 | static let id: UInt8 = 50
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: capture of 'banner' with non-sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of 'banner' with non-sendable type 'SSHServerConfiguration.UserAuthBanner?' in a '@Sendable' closure [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/host/spi-builder-workspace/Sources/NIOSSH/SSHServerConfiguration.swift:68:12: note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
66 | to ignore banners.
67 | */
68 | struct UserAuthBanner {
| `- note: consider making struct 'UserAuthBanner' conform to the 'Sendable' protocol
69 | /**
70 | The message to be displayed by client to end user during authentication.
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:56: warning: capture of non-sendable type 'Self.Type' in an isolated closure
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
76 | } else {
77 | return .noMessage
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:75:155: warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
73 |
74 | let connectionAttributes = self.connectionAttributes
75 | return .possibleFutureMessage(future.map { Self.transform($0, connectionAttributes: connectionAttributes, username: message.username, banner: banner) })
| `- warning: reference to captured var 'banner' in concurrently-executing code [#SendableClosureCaptures]
76 | } else {
77 | return .noMessage
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/Operations/AcceptsUserAuthMessages.swift:93:59: warning: converting non-sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
91 |
92 | if let future = result {
93 | return .possibleFutureMessage(future.map(Self.transform(_:)))
| `- warning: converting non-sendable function value to '@Sendable (SSHMessage.UserAuthRequestMessage?) -> SSHMultiMessage?' may introduce data races
94 | } else {
95 | return .noMessage
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[754/788] Emitting module NIOSSH
/host/spi-builder-workspace/Sources/NIOSSH/Child Channels/ChildChannelOptions.swift:71:5: warning: 'public' modifier is redundant for struct declared in a public extension
69 |
70 | /// `UsernameOption` allows users to query the authenticated username of the channel.
71 | public struct UsernameOption: ChannelOption {
| `- warning: 'public' modifier is redundant for struct declared in a public extension
72 | public typealias Value = String?
73 |
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
/host/spi-builder-workspace/Sources/NIOSSH/Key Exchange/SSHKeyExchangeStateMachine.swift:545:16: warning: static property 'bundledKeyExchangeImplementations' is not concurrency-safe because non-'Sendable' type '[any NIOSSHKeyExchangeAlgorithmProtocol.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
543 | extension SSHKeyExchangeStateMachine {
544 | // For now this is a static list.
545 | static let bundledKeyExchangeImplementations: [NIOSSHKeyExchangeAlgorithmProtocol.Type] = [
| |- warning: static property 'bundledKeyExchangeImplementations' is not concurrency-safe because non-'Sendable' type '[any NIOSSHKeyExchangeAlgorithmProtocol.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledKeyExchangeImplementations' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
546 | EllipticCurveKeyExchange<P384.KeyAgreement.PrivateKey>.self,
547 | EllipticCurveKeyExchange<P256.KeyAgreement.PrivateKey>.self,
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHCertifiedPublicKey.swift:418:27: warning: static property 'user' is not concurrency-safe because non-'Sendable' type 'NIOSSHCertifiedPublicKey.CertificateType' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
408 | /// For extensibility purposes this is not defined as an enumeration, but instead as a `RawRepresentable` type
409 | /// wrapping the base type.
410 | public struct CertificateType: RawRepresentable {
| `- note: consider making struct 'CertificateType' conform to the 'Sendable' protocol
411 | public var rawValue: UInt32
412 |
:
416 |
417 | /// A certificate valid for identifying a user.
418 | public static let user = CertificateType(rawValue: 1)
| |- warning: static property 'user' is not concurrency-safe because non-'Sendable' type 'NIOSSHCertifiedPublicKey.CertificateType' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'user' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
419 |
420 | /// A certificate valid for identifying a host.
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHCertifiedPublicKey.swift:421:27: warning: static property 'host' is not concurrency-safe because non-'Sendable' type 'NIOSSHCertifiedPublicKey.CertificateType' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
408 | /// For extensibility purposes this is not defined as an enumeration, but instead as a `RawRepresentable` type
409 | /// wrapping the base type.
410 | public struct CertificateType: RawRepresentable {
| `- note: consider making struct 'CertificateType' conform to the 'Sendable' protocol
411 | public var rawValue: UInt32
412 |
:
419 |
420 | /// A certificate valid for identifying a host.
421 | public static let host = CertificateType(rawValue: 2)
| |- warning: static property 'host' is not concurrency-safe because non-'Sendable' type 'NIOSSHCertifiedPublicKey.CertificateType' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'host' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
422 | }
423 | }
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/host/spi-builder-workspace/Sources/NIOSSH/User Authentication/UserAuthenticationMethod.swift:28:23: warning: static property 'publicKey' is not concurrency-safe because non-'Sendable' type 'NIOSSHAvailableUserAuthenticationMethods' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
19 | /// not as a separate authentication method. When using certificates, the publicKey
20 | /// method is used with a certified key.
21 | public struct NIOSSHAvailableUserAuthenticationMethods: OptionSet {
| `- note: consider making struct 'NIOSSHAvailableUserAuthenticationMethods' conform to the 'Sendable' protocol
22 | public var rawValue: UInt8
23 |
:
26 | }
27 |
28 | public static let publicKey: NIOSSHAvailableUserAuthenticationMethods = .init(rawValue: 1 << 0)
| |- warning: static property 'publicKey' is not concurrency-safe because non-'Sendable' type 'NIOSSHAvailableUserAuthenticationMethods' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'publicKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | public static let password: NIOSSHAvailableUserAuthenticationMethods = .init(rawValue: 1 << 1)
30 | public static let hostBased: NIOSSHAvailableUserAuthenticationMethods = .init(rawValue: 1 << 2)
/host/spi-builder-workspace/Sources/NIOSSH/User Authentication/UserAuthenticationMethod.swift:29:23: warning: static property 'password' is not concurrency-safe because non-'Sendable' type 'NIOSSHAvailableUserAuthenticationMethods' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
19 | /// not as a separate authentication method. When using certificates, the publicKey
20 | /// method is used with a certified key.
21 | public struct NIOSSHAvailableUserAuthenticationMethods: OptionSet {
| `- note: consider making struct 'NIOSSHAvailableUserAuthenticationMethods' conform to the 'Sendable' protocol
22 | public var rawValue: UInt8
23 |
:
27 |
28 | public static let publicKey: NIOSSHAvailableUserAuthenticationMethods = .init(rawValue: 1 << 0)
29 | public static let password: NIOSSHAvailableUserAuthenticationMethods = .init(rawValue: 1 << 1)
| |- warning: static property 'password' is not concurrency-safe because non-'Sendable' type 'NIOSSHAvailableUserAuthenticationMethods' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'password' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 | public static let hostBased: NIOSSHAvailableUserAuthenticationMethods = .init(rawValue: 1 << 2)
31 |
/host/spi-builder-workspace/Sources/NIOSSH/User Authentication/UserAuthenticationMethod.swift:30:23: warning: static property 'hostBased' is not concurrency-safe because non-'Sendable' type 'NIOSSHAvailableUserAuthenticationMethods' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
19 | /// not as a separate authentication method. When using certificates, the publicKey
20 | /// method is used with a certified key.
21 | public struct NIOSSHAvailableUserAuthenticationMethods: OptionSet {
| `- note: consider making struct 'NIOSSHAvailableUserAuthenticationMethods' conform to the 'Sendable' protocol
22 | public var rawValue: UInt8
23 |
:
28 | public static let publicKey: NIOSSHAvailableUserAuthenticationMethods = .init(rawValue: 1 << 0)
29 | public static let password: NIOSSHAvailableUserAuthenticationMethods = .init(rawValue: 1 << 1)
30 | public static let hostBased: NIOSSHAvailableUserAuthenticationMethods = .init(rawValue: 1 << 2)
| |- warning: static property 'hostBased' is not concurrency-safe because non-'Sendable' type 'NIOSSHAvailableUserAuthenticationMethods' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'hostBased' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 | public static let all: NIOSSHAvailableUserAuthenticationMethods = [.publicKey, .password, .hostBased]
/host/spi-builder-workspace/Sources/NIOSSH/User Authentication/UserAuthenticationMethod.swift:32:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'NIOSSHAvailableUserAuthenticationMethods' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
19 | /// not as a separate authentication method. When using certificates, the publicKey
20 | /// method is used with a certified key.
21 | public struct NIOSSHAvailableUserAuthenticationMethods: OptionSet {
| `- note: consider making struct 'NIOSSHAvailableUserAuthenticationMethods' conform to the 'Sendable' protocol
22 | public var rawValue: UInt8
23 |
:
30 | public static let hostBased: NIOSSHAvailableUserAuthenticationMethods = .init(rawValue: 1 << 2)
31 |
32 | public static let all: NIOSSHAvailableUserAuthenticationMethods = [.publicKey, .password, .hostBased]
| |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'NIOSSHAvailableUserAuthenticationMethods' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 | }
34 |
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[755/788] Compiling NIOSSH SendsKeyExchangeMessages.swift
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[756/788] Compiling NIOSSH SendsUserAuthMessages.swift
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[757/788] Compiling NIOSSH SSHConnectionStateMachine.swift
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[758/788] Compiling NIOSSH ActiveState.swift
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[759/788] Compiling NIOSSH IdleState.swift
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[760/788] Compiling NIOSSH KeyExchangeState.swift
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[761/788] Compiling NIOSSH ReceivedKexInitWhenActiveState.swift
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[762/788] Compiling NIOSSH ReceivedNewKeysState.swift
/host/spi-builder-workspace/Sources/NIOSSH/Connection State Machine/SSHConnectionStateMachine.swift:72:16: warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
70 | var username: String? { attributes.username }
71 |
72 | static let bundledTransportProtectionSchemes: [NIOSSHTransportProtection.Type] = [
| |- warning: static property 'bundledTransportProtectionSchemes' is not concurrency-safe because non-'Sendable' type '[any NIOSSHTransportProtection.Type]' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'bundledTransportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | AES256GCMOpenSSHTransportProtection.self, AES128GCMOpenSSHTransportProtection.self,
74 | ]
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[763/788] Compiling NIOSSH NIOSSHPrivateKey.swift
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/host/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[764/788] Compiling NIOSSH NIOSSHPublicKey.swift
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/host/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[765/788] Compiling NIOSSH NIOSSHSignature.swift
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/host/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[766/788] Compiling NIOSSH NIOSSHError.swift
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/host/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[767/788] Compiling NIOSSH NIOSSHHandler.swift
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/host/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[768/788] Compiling NIOSSH NIOSSHSendable.swift
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/host/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[769/788] Compiling NIOSSH Role.swift
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/host/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[770/788] Compiling NIOSSH SSHClientConfiguration.swift
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:286:16: warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
284 |
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
| |- warning: static property 'transportProtectionSchemesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:287:16: warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
285 | private enum _CustomAlgorithms {
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
| |- warning: static property 'transportProtectionSchemes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'transportProtectionSchemes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'transportProtectionSchemes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:288:16: warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
286 | static var transportProtectionSchemesLock = NIOLock()
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
| |- warning: static property 'keyExchangeAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:289:16: warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
287 | static var transportProtectionSchemes = [NIOSSHTransportProtection.Type]()
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
| |- warning: static property 'keyExchangeAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'keyExchangeAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'keyExchangeAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:290:16: warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
288 | static var keyExchangeAlgorithmsLock = NIOLock()
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
| |- warning: static property 'publicKeyAlgorithmsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithmsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithmsLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:291:16: warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
289 | static var keyExchangeAlgorithms = [NIOSSHKeyExchangeAlgorithmProtocol.Type]()
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
| |- warning: static property 'publicKeyAlgorithms' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'publicKeyAlgorithms' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'publicKeyAlgorithms' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:292:16: warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
290 | static var publicKeyAlgorithmsLock = NIOLock()
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
| |- warning: static property 'signaturesLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signaturesLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signaturesLock' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
294 | }
/host/spi-builder-workspace/Sources/NIOSSH/Keys And Signatures/NIOSSHPublicKey.swift:293:16: warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
291 | static var publicKeyAlgorithms: [NIOSSHPublicKeyProtocol.Type] = []
292 | static var signaturesLock = NIOLock()
293 | static var signatures: [NIOSSHSignatureProtocol.Type] = []
| |- warning: static property 'signatures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: convert 'signatures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'signatures' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
294 | }
295 |
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:91:25: warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 | switch self {
90 | case .tcpForwarding(let promise):
91 | promise.succeed(result.map(GlobalRequest.TCPForwardingResponse.init))
| `- warning: type 'GlobalRequest.TCPForwardingResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | case .unknown(let promise):
93 | promise.succeed(result?.buffer)
/host/spi-builder-workspace/Sources/NIOSSH/GlobalRequestDelegate.swift:52:19: note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
50 |
51 | /// The data associated with a successful response to a TCP forwarding request.
52 | public struct TCPForwardingResponse: Hashable {
| `- note: consider making struct 'TCPForwardingResponse' conform to the 'Sendable' protocol
53 | /// If requested to listen on a port, and the port the client requested was 0, this is set to the
54 | /// port that was actually bound. Otherwise is nil.
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:29: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:209:65: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
207 | case .success(.some(let message)):
208 | do {
209 | try self.writeMessage(message, context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
210 | self.pendingWrite = false
211 | context.flush()
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:25: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:369:121: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
367 | switch result {
368 | case .success(let tcpForwardingResponse):
369 | try self.writeMessage(.init(.requestSuccess(.init(.tcpForwarding(tcpForwardingResponse), allocator: context.channel.allocator))), context: context)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
370 | context.flush()
371 | case .failure:
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:411:23: warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
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 }
:
409 | switch result {
410 | case .success:
411 | guard self.context != nil else {
| `- warning: capture of 'self' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure [#SendableClosureCaptures]
412 | // This write succeeded, but we're out of the pipeline anyway. Fail the promise.
413 | promise?.fail(ChannelError.eof)
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[771/788] Compiling NIOSSH SSHEncryptablePacketPayload.swift
[772/788] Compiling NIOSSH SSHMessages.swift
[773/788] Compiling NIOSSH SSHPacketParser.swift
[774/788] Compiling NIOSSH SSHPacketSerializer.swift
[775/788] Compiling NIOSSH SSHServerConfiguration.swift
[776/788] Compiling NIOSSH SSHTerminalModes.swift
[777/788] Compiling NIOSSH AESGCM.swift
[778/788] Compiling NIOSSH SSHTransportProtection.swift
[779/789] Wrapping AST for NIOSSH for debugging
[781/808] Compiling NIOSSHPerformanceTester Benchmark.swift
[782/808] Emitting module NIOSSHPerformanceTester
[783/808] Compiling NIOSSHClient ExecHandler.swift
/host/spi-builder-workspace/Sources/NIOSSHClient/ExecHandler.swift:51:19: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)' [#DeprecatedDeclaration]
49 | bootstrap.channelOption(ChannelOptions.allowRemoteHalfClosure, value: true).channelInitializer { channel in
50 | channel.pipeline.addHandler(theirs)
51 | }.withPipes(inputDescriptor: 0, outputDescriptor: 1).whenComplete { result in
| |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)' [#DeprecatedDeclaration]
| `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
52 | switch result {
53 | case .success:
/host/spi-builder-workspace/Sources/NIOSSHClient/ExecHandler.swift:49:17: warning: capture of 'bootstrap' with non-sendable type 'NIOPipeBootstrap' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
47 | context.channel.pipeline.addHandler(ours, position: .last).whenSuccess { _ in
48 | DispatchQueue(label: "pipe bootstrap").async {
49 | bootstrap.channelOption(ChannelOptions.allowRemoteHalfClosure, value: true).channelInitializer { channel in
| `- warning: capture of 'bootstrap' with non-sendable type 'NIOPipeBootstrap' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
50 | channel.pipeline.addHandler(theirs)
51 | }.withPipes(inputDescriptor: 0, outputDescriptor: 1).whenComplete { result in
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOPosix/Bootstrap.swift:2232:20: note: class 'NIOPipeBootstrap' does not conform to the 'Sendable' protocol
2230 | /// .takingOwnershipOfDescriptors(input: STDIN_FILENO, output: STDOUT_FILENO)
2231 | ///
2232 | public final class NIOPipeBootstrap {
| `- note: class 'NIOPipeBootstrap' does not conform to the 'Sendable' protocol
2233 | private let group: EventLoopGroup
2234 | private var channelInitializer: Optional<ChannelInitializerCallback>
/host/spi-builder-workspace/Sources/NIOSSHClient/ExecHandler.swift:56:25: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
54 | // We need to exec a thing.
55 | let execRequest = SSHChannelRequestEvent.ExecRequest(command: self.command, wantReply: false)
56 | context.triggerUserOutboundEvent(execRequest).whenFailure { _ in
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
57 | context.close(promise: nil)
58 | }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSHClient/ExecHandler.swift:50:49: warning: capture of 'theirs' with non-sendable type 'GlueHandler' in a '@Sendable' closure [#SendableClosureCaptures]
48 | DispatchQueue(label: "pipe bootstrap").async {
49 | bootstrap.channelOption(ChannelOptions.allowRemoteHalfClosure, value: true).channelInitializer { channel in
50 | channel.pipeline.addHandler(theirs)
| `- warning: capture of 'theirs' with non-sendable type 'GlueHandler' in a '@Sendable' closure [#SendableClosureCaptures]
51 | }.withPipes(inputDescriptor: 0, outputDescriptor: 1).whenComplete { result in
52 | switch result {
/host/spi-builder-workspace/Sources/NIOSSHClient/GlueHandler.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 |
/host/spi-builder-workspace/Sources/NIOSSHClient/ExecHandler.swift:55:87: warning: capture of 'self' with non-sendable type 'ExampleExecHandler' in a '@Sendable' closure [#SendableClosureCaptures]
18 | import NIOSSH
19 |
20 | final class ExampleExecHandler: ChannelDuplexHandler {
| `- note: class 'ExampleExecHandler' does not conform to the 'Sendable' protocol
21 | typealias InboundIn = SSHChannelData
22 | typealias InboundOut = ByteBuffer
:
53 | case .success:
54 | // We need to exec a thing.
55 | let execRequest = SSHChannelRequestEvent.ExecRequest(command: self.command, wantReply: false)
| `- warning: capture of 'self' with non-sendable type 'ExampleExecHandler' in a '@Sendable' closure [#SendableClosureCaptures]
56 | context.triggerUserOutboundEvent(execRequest).whenFailure { _ in
57 | context.close(promise: nil)
/host/spi-builder-workspace/Sources/NIOSSHClient/ExecHandler.swift:56:25: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
54 | // We need to exec a thing.
55 | let execRequest = SSHChannelRequestEvent.ExecRequest(command: self.command, wantReply: false)
56 | context.triggerUserOutboundEvent(execRequest).whenFailure { _ in
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#SendableClosureCaptures]
57 | context.close(promise: nil)
58 | }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/NIOSSHClient/ExecHandler.swift:103:37: error: value of optional type 'UnsafeRawPointer?' must be unwrapped to a value of type 'UnsafeRawPointer'
101 | // We just write to stderr directly, pipe channel can't help us here.
102 | bytes.withUnsafeReadableBytes { str in
103 | let rc = fwrite(str.baseAddress, 1, str.count, stderr)
| |- error: value of optional type 'UnsafeRawPointer?' must be unwrapped to a value of type 'UnsafeRawPointer'
| |- note: coalesce using '??' to provide a default when the optional value contains 'nil'
| `- note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
104 | precondition(rc == str.count)
105 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[784/808] Compiling NIOSSHClient GlueHandler.swift
[785/808] Compiling NIOSSHPerformanceTester shared.swift
[786/808] Compiling NIOSSHPerformanceTester BenchmarkHandshake.swift
/host/spi-builder-workspace/Sources/NIOSSHPerformanceTester/BenchmarkHandshake.swift:38:48: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
36 | b2b.server.connect(to: try .init(unixDomainSocketPath: "/foo"), promise: nil)
37 |
38 | try b2b.client.pipeline.addHandler(NIOSSHHandler(role: self.clientRole, allocator: b2b.client.allocator, inboundChildChannelInitializer: nil)).wait()
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
39 | try b2b.server.pipeline.addHandler(NIOSSHHandler(role: self.serverRole, allocator: b2b.server.allocator, inboundChildChannelInitializer: nil)).wait()
40 | try b2b.interactInMemory()
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
/host/spi-builder-workspace/Sources/NIOSSHPerformanceTester/BenchmarkHandshake.swift:39:48: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
37 |
38 | try b2b.client.pipeline.addHandler(NIOSSHHandler(role: self.clientRole, allocator: b2b.client.allocator, inboundChildChannelInitializer: nil)).wait()
39 | try b2b.server.pipeline.addHandler(NIOSSHHandler(role: self.serverRole, allocator: b2b.server.allocator, inboundChildChannelInitializer: nil)).wait()
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
40 | try b2b.interactInMemory()
41 | }
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
[787/808] Compiling NIOSSHPerformanceTester main.swift
[788/808] Compiling NIOSSHPerformanceTester BenchmarkLinearThroughput.swift
/host/spi-builder-workspace/Sources/NIOSSHPerformanceTester/BenchmarkLinearThroughput.swift:39:49: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
37 | let clientHandler = NIOSSHHandler(role: self.clientRole, allocator: self.b2b.client.allocator, inboundChildChannelInitializer: nil)
38 |
39 | try self.b2b.client.pipeline.addHandler(clientHandler).wait()
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
40 | try self.b2b.server.pipeline.addHandler(NIOSSHHandler(role: self.serverRole, allocator: self.b2b.server.allocator, inboundChildChannelInitializer: nil)).wait()
41 | try self.b2b.interactInMemory()
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
/host/spi-builder-workspace/Sources/NIOSSHPerformanceTester/BenchmarkLinearThroughput.swift:40:49: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
38 |
39 | try self.b2b.client.pipeline.addHandler(clientHandler).wait()
40 | try self.b2b.server.pipeline.addHandler(NIOSSHHandler(role: self.serverRole, allocator: self.b2b.server.allocator, inboundChildChannelInitializer: nil)).wait()
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
41 | try self.b2b.interactInMemory()
42 |
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
[789/809] Emitting module NIOSSHClient
/host/spi-builder-workspace/Sources/NIOSSHClient/main.swift:52:39: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
50 | let bootstrap = ClientBootstrap(group: group)
51 | .channelInitializer { channel in
52 | channel.pipeline.addHandlers([NIOSSHHandler(role: .client(.init(userAuthDelegate: InteractivePasswordPromptDelegate(username: parseResult.user, password: parseResult.password), serverAuthDelegate: AcceptAllHostKeysDelegate())), allocator: channel.allocator, inboundChildChannelInitializer: nil), ErrorHandler()])
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
53 | }
54 | .channelOption(ChannelOptions.socket(SocketOptionLevel(SOL_SOCKET), SO_REUSEADDR), value: 1)
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
[790/809] Compiling NIOSSHServer main.swift
/host/spi-builder-workspace/Sources/NIOSSHServer/main.swift:79:39: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
77 | let bootstrap = ServerBootstrap(group: group)
78 | .childChannelInitializer { channel in
79 | channel.pipeline.addHandlers([NIOSSHHandler(role: .server(.init(hostKeys: [hostKey], userAuthDelegate: HardcodedPasswordDelegate(), globalRequestDelegate: RemotePortForwarderGlobalRequestDelegate())), allocator: channel.allocator, inboundChildChannelInitializer: sshChildChannelInitializer(_:_:)), ErrorHandler()])
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
80 | }
81 | .serverChannelOption(ChannelOptions.socket(SocketOptionLevel(SOL_SOCKET), SO_REUSEADDR), value: 1)
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
[791/809] Compiling NIOSSHServer RemotePortForwarding.swift
[793/809] Compiling NIOSSHClient InteractivePasswordPromptDelegate.swift
[794/809] Compiling NIOSSHClient PortForwardingServer.swift
[795/809] Compiling NIOSSHClient SimpleCLIParser.swift
[796/809] Compiling NIOSSHClient main.swift
/host/spi-builder-workspace/Sources/NIOSSHClient/main.swift:52:39: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
50 | let bootstrap = ClientBootstrap(group: group)
51 | .channelInitializer { channel in
52 | channel.pipeline.addHandlers([NIOSSHHandler(role: .client(.init(userAuthDelegate: InteractivePasswordPromptDelegate(username: parseResult.user, password: parseResult.password), serverAuthDelegate: AcceptAllHostKeysDelegate())), allocator: channel.allocator, inboundChildChannelInitializer: nil), ErrorHandler()])
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
53 | }
54 | .channelOption(ChannelOptions.socket(SocketOptionLevel(SOL_SOCKET), SO_REUSEADDR), value: 1)
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
[796/809] Wrapping AST for NIOSSHPerformanceTester for debugging
[797/809] Write Objects.LinkFileList
[799/809] Compiling NIOSSHServer GlueHandler.swift
[800/809] Emitting module NIOSSHServer
/host/spi-builder-workspace/Sources/NIOSSHServer/main.swift:79:39: warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
77 | let bootstrap = ServerBootstrap(group: group)
78 | .childChannelInitializer { channel in
79 | channel.pipeline.addHandlers([NIOSSHHandler(role: .server(.init(hostKeys: [hostKey], userAuthDelegate: HardcodedPasswordDelegate(), globalRequestDelegate: RemotePortForwarderGlobalRequestDelegate())), allocator: channel.allocator, inboundChildChannelInitializer: sshChildChannelInitializer(_:_:)), ErrorHandler()])
| `- warning: conformance of 'NIOSSHHandler' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
80 | }
81 | .serverChannelOption(ChannelOptions.socket(SocketOptionLevel(SOL_SOCKET), SO_REUSEADDR), value: 1)
/host/spi-builder-workspace/Sources/NIOSSH/NIOSSHHandler.swift:81:1: note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
79 |
80 | @available(*, unavailable)
81 | extension NIOSSHHandler: Sendable {}
| `- note: conformance of 'NIOSSHHandler' to 'Sendable' has been explicitly marked unavailable here
82 |
83 | extension NIOSSHHandler {
[801/809] Compiling NIOSSHServer ExecHandler.swift
/host/spi-builder-workspace/Sources/NIOSSHServer/ExecHandler.swift:117:49: warning: type 'GlueHandler' does not conform to the 'Sendable' protocol
115 |
116 | let (ours, theirs) = GlueHandler.matchedPair()
117 | try channel.pipeline.addHandler(ours).wait()
| `- warning: type 'GlueHandler' does not conform to the 'Sendable' protocol
118 |
119 | _ = try NIOPipeBootstrap(group: channel.eventLoop)
/host/spi-builder-workspace/Sources/NIOSSHServer/GlueHandler.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 |
/host/spi-builder-workspace/Sources/NIOSSHServer/ExecHandler.swift:123:23: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)' [#DeprecatedDeclaration]
121 | .channelInitializer { pipeChannel in
122 | pipeChannel.pipeline.addHandler(theirs)
123 | }.withPipes(inputDescriptor: outPipe.fileHandleForReading.fileDescriptor, outputDescriptor: inPipe.fileHandleForWriting.fileDescriptor).wait()
| |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)' [#DeprecatedDeclaration]
| `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
124 |
125 | // Ok, great, we've sorted stdout and stdin. For stderr we need a different strategy: we just park a thread for this.
/host/spi-builder-workspace/Sources/NIOSSHServer/ExecHandler.swift:122:57: warning: capture of 'theirs' with non-sendable type 'GlueHandler' in a '@Sendable' closure [#SendableClosureCaptures]
120 | .channelOption(ChannelOptions.allowRemoteHalfClosure, value: true)
121 | .channelInitializer { pipeChannel in
122 | pipeChannel.pipeline.addHandler(theirs)
| `- warning: capture of 'theirs' with non-sendable type 'GlueHandler' in a '@Sendable' closure [#SendableClosureCaptures]
123 | }.withPipes(inputDescriptor: outPipe.fileHandleForReading.fileDescriptor, outputDescriptor: inPipe.fileHandleForWriting.fileDescriptor).wait()
124 |
/host/spi-builder-workspace/Sources/NIOSSHServer/GlueHandler.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 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[802/809] Compiling NIOSSHServer DataToBufferCodec.swift
[803/810] Wrapping AST for NIOSSHServer for debugging
[803/810] Linking NIOSSHPerformanceTester
BUILD FAILURE 6.2 android