The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of AwesomeWS, reference 2.4.3 (2c1304), with Swift 6.0 for Linux on 28 Nov 2024 20:20:02 UTC.

Swift 6 data race errors: 4

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:58: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                                                          `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:122:31: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |                 self?._clients.removeAll(where: { $0 === client })
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
    |                               `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                 self.logger.info("[⚡️] 🔴 connection closed \(c.id)")
124 |                 self._on(close: c)
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:122:50: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |                 self?._clients.removeAll(where: { $0 === client })
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
    |                                                  `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                 self.logger.info("[⚡️] 🔴 connection closed \(c.id)")
124 |                 self._on(close: c)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:122:31: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
120 |                 self?._clients.removeAll(where: { $0 === client })
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
    |                               `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
123 |                 self.logger.info("[⚡️] 🔴 connection closed \(c.id)")
124 |                 self._on(close: c)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:126:17: warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
124 |                 self._on(close: c)
125 |                 self.on(close: c)
126 |                 client = nil
    |                 `- warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
127 |             }
128 |         }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:131:32: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
129 |
130 |         ws.onPing { [weak self] _ in
131 |             guard let client = client else { return }
    |                                `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
133 |             self?._on(ping: client)
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:132:13: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |         ws.onPing { [weak self] _ in
131 |             guard let client = client else { return }
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
    |             `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |             self?._on(ping: client)
134 |             self?.on(ping: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:131:32: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
129 |
130 |         ws.onPing { [weak self] _ in
131 |             guard let client = client else { return }
    |                                `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
133 |             self?._on(ping: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:138:32: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
136 |
137 |         ws.onPong { [weak self] _ in
138 |             guard let client = client else { return }
    |                                `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
140 |             self?._on(pong: client)
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:139:13: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
137 |         ws.onPong { [weak self] _ in
138 |             guard let client = client else { return }
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
    |             `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |             self?._on(pong: client)
141 |             self?.on(pong: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:138:32: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
136 |
137 |         ws.onPong { [weak self] _ in
138 |             guard let client = client else { return }
    |                                `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
140 |             self?._on(pong: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:146:30: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |         ws.onText { [weak self] _, text in
145 |             guard
146 |                 let client = client,
    |                              `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
147 |                 let self = self
148 |             else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:147:28: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
145 |             guard
146 |                 let client = client,
147 |                 let self = self
    |                            `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |             else { return }
149 |             guard self.exchangeMode != .binary else {
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:146:30: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
144 |         ws.onText { [weak self] _, text in
145 |             guard
146 |                 let client = client,
    |                              `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
147 |                 let self = self
148 |             else { return }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:160:30: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
158 |         ws.onBinary { [weak self] _, byteBuffer in
159 |             guard
160 |                 let client = client,
    |                              `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |                 let self = self
162 |             else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:161:28: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
159 |             guard
160 |                 let client = client,
161 |                 let self = self
    |                            `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 |             else { return }
163 |             guard self.exchangeMode != .text else {
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:160:30: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
158 |         ws.onBinary { [weak self] _, byteBuffer in
159 |             guard
160 |                 let client = client,
    |                              `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
161 |                 let self = self
162 |             else { return }
[2207/2224] Compiling WS Bindable.swift
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:3:30: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
  1 | import Vapor
  2 |
  3 | public protocol AnyObserver: class, Broadcastable, CustomStringConvertible, Disconnectable, Sendable, Loggable {
    |                              `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
  4 |     var key: String { get }
  5 |     var path: String { get }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:130:12: warning: 'onPing' is deprecated: Please use `onPing { socket, data in /* … */ }` with the additional `data` parameter.
128 |         }
129 |
130 |         ws.onPing { [weak self] _ in
    |            `- warning: 'onPing' is deprecated: Please use `onPing { socket, data in /* … */ }` with the additional `data` parameter.
131 |             guard let client = client else { return }
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:137:12: warning: 'onPong' is deprecated: Please use `onPong { socket, data in /* … */ }` with the additional `data` parameter.
135 |         }
136 |
137 |         ws.onPong { [weak self] _ in
    |            `- warning: 'onPong' is deprecated: Please use `onPong { socket, data in /* … */ }` with the additional `data` parameter.
138 |             guard let client = client else { return }
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:103:30: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
101 |
102 |         self.application.ws.knownEventLoop.submit { [weak self] in
103 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
104 |             let c = Client(self, req, ws, logger: self.logger)
105 |             client = c
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:105:13: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
103 |             guard let self = self else { return }
104 |             let c = Client(self, req, ws, logger: self.logger)
105 |             client = c
    |             `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             self._clients.append(c)
107 |         }.whenComplete { [weak self] _ in
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:105:13: warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
103 |             guard let self = self else { return }
104 |             let c = Client(self, req, ws, logger: self.logger)
105 |             client = c
    |             `- warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
106 |             self._clients.append(c)
107 |         }.whenComplete { [weak self] _ in
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:109:30: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
107 |         }.whenComplete { [weak self] _ in
108 |             guard
109 |                 let client = client,
    |                              `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
110 |                 let self = self
111 |             else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:110:28: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |             guard
109 |                 let client = client,
110 |                 let self = self
    |                            `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
111 |             else { return }
112 |             self._on(open: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:109:30: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
107 |         }.whenComplete { [weak self] _ in
108 |             guard
109 |                 let client = client,
    |                              `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
110 |                 let self = self
111 |             else { return }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:118:30: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
116 |
117 |         ws.onClose.whenComplete { [weak self] _ in
118 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:58: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                                                          `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:17: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                 `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:58: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                                                          `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:58: warning: capture of 'client' with non-sendable type 'Client?' in an isolated closure; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                                                          `- warning: capture of 'client' with non-sendable type 'Client?' in an isolated closure; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:58: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                                                          `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:122:31: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |                 self?._clients.removeAll(where: { $0 === client })
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
    |                               `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                 self.logger.info("[⚡️] 🔴 connection closed \(c.id)")
124 |                 self._on(close: c)
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:122:50: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |                 self?._clients.removeAll(where: { $0 === client })
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
    |                                                  `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                 self.logger.info("[⚡️] 🔴 connection closed \(c.id)")
124 |                 self._on(close: c)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:122:31: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
120 |                 self?._clients.removeAll(where: { $0 === client })
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
    |                               `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
123 |                 self.logger.info("[⚡️] 🔴 connection closed \(c.id)")
124 |                 self._on(close: c)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:126:17: warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
124 |                 self._on(close: c)
125 |                 self.on(close: c)
126 |                 client = nil
    |                 `- warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
127 |             }
128 |         }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:131:32: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
129 |
130 |         ws.onPing { [weak self] _ in
131 |             guard let client = client else { return }
    |                                `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
133 |             self?._on(ping: client)
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:132:13: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |         ws.onPing { [weak self] _ in
131 |             guard let client = client else { return }
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
    |             `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |             self?._on(ping: client)
134 |             self?.on(ping: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:131:32: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
129 |
130 |         ws.onPing { [weak self] _ in
131 |             guard let client = client else { return }
    |                                `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
133 |             self?._on(ping: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:138:32: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
136 |
137 |         ws.onPong { [weak self] _ in
138 |             guard let client = client else { return }
    |                                `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
140 |             self?._on(pong: client)
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:139:13: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
137 |         ws.onPong { [weak self] _ in
138 |             guard let client = client else { return }
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
    |             `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |             self?._on(pong: client)
141 |             self?.on(pong: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:138:32: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
136 |
137 |         ws.onPong { [weak self] _ in
138 |             guard let client = client else { return }
    |                                `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
140 |             self?._on(pong: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:146:30: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |         ws.onText { [weak self] _, text in
145 |             guard
146 |                 let client = client,
    |                              `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
147 |                 let self = self
148 |             else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:147:28: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
145 |             guard
146 |                 let client = client,
147 |                 let self = self
    |                            `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |             else { return }
149 |             guard self.exchangeMode != .binary else {
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:146:30: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
144 |         ws.onText { [weak self] _, text in
145 |             guard
146 |                 let client = client,
    |                              `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
147 |                 let self = self
148 |             else { return }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:160:30: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
158 |         ws.onBinary { [weak self] _, byteBuffer in
159 |             guard
160 |                 let client = client,
    |                              `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |                 let self = self
162 |             else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:161:28: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
159 |             guard
160 |                 let client = client,
161 |                 let self = self
    |                            `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 |             else { return }
163 |             guard self.exchangeMode != .text else {
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:160:30: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
158 |         ws.onBinary { [weak self] _, byteBuffer in
159 |             guard
160 |                 let client = client,
    |                              `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
161 |                 let self = self
162 |             else { return }
[2208/2224] Compiling WS Broadcastable.swift
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:3:30: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
  1 | import Vapor
  2 |
  3 | public protocol AnyObserver: class, Broadcastable, CustomStringConvertible, Disconnectable, Sendable, Loggable {
    |                              `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
  4 |     var key: String { get }
  5 |     var path: String { get }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:130:12: warning: 'onPing' is deprecated: Please use `onPing { socket, data in /* … */ }` with the additional `data` parameter.
128 |         }
129 |
130 |         ws.onPing { [weak self] _ in
    |            `- warning: 'onPing' is deprecated: Please use `onPing { socket, data in /* … */ }` with the additional `data` parameter.
131 |             guard let client = client else { return }
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:137:12: warning: 'onPong' is deprecated: Please use `onPong { socket, data in /* … */ }` with the additional `data` parameter.
135 |         }
136 |
137 |         ws.onPong { [weak self] _ in
    |            `- warning: 'onPong' is deprecated: Please use `onPong { socket, data in /* … */ }` with the additional `data` parameter.
138 |             guard let client = client else { return }
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:103:30: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
101 |
102 |         self.application.ws.knownEventLoop.submit { [weak self] in
103 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
104 |             let c = Client(self, req, ws, logger: self.logger)
105 |             client = c
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:105:13: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
103 |             guard let self = self else { return }
104 |             let c = Client(self, req, ws, logger: self.logger)
105 |             client = c
    |             `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             self._clients.append(c)
107 |         }.whenComplete { [weak self] _ in
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:105:13: warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
103 |             guard let self = self else { return }
104 |             let c = Client(self, req, ws, logger: self.logger)
105 |             client = c
    |             `- warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
106 |             self._clients.append(c)
107 |         }.whenComplete { [weak self] _ in
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:109:30: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
107 |         }.whenComplete { [weak self] _ in
108 |             guard
109 |                 let client = client,
    |                              `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
110 |                 let self = self
111 |             else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:110:28: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |             guard
109 |                 let client = client,
110 |                 let self = self
    |                            `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
111 |             else { return }
112 |             self._on(open: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:109:30: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
107 |         }.whenComplete { [weak self] _ in
108 |             guard
109 |                 let client = client,
    |                              `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
110 |                 let self = self
111 |             else { return }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:118:30: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
116 |
117 |         ws.onClose.whenComplete { [weak self] _ in
118 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:58: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                                                          `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:17: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                 `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:58: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                                                          `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:58: warning: capture of 'client' with non-sendable type 'Client?' in an isolated closure; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                                                          `- warning: capture of 'client' with non-sendable type 'Client?' in an isolated closure; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:58: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                                                          `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:122:31: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |                 self?._clients.removeAll(where: { $0 === client })
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
    |                               `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                 self.logger.info("[⚡️] 🔴 connection closed \(c.id)")
124 |                 self._on(close: c)
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:122:50: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |                 self?._clients.removeAll(where: { $0 === client })
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
    |                                                  `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                 self.logger.info("[⚡️] 🔴 connection closed \(c.id)")
124 |                 self._on(close: c)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:122:31: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
120 |                 self?._clients.removeAll(where: { $0 === client })
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
    |                               `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
123 |                 self.logger.info("[⚡️] 🔴 connection closed \(c.id)")
124 |                 self._on(close: c)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:126:17: warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
124 |                 self._on(close: c)
125 |                 self.on(close: c)
126 |                 client = nil
    |                 `- warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
127 |             }
128 |         }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:131:32: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
129 |
130 |         ws.onPing { [weak self] _ in
131 |             guard let client = client else { return }
    |                                `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
133 |             self?._on(ping: client)
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:132:13: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |         ws.onPing { [weak self] _ in
131 |             guard let client = client else { return }
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
    |             `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |             self?._on(ping: client)
134 |             self?.on(ping: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:131:32: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
129 |
130 |         ws.onPing { [weak self] _ in
131 |             guard let client = client else { return }
    |                                `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
133 |             self?._on(ping: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:138:32: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
136 |
137 |         ws.onPong { [weak self] _ in
138 |             guard let client = client else { return }
    |                                `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
140 |             self?._on(pong: client)
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:139:13: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
137 |         ws.onPong { [weak self] _ in
138 |             guard let client = client else { return }
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
    |             `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |             self?._on(pong: client)
141 |             self?.on(pong: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:138:32: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
136 |
137 |         ws.onPong { [weak self] _ in
138 |             guard let client = client else { return }
    |                                `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
140 |             self?._on(pong: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:146:30: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |         ws.onText { [weak self] _, text in
145 |             guard
146 |                 let client = client,
    |                              `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
147 |                 let self = self
148 |             else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:147:28: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
145 |             guard
146 |                 let client = client,
147 |                 let self = self
    |                            `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |             else { return }
149 |             guard self.exchangeMode != .binary else {
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:146:30: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
144 |         ws.onText { [weak self] _, text in
145 |             guard
146 |                 let client = client,
    |                              `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
147 |                 let self = self
148 |             else { return }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:160:30: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
158 |         ws.onBinary { [weak self] _, byteBuffer in
159 |             guard
160 |                 let client = client,
    |                              `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |                 let self = self
162 |             else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:161:28: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
159 |             guard
160 |                 let client = client,
161 |                 let self = self
    |                            `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 |             else { return }
163 |             guard self.exchangeMode != .text else {
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:160:30: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
158 |         ws.onBinary { [weak self] _, byteBuffer in
159 |             guard
160 |                 let client = client,
    |                              `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
161 |                 let self = self
162 |             else { return }
[2209/2224] Compiling WS Declarativable.swift
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:3:30: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
  1 | import Vapor
  2 |
  3 | public protocol AnyObserver: class, Broadcastable, CustomStringConvertible, Disconnectable, Sendable, Loggable {
    |                              `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
  4 |     var key: String { get }
  5 |     var path: String { get }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:130:12: warning: 'onPing' is deprecated: Please use `onPing { socket, data in /* … */ }` with the additional `data` parameter.
128 |         }
129 |
130 |         ws.onPing { [weak self] _ in
    |            `- warning: 'onPing' is deprecated: Please use `onPing { socket, data in /* … */ }` with the additional `data` parameter.
131 |             guard let client = client else { return }
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:137:12: warning: 'onPong' is deprecated: Please use `onPong { socket, data in /* … */ }` with the additional `data` parameter.
135 |         }
136 |
137 |         ws.onPong { [weak self] _ in
    |            `- warning: 'onPong' is deprecated: Please use `onPong { socket, data in /* … */ }` with the additional `data` parameter.
138 |             guard let client = client else { return }
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:103:30: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
101 |
102 |         self.application.ws.knownEventLoop.submit { [weak self] in
103 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
104 |             let c = Client(self, req, ws, logger: self.logger)
105 |             client = c
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:105:13: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
103 |             guard let self = self else { return }
104 |             let c = Client(self, req, ws, logger: self.logger)
105 |             client = c
    |             `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |             self._clients.append(c)
107 |         }.whenComplete { [weak self] _ in
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:105:13: warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
103 |             guard let self = self else { return }
104 |             let c = Client(self, req, ws, logger: self.logger)
105 |             client = c
    |             `- warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
106 |             self._clients.append(c)
107 |         }.whenComplete { [weak self] _ in
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:109:30: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
107 |         }.whenComplete { [weak self] _ in
108 |             guard
109 |                 let client = client,
    |                              `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
110 |                 let self = self
111 |             else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:110:28: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |             guard
109 |                 let client = client,
110 |                 let self = self
    |                            `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
111 |             else { return }
112 |             self._on(open: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:109:30: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
107 |         }.whenComplete { [weak self] _ in
108 |             guard
109 |                 let client = client,
    |                              `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
110 |                 let self = self
111 |             else { return }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:118:30: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
116 |
117 |         ws.onClose.whenComplete { [weak self] _ in
118 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:58: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                                                          `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:17: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                 `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:58: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                                                          `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:58: warning: capture of 'client' with non-sendable type 'Client?' in an isolated closure; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                                                          `- warning: capture of 'client' with non-sendable type 'Client?' in an isolated closure; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:120:58: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
118 |             guard let self = self else { return }
119 |             self.application.ws.knownEventLoop.submit { [weak self] in
120 |                 self?._clients.removeAll(where: { $0 === client })
    |                                                          `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:122:31: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |                 self?._clients.removeAll(where: { $0 === client })
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
    |                               `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                 self.logger.info("[⚡️] 🔴 connection closed \(c.id)")
124 |                 self._on(close: c)
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:122:50: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |                 self?._clients.removeAll(where: { $0 === client })
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
    |                                                  `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                 self.logger.info("[⚡️] 🔴 connection closed \(c.id)")
124 |                 self._on(close: c)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:122:31: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
120 |                 self?._clients.removeAll(where: { $0 === client })
121 |             }.whenComplete { [weak self] _ in
122 |                 guard let c = client, let self = self else { return }
    |                               `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
123 |                 self.logger.info("[⚡️] 🔴 connection closed \(c.id)")
124 |                 self._on(close: c)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:126:17: warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
124 |                 self._on(close: c)
125 |                 self.on(close: c)
126 |                 client = nil
    |                 `- warning: mutation of captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
127 |             }
128 |         }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:131:32: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
129 |
130 |         ws.onPing { [weak self] _ in
131 |             guard let client = client else { return }
    |                                `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
133 |             self?._on(ping: client)
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:132:13: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |         ws.onPing { [weak self] _ in
131 |             guard let client = client else { return }
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
    |             `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |             self?._on(ping: client)
134 |             self?.on(ping: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:131:32: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
129 |
130 |         ws.onPing { [weak self] _ in
131 |             guard let client = client else { return }
    |                                `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
132 |             self?.logger.debug("[⚡️] 🏓 ping \(client.id)")
133 |             self?._on(ping: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:138:32: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
136 |
137 |         ws.onPong { [weak self] _ in
138 |             guard let client = client else { return }
    |                                `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
140 |             self?._on(pong: client)
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:139:13: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
137 |         ws.onPong { [weak self] _ in
138 |             guard let client = client else { return }
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
    |             `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |             self?._on(pong: client)
141 |             self?.on(pong: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:138:32: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
136 |
137 |         ws.onPong { [weak self] _ in
138 |             guard let client = client else { return }
    |                                `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
139 |             self?.logger.debug("[⚡️] 🏓 pong \(client.id)")
140 |             self?._on(pong: client)
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:146:30: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |         ws.onText { [weak self] _, text in
145 |             guard
146 |                 let client = client,
    |                              `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
147 |                 let self = self
148 |             else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:147:28: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
145 |             guard
146 |                 let client = client,
147 |                 let self = self
    |                            `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |             else { return }
149 |             guard self.exchangeMode != .binary else {
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:146:30: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
144 |         ws.onText { [weak self] _, text in
145 |             guard
146 |                 let client = client,
    |                              `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
147 |                 let self = self
148 |             else { return }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:160:30: warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
158 |         ws.onBinary { [weak self] _, byteBuffer in
159 |             guard
160 |                 let client = client,
    |                              `- warning: capture of 'client' with non-sendable type 'Client?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |                 let self = self
162 |             else { return }
/host/spi-builder-workspace/Sources/WS/Objects/Client.swift:5:7: note: class 'Client' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | class Client: _AnyClient {
   |       `- note: class 'Client' does not conform to the 'Sendable' protocol
 6 |     /// See `AnyClient`
 7 |     public let id: UUID = .init()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:161:28: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
159 |             guard
160 |                 let client = client,
161 |                 let self = self
    |                            `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 |             else { return }
163 |             guard self.exchangeMode != .text else {
/host/spi-builder-workspace/Sources/WS/Protocols/AnyObserver.swift:160:30: warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
158 |         ws.onBinary { [weak self] _, byteBuffer in
159 |             guard
160 |                 let client = client,
    |                              `- warning: reference to captured var 'client' in concurrently-executing code; this is an error in the Swift 6 language mode
161 |                 let self = self
162 |             else { return }
[2210/2224] Compiling WS Loggable.swift
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:42:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 40 |         /// Send as `text`
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
 44 |                 $0.send(text)
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:58: warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 32 |
 33 | extension _Sendable {
 34 |     func _send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
 35 |         /// Send as `binary` instead
 36 |         if exchangeMode == .binary {
    :
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                                                  `- warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:58: warning: capture of 'text' with non-sendable type 'S' in an isolated closure; this is an error in the Swift 6 language mode
 32 |
 33 | extension _Sendable {
 34 |     func _send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
 35 |         /// Send as `binary` instead
 36 |         if exchangeMode == .binary {
    :
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                                                  `- warning: capture of 'text' with non-sendable type 'S' in an isolated closure; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:58: warning: implicit capture of 'text' requires that 'S' conforms to `Sendable`; this is an error in the Swift 6 language mode
 32 |
 33 | extension _Sendable {
 34 |     func _send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
 35 |         /// Send as `binary` instead
 36 |         if exchangeMode == .binary {
    :
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                                                  `- warning: implicit capture of 'text' requires that 'S' conforms to `Sendable`; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:61:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 59 |         /// Send as `binary`
 60 |         return eventLoop.future().map {
 61 |             self.sockets.forEach {
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 62 |                 self.logger.debug("[⚡️] 📤 bytes: \(bytes.count)")
 63 |                 $0.send(bytes)
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:62:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 60 |         return eventLoop.future().map {
 61 |             self.sockets.forEach {
 62 |                 self.logger.debug("[⚡️] 📤 bytes: \(bytes.count)")
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 63 |                 $0.send(bytes)
 64 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:84:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 82 |         /// Send as `binary`
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
 86 |                 $0.send(raw: data, opcode: opcode)
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:58: warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |     }
 71 |
 72 |     func _send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data: DataProtocol {
    |                `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
 73 |         /// Send as `text` instead
 74 |         if exchangeMode == .text {
    :
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                                                  `- warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:58: warning: capture of 'data' with non-sendable type 'Data' in an isolated closure; this is an error in the Swift 6 language mode
 70 |     }
 71 |
 72 |     func _send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data: DataProtocol {
    |                `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
 73 |         /// Send as `text` instead
 74 |         if exchangeMode == .text {
    :
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                                                  `- warning: capture of 'data' with non-sendable type 'Data' in an isolated closure; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:58: warning: implicit capture of 'data' requires that 'Data' conforms to `Sendable`; this is an error in the Swift 6 language mode
 70 |     }
 71 |
 72 |     func _send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data: DataProtocol {
    |                `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
 73 |         /// Send as `text` instead
 74 |         if exchangeMode == .text {
    :
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                                                  `- warning: implicit capture of 'data' requires that 'Data' conforms to `Sendable`; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:97:17: warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |     func _send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C: Encodable {
 96 |         eventLoop.future().flatMapThrowing {
 97 |             try encoder.encode(model)
    |                 `- warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }.flatMap { data -> EventLoopFuture<Data> in
 99 |             if self.exchangeMode == .text {
/host/spi-builder-workspace/Sources/WS/Protocols/Encoder.swift:3:17: note: protocol 'Encoder' does not conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public protocol Encoder {
  |                 `- note: protocol 'Encoder' does not conform to the 'Sendable' protocol
4 |     func encode<T>(_ value: T) throws -> Data where T : Encodable
5 | }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:97:32: warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 93 |     }
 94 |
 95 |     func _send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C: Encodable {
    |                `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
 96 |         eventLoop.future().flatMapThrowing {
 97 |             try encoder.encode(model)
    |                                `- warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }.flatMap { data -> EventLoopFuture<Data> in
 99 |             if self.exchangeMode == .text {
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:99:16: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 97 |             try encoder.encode(model)
 98 |         }.flatMap { data -> EventLoopFuture<Data> in
 99 |             if self.exchangeMode == .text {
    |                `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 |                 return self.eventLoop.future(data)
101 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:104:19: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |             return self.send(data: data).transform(to: data)
103 |         }.flatMap {
104 |             guard self.exchangeMode != .binary,
    |                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
105 |                 let text = String(data: $0, encoding: .utf8) else {
106 |                 return self.eventLoop.future()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:122:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |     func _sendPing() -> EventLoopFuture<Void> {
121 |         eventLoop.future().map {
122 |             self.sockets.forEach { $0.sendPing() }
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |         }
124 |     }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:131:33: warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
128 |
129 | extension EventLoopFuture: Sendable where Value: Sendable {
130 |     public func send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                      `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
131 |         flatMap { $0.send(text: text) }
    |                                 `- warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |     }
133 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:139:33: warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
136 |     }
137 |
138 |     public func send<Data>(data: Data) -> EventLoopFuture<Void> where Data : DataProtocol {
    |                      `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
139 |         flatMap { $0.send(data: data) }
    |                                 `- warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |     }
141 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:143:33: warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |     }
141 |
142 |     public func send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data : DataProtocol {
    |                      `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
143 |         flatMap { $0.send(data: data, opcode: opcode) }
    |                                 `- warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |     }
145 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:147:34: warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |     }
145 |
146 |     public func send<C>(model: C) -> EventLoopFuture<Void> where C : Encodable {
    |                      `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
147 |         flatMap { $0.send(model: model) }
    |                                  `- warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |     }
149 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:151:34: warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |     }
149 |
150 |     public func send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C : Encodable {
    |                      `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
151 |         flatMap { $0.send(model: model, encoder: encoder) }
    |                                  `- warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
152 |     }
153 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:151:50: warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
149 |
150 |     public func send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C : Encodable {
151 |         flatMap { $0.send(model: model, encoder: encoder) }
    |                                                  `- warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
152 |     }
153 |
/host/spi-builder-workspace/Sources/WS/Protocols/Encoder.swift:3:17: note: protocol 'Encoder' does not conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public protocol Encoder {
  |                 `- note: protocol 'Encoder' does not conform to the 'Sendable' protocol
4 |     func encode<T>(_ value: T) throws -> Data where T : Encodable
5 | }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:155:34: warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
153 |
154 |     public func send<T>(event: EID<T>) -> EventLoopFuture<Void> where T : Decodable, T : Encodable {
155 |         flatMap { $0.send(event: event) }
    |                                  `- warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
156 |     }
157 |
/host/spi-builder-workspace/Sources/WS/Models/EID.swift:11:15: note: consider making generic struct 'EID' conform to the 'Sendable' protocol
 9 | /// }
10 | /// ```
11 | public struct EID<P: Codable>: Equatable, Hashable, CustomStringConvertible, ExpressibleByStringLiteral {
   |               `- note: consider making generic struct 'EID' conform to the 'Sendable' protocol
12 |     /// The unique id.
13 |     public let id: String
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:159:34: warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
157 |
158 |     public func send<T>(event: EID<T>, payload: T?) -> EventLoopFuture<Void> where T : Decodable, T : Encodable {
159 |         flatMap { $0.send(event: event, payload: payload) }
    |                                  `- warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
160 |     }
161 |
/host/spi-builder-workspace/Sources/WS/Models/EID.swift:11:15: note: consider making generic struct 'EID' conform to the 'Sendable' protocol
 9 | /// }
10 | /// ```
11 | public struct EID<P: Codable>: Equatable, Hashable, CustomStringConvertible, ExpressibleByStringLiteral {
   |               `- note: consider making generic struct 'EID' conform to the 'Sendable' protocol
12 |     /// The unique id.
13 |     public let id: String
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:159:50: warning: capture of 'payload' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
156 |     }
157 |
158 |     public func send<T>(event: EID<T>, payload: T?) -> EventLoopFuture<Void> where T : Decodable, T : Encodable {
    |                      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
159 |         flatMap { $0.send(event: event, payload: payload) }
    |                                                  `- warning: capture of 'payload' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
160 |     }
161 |
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:25:34: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
23 | }
24 |
25 | internal protocol _Subscribable: class, Subscribable {
   |                                  `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
26 |     var eventLoop: EventLoop { get }
27 |     var clients: [_AnyClient] { get }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:38:17: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 |         self.eventLoop.submit {
37 |             channels.forEach { channel in
38 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 |                     $0.channels.insert(channel)
40 |                 }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:38:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
36 |         self.eventLoop.submit {
37 |             channels.forEach { channel in
38 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
39 |                     $0.channels.insert(channel)
40 |                 }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:52:17: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 |         self.eventLoop.submit {
51 |             channels.forEach { channel in
52 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
53 |                     $0.channels.remove(channel)
54 |                 }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:52:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
50 |         self.eventLoop.submit {
51 |             channels.forEach { channel in
52 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
53 |                     $0.channels.remove(channel)
54 |                 }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:92:32: warning: capture of 'client' with non-sendable type 'any AnyClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |             filter(client).map { leave in
 91 |                 if !leave {
 92 |                     ids.insert(client.id)
    |                                `- warning: capture of 'client' with non-sendable type 'any AnyClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 93 |                 }
 94 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyClient.swift:5:17: note: protocol 'AnyClient' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | public protocol AnyClient: Broadcastable, Disconnectable, Subscribable, Sendable {
   |                 `- note: protocol 'AnyClient' does not conform to the 'Sendable' protocol
 6 |     var id: UUID { get }
 7 |     var application: Application { get }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:92:21: warning: mutation of captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 90 |             filter(client).map { leave in
 91 |                 if !leave {
 92 |                     ids.insert(client.id)
    |                     `- warning: mutation of captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 93 |                 }
 94 |             }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:96:13: warning: capture of 'self' with non-sendable type 'Broadcaster' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  4 | import NIOWebSocket
  5 |
  6 | public class Broadcaster: Disconnectable, _Disconnectable, Sendable, _Sendable, Subscribable {
    |              `- note: class 'Broadcaster' does not conform to the 'Sendable' protocol
  7 |     let eventLoop: EventLoop
  8 |     var clients: [AnyClient]
    :
 94 |             }
 95 |         }.flatten(on: eventLoop).map {
 96 |             self.clients.removeAll { ids.contains($0.id) }
    |             `- warning: capture of 'self' with non-sendable type 'Broadcaster' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 97 |         }.transform(to: self)
 98 |     }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:96:38: warning: reference to captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 94 |             }
 95 |         }.flatten(on: eventLoop).map {
 96 |             self.clients.removeAll { ids.contains($0.id) }
    |                                      `- warning: reference to captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 97 |         }.transform(to: self)
 98 |     }
[2211/2224] Compiling WS Sendable.swift
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:42:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 40 |         /// Send as `text`
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
 44 |                 $0.send(text)
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:58: warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 32 |
 33 | extension _Sendable {
 34 |     func _send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
 35 |         /// Send as `binary` instead
 36 |         if exchangeMode == .binary {
    :
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                                                  `- warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:58: warning: capture of 'text' with non-sendable type 'S' in an isolated closure; this is an error in the Swift 6 language mode
 32 |
 33 | extension _Sendable {
 34 |     func _send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
 35 |         /// Send as `binary` instead
 36 |         if exchangeMode == .binary {
    :
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                                                  `- warning: capture of 'text' with non-sendable type 'S' in an isolated closure; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:58: warning: implicit capture of 'text' requires that 'S' conforms to `Sendable`; this is an error in the Swift 6 language mode
 32 |
 33 | extension _Sendable {
 34 |     func _send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
 35 |         /// Send as `binary` instead
 36 |         if exchangeMode == .binary {
    :
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                                                  `- warning: implicit capture of 'text' requires that 'S' conforms to `Sendable`; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:61:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 59 |         /// Send as `binary`
 60 |         return eventLoop.future().map {
 61 |             self.sockets.forEach {
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 62 |                 self.logger.debug("[⚡️] 📤 bytes: \(bytes.count)")
 63 |                 $0.send(bytes)
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:62:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 60 |         return eventLoop.future().map {
 61 |             self.sockets.forEach {
 62 |                 self.logger.debug("[⚡️] 📤 bytes: \(bytes.count)")
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 63 |                 $0.send(bytes)
 64 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:84:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 82 |         /// Send as `binary`
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
 86 |                 $0.send(raw: data, opcode: opcode)
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:58: warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |     }
 71 |
 72 |     func _send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data: DataProtocol {
    |                `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
 73 |         /// Send as `text` instead
 74 |         if exchangeMode == .text {
    :
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                                                  `- warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:58: warning: capture of 'data' with non-sendable type 'Data' in an isolated closure; this is an error in the Swift 6 language mode
 70 |     }
 71 |
 72 |     func _send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data: DataProtocol {
    |                `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
 73 |         /// Send as `text` instead
 74 |         if exchangeMode == .text {
    :
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                                                  `- warning: capture of 'data' with non-sendable type 'Data' in an isolated closure; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:58: warning: implicit capture of 'data' requires that 'Data' conforms to `Sendable`; this is an error in the Swift 6 language mode
 70 |     }
 71 |
 72 |     func _send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data: DataProtocol {
    |                `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
 73 |         /// Send as `text` instead
 74 |         if exchangeMode == .text {
    :
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                                                  `- warning: implicit capture of 'data' requires that 'Data' conforms to `Sendable`; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:97:17: warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |     func _send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C: Encodable {
 96 |         eventLoop.future().flatMapThrowing {
 97 |             try encoder.encode(model)
    |                 `- warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }.flatMap { data -> EventLoopFuture<Data> in
 99 |             if self.exchangeMode == .text {
/host/spi-builder-workspace/Sources/WS/Protocols/Encoder.swift:3:17: note: protocol 'Encoder' does not conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public protocol Encoder {
  |                 `- note: protocol 'Encoder' does not conform to the 'Sendable' protocol
4 |     func encode<T>(_ value: T) throws -> Data where T : Encodable
5 | }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:97:32: warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 93 |     }
 94 |
 95 |     func _send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C: Encodable {
    |                `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
 96 |         eventLoop.future().flatMapThrowing {
 97 |             try encoder.encode(model)
    |                                `- warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }.flatMap { data -> EventLoopFuture<Data> in
 99 |             if self.exchangeMode == .text {
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:99:16: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 97 |             try encoder.encode(model)
 98 |         }.flatMap { data -> EventLoopFuture<Data> in
 99 |             if self.exchangeMode == .text {
    |                `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 |                 return self.eventLoop.future(data)
101 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:104:19: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |             return self.send(data: data).transform(to: data)
103 |         }.flatMap {
104 |             guard self.exchangeMode != .binary,
    |                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
105 |                 let text = String(data: $0, encoding: .utf8) else {
106 |                 return self.eventLoop.future()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:122:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |     func _sendPing() -> EventLoopFuture<Void> {
121 |         eventLoop.future().map {
122 |             self.sockets.forEach { $0.sendPing() }
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |         }
124 |     }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:131:33: warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
128 |
129 | extension EventLoopFuture: Sendable where Value: Sendable {
130 |     public func send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                      `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
131 |         flatMap { $0.send(text: text) }
    |                                 `- warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |     }
133 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:139:33: warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
136 |     }
137 |
138 |     public func send<Data>(data: Data) -> EventLoopFuture<Void> where Data : DataProtocol {
    |                      `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
139 |         flatMap { $0.send(data: data) }
    |                                 `- warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |     }
141 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:143:33: warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |     }
141 |
142 |     public func send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data : DataProtocol {
    |                      `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
143 |         flatMap { $0.send(data: data, opcode: opcode) }
    |                                 `- warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |     }
145 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:147:34: warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |     }
145 |
146 |     public func send<C>(model: C) -> EventLoopFuture<Void> where C : Encodable {
    |                      `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
147 |         flatMap { $0.send(model: model) }
    |                                  `- warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |     }
149 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:151:34: warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |     }
149 |
150 |     public func send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C : Encodable {
    |                      `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
151 |         flatMap { $0.send(model: model, encoder: encoder) }
    |                                  `- warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
152 |     }
153 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:151:50: warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
149 |
150 |     public func send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C : Encodable {
151 |         flatMap { $0.send(model: model, encoder: encoder) }
    |                                                  `- warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
152 |     }
153 |
/host/spi-builder-workspace/Sources/WS/Protocols/Encoder.swift:3:17: note: protocol 'Encoder' does not conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public protocol Encoder {
  |                 `- note: protocol 'Encoder' does not conform to the 'Sendable' protocol
4 |     func encode<T>(_ value: T) throws -> Data where T : Encodable
5 | }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:155:34: warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
153 |
154 |     public func send<T>(event: EID<T>) -> EventLoopFuture<Void> where T : Decodable, T : Encodable {
155 |         flatMap { $0.send(event: event) }
    |                                  `- warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
156 |     }
157 |
/host/spi-builder-workspace/Sources/WS/Models/EID.swift:11:15: note: consider making generic struct 'EID' conform to the 'Sendable' protocol
 9 | /// }
10 | /// ```
11 | public struct EID<P: Codable>: Equatable, Hashable, CustomStringConvertible, ExpressibleByStringLiteral {
   |               `- note: consider making generic struct 'EID' conform to the 'Sendable' protocol
12 |     /// The unique id.
13 |     public let id: String
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:159:34: warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
157 |
158 |     public func send<T>(event: EID<T>, payload: T?) -> EventLoopFuture<Void> where T : Decodable, T : Encodable {
159 |         flatMap { $0.send(event: event, payload: payload) }
    |                                  `- warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
160 |     }
161 |
/host/spi-builder-workspace/Sources/WS/Models/EID.swift:11:15: note: consider making generic struct 'EID' conform to the 'Sendable' protocol
 9 | /// }
10 | /// ```
11 | public struct EID<P: Codable>: Equatable, Hashable, CustomStringConvertible, ExpressibleByStringLiteral {
   |               `- note: consider making generic struct 'EID' conform to the 'Sendable' protocol
12 |     /// The unique id.
13 |     public let id: String
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:159:50: warning: capture of 'payload' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
156 |     }
157 |
158 |     public func send<T>(event: EID<T>, payload: T?) -> EventLoopFuture<Void> where T : Decodable, T : Encodable {
    |                      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
159 |         flatMap { $0.send(event: event, payload: payload) }
    |                                                  `- warning: capture of 'payload' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
160 |     }
161 |
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:25:34: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
23 | }
24 |
25 | internal protocol _Subscribable: class, Subscribable {
   |                                  `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
26 |     var eventLoop: EventLoop { get }
27 |     var clients: [_AnyClient] { get }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:38:17: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 |         self.eventLoop.submit {
37 |             channels.forEach { channel in
38 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 |                     $0.channels.insert(channel)
40 |                 }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:38:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
36 |         self.eventLoop.submit {
37 |             channels.forEach { channel in
38 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
39 |                     $0.channels.insert(channel)
40 |                 }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:52:17: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 |         self.eventLoop.submit {
51 |             channels.forEach { channel in
52 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
53 |                     $0.channels.remove(channel)
54 |                 }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:52:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
50 |         self.eventLoop.submit {
51 |             channels.forEach { channel in
52 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
53 |                     $0.channels.remove(channel)
54 |                 }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:92:32: warning: capture of 'client' with non-sendable type 'any AnyClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |             filter(client).map { leave in
 91 |                 if !leave {
 92 |                     ids.insert(client.id)
    |                                `- warning: capture of 'client' with non-sendable type 'any AnyClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 93 |                 }
 94 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyClient.swift:5:17: note: protocol 'AnyClient' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | public protocol AnyClient: Broadcastable, Disconnectable, Subscribable, Sendable {
   |                 `- note: protocol 'AnyClient' does not conform to the 'Sendable' protocol
 6 |     var id: UUID { get }
 7 |     var application: Application { get }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:92:21: warning: mutation of captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 90 |             filter(client).map { leave in
 91 |                 if !leave {
 92 |                     ids.insert(client.id)
    |                     `- warning: mutation of captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 93 |                 }
 94 |             }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:96:13: warning: capture of 'self' with non-sendable type 'Broadcaster' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  4 | import NIOWebSocket
  5 |
  6 | public class Broadcaster: Disconnectable, _Disconnectable, Sendable, _Sendable, Subscribable {
    |              `- note: class 'Broadcaster' does not conform to the 'Sendable' protocol
  7 |     let eventLoop: EventLoop
  8 |     var clients: [AnyClient]
    :
 94 |             }
 95 |         }.flatten(on: eventLoop).map {
 96 |             self.clients.removeAll { ids.contains($0.id) }
    |             `- warning: capture of 'self' with non-sendable type 'Broadcaster' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 97 |         }.transform(to: self)
 98 |     }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:96:38: warning: reference to captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 94 |             }
 95 |         }.flatten(on: eventLoop).map {
 96 |             self.clients.removeAll { ids.contains($0.id) }
    |                                      `- warning: reference to captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 97 |         }.transform(to: self)
 98 |     }
[2212/2224] Compiling WS Subscribable.swift
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:42:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 40 |         /// Send as `text`
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
 44 |                 $0.send(text)
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:58: warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 32 |
 33 | extension _Sendable {
 34 |     func _send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
 35 |         /// Send as `binary` instead
 36 |         if exchangeMode == .binary {
    :
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                                                  `- warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:58: warning: capture of 'text' with non-sendable type 'S' in an isolated closure; this is an error in the Swift 6 language mode
 32 |
 33 | extension _Sendable {
 34 |     func _send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
 35 |         /// Send as `binary` instead
 36 |         if exchangeMode == .binary {
    :
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                                                  `- warning: capture of 'text' with non-sendable type 'S' in an isolated closure; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:58: warning: implicit capture of 'text' requires that 'S' conforms to `Sendable`; this is an error in the Swift 6 language mode
 32 |
 33 | extension _Sendable {
 34 |     func _send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
 35 |         /// Send as `binary` instead
 36 |         if exchangeMode == .binary {
    :
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                                                  `- warning: implicit capture of 'text' requires that 'S' conforms to `Sendable`; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:61:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 59 |         /// Send as `binary`
 60 |         return eventLoop.future().map {
 61 |             self.sockets.forEach {
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 62 |                 self.logger.debug("[⚡️] 📤 bytes: \(bytes.count)")
 63 |                 $0.send(bytes)
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:62:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 60 |         return eventLoop.future().map {
 61 |             self.sockets.forEach {
 62 |                 self.logger.debug("[⚡️] 📤 bytes: \(bytes.count)")
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 63 |                 $0.send(bytes)
 64 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:84:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 82 |         /// Send as `binary`
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
 86 |                 $0.send(raw: data, opcode: opcode)
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:58: warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |     }
 71 |
 72 |     func _send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data: DataProtocol {
    |                `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
 73 |         /// Send as `text` instead
 74 |         if exchangeMode == .text {
    :
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                                                  `- warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:58: warning: capture of 'data' with non-sendable type 'Data' in an isolated closure; this is an error in the Swift 6 language mode
 70 |     }
 71 |
 72 |     func _send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data: DataProtocol {
    |                `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
 73 |         /// Send as `text` instead
 74 |         if exchangeMode == .text {
    :
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                                                  `- warning: capture of 'data' with non-sendable type 'Data' in an isolated closure; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:58: warning: implicit capture of 'data' requires that 'Data' conforms to `Sendable`; this is an error in the Swift 6 language mode
 70 |     }
 71 |
 72 |     func _send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data: DataProtocol {
    |                `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
 73 |         /// Send as `text` instead
 74 |         if exchangeMode == .text {
    :
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                                                  `- warning: implicit capture of 'data' requires that 'Data' conforms to `Sendable`; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:97:17: warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |     func _send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C: Encodable {
 96 |         eventLoop.future().flatMapThrowing {
 97 |             try encoder.encode(model)
    |                 `- warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }.flatMap { data -> EventLoopFuture<Data> in
 99 |             if self.exchangeMode == .text {
/host/spi-builder-workspace/Sources/WS/Protocols/Encoder.swift:3:17: note: protocol 'Encoder' does not conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public protocol Encoder {
  |                 `- note: protocol 'Encoder' does not conform to the 'Sendable' protocol
4 |     func encode<T>(_ value: T) throws -> Data where T : Encodable
5 | }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:97:32: warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 93 |     }
 94 |
 95 |     func _send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C: Encodable {
    |                `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
 96 |         eventLoop.future().flatMapThrowing {
 97 |             try encoder.encode(model)
    |                                `- warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }.flatMap { data -> EventLoopFuture<Data> in
 99 |             if self.exchangeMode == .text {
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:99:16: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 97 |             try encoder.encode(model)
 98 |         }.flatMap { data -> EventLoopFuture<Data> in
 99 |             if self.exchangeMode == .text {
    |                `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 |                 return self.eventLoop.future(data)
101 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:104:19: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |             return self.send(data: data).transform(to: data)
103 |         }.flatMap {
104 |             guard self.exchangeMode != .binary,
    |                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
105 |                 let text = String(data: $0, encoding: .utf8) else {
106 |                 return self.eventLoop.future()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:122:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |     func _sendPing() -> EventLoopFuture<Void> {
121 |         eventLoop.future().map {
122 |             self.sockets.forEach { $0.sendPing() }
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |         }
124 |     }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:131:33: warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
128 |
129 | extension EventLoopFuture: Sendable where Value: Sendable {
130 |     public func send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                      `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
131 |         flatMap { $0.send(text: text) }
    |                                 `- warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |     }
133 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:139:33: warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
136 |     }
137 |
138 |     public func send<Data>(data: Data) -> EventLoopFuture<Void> where Data : DataProtocol {
    |                      `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
139 |         flatMap { $0.send(data: data) }
    |                                 `- warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |     }
141 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:143:33: warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |     }
141 |
142 |     public func send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data : DataProtocol {
    |                      `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
143 |         flatMap { $0.send(data: data, opcode: opcode) }
    |                                 `- warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |     }
145 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:147:34: warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |     }
145 |
146 |     public func send<C>(model: C) -> EventLoopFuture<Void> where C : Encodable {
    |                      `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
147 |         flatMap { $0.send(model: model) }
    |                                  `- warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |     }
149 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:151:34: warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |     }
149 |
150 |     public func send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C : Encodable {
    |                      `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
151 |         flatMap { $0.send(model: model, encoder: encoder) }
    |                                  `- warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
152 |     }
153 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:151:50: warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
149 |
150 |     public func send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C : Encodable {
151 |         flatMap { $0.send(model: model, encoder: encoder) }
    |                                                  `- warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
152 |     }
153 |
/host/spi-builder-workspace/Sources/WS/Protocols/Encoder.swift:3:17: note: protocol 'Encoder' does not conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public protocol Encoder {
  |                 `- note: protocol 'Encoder' does not conform to the 'Sendable' protocol
4 |     func encode<T>(_ value: T) throws -> Data where T : Encodable
5 | }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:155:34: warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
153 |
154 |     public func send<T>(event: EID<T>) -> EventLoopFuture<Void> where T : Decodable, T : Encodable {
155 |         flatMap { $0.send(event: event) }
    |                                  `- warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
156 |     }
157 |
/host/spi-builder-workspace/Sources/WS/Models/EID.swift:11:15: note: consider making generic struct 'EID' conform to the 'Sendable' protocol
 9 | /// }
10 | /// ```
11 | public struct EID<P: Codable>: Equatable, Hashable, CustomStringConvertible, ExpressibleByStringLiteral {
   |               `- note: consider making generic struct 'EID' conform to the 'Sendable' protocol
12 |     /// The unique id.
13 |     public let id: String
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:159:34: warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
157 |
158 |     public func send<T>(event: EID<T>, payload: T?) -> EventLoopFuture<Void> where T : Decodable, T : Encodable {
159 |         flatMap { $0.send(event: event, payload: payload) }
    |                                  `- warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
160 |     }
161 |
/host/spi-builder-workspace/Sources/WS/Models/EID.swift:11:15: note: consider making generic struct 'EID' conform to the 'Sendable' protocol
 9 | /// }
10 | /// ```
11 | public struct EID<P: Codable>: Equatable, Hashable, CustomStringConvertible, ExpressibleByStringLiteral {
   |               `- note: consider making generic struct 'EID' conform to the 'Sendable' protocol
12 |     /// The unique id.
13 |     public let id: String
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:159:50: warning: capture of 'payload' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
156 |     }
157 |
158 |     public func send<T>(event: EID<T>, payload: T?) -> EventLoopFuture<Void> where T : Decodable, T : Encodable {
    |                      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
159 |         flatMap { $0.send(event: event, payload: payload) }
    |                                                  `- warning: capture of 'payload' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
160 |     }
161 |
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:25:34: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
23 | }
24 |
25 | internal protocol _Subscribable: class, Subscribable {
   |                                  `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
26 |     var eventLoop: EventLoop { get }
27 |     var clients: [_AnyClient] { get }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:38:17: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 |         self.eventLoop.submit {
37 |             channels.forEach { channel in
38 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 |                     $0.channels.insert(channel)
40 |                 }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:38:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
36 |         self.eventLoop.submit {
37 |             channels.forEach { channel in
38 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
39 |                     $0.channels.insert(channel)
40 |                 }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:52:17: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 |         self.eventLoop.submit {
51 |             channels.forEach { channel in
52 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
53 |                     $0.channels.remove(channel)
54 |                 }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:52:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
50 |         self.eventLoop.submit {
51 |             channels.forEach { channel in
52 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
53 |                     $0.channels.remove(channel)
54 |                 }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:92:32: warning: capture of 'client' with non-sendable type 'any AnyClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |             filter(client).map { leave in
 91 |                 if !leave {
 92 |                     ids.insert(client.id)
    |                                `- warning: capture of 'client' with non-sendable type 'any AnyClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 93 |                 }
 94 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyClient.swift:5:17: note: protocol 'AnyClient' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | public protocol AnyClient: Broadcastable, Disconnectable, Subscribable, Sendable {
   |                 `- note: protocol 'AnyClient' does not conform to the 'Sendable' protocol
 6 |     var id: UUID { get }
 7 |     var application: Application { get }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:92:21: warning: mutation of captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 90 |             filter(client).map { leave in
 91 |                 if !leave {
 92 |                     ids.insert(client.id)
    |                     `- warning: mutation of captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 93 |                 }
 94 |             }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:96:13: warning: capture of 'self' with non-sendable type 'Broadcaster' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  4 | import NIOWebSocket
  5 |
  6 | public class Broadcaster: Disconnectable, _Disconnectable, Sendable, _Sendable, Subscribable {
    |              `- note: class 'Broadcaster' does not conform to the 'Sendable' protocol
  7 |     let eventLoop: EventLoop
  8 |     var clients: [AnyClient]
    :
 94 |             }
 95 |         }.flatten(on: eventLoop).map {
 96 |             self.clients.removeAll { ids.contains($0.id) }
    |             `- warning: capture of 'self' with non-sendable type 'Broadcaster' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 97 |         }.transform(to: self)
 98 |     }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:96:38: warning: reference to captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 94 |             }
 95 |         }.flatten(on: eventLoop).map {
 96 |             self.clients.removeAll { ids.contains($0.id) }
    |                                      `- warning: reference to captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 97 |         }.transform(to: self)
 98 |     }
[2213/2224] Compiling WS Broadcaster.swift
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:42:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 40 |         /// Send as `text`
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
 44 |                 $0.send(text)
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:58: warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 32 |
 33 | extension _Sendable {
 34 |     func _send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
 35 |         /// Send as `binary` instead
 36 |         if exchangeMode == .binary {
    :
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                                                  `- warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:58: warning: capture of 'text' with non-sendable type 'S' in an isolated closure; this is an error in the Swift 6 language mode
 32 |
 33 | extension _Sendable {
 34 |     func _send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
 35 |         /// Send as `binary` instead
 36 |         if exchangeMode == .binary {
    :
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                                                  `- warning: capture of 'text' with non-sendable type 'S' in an isolated closure; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:43:58: warning: implicit capture of 'text' requires that 'S' conforms to `Sendable`; this is an error in the Swift 6 language mode
 32 |
 33 | extension _Sendable {
 34 |     func _send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
 35 |         /// Send as `binary` instead
 36 |         if exchangeMode == .binary {
    :
 41 |         return eventLoop.future().map {
 42 |             self.sockets.forEach {
 43 |                 self.logger.debug("[⚡️] 📤 text: \(text)")
    |                                                  `- warning: implicit capture of 'text' requires that 'S' conforms to `Sendable`; this is an error in the Swift 6 language mode
 44 |                 $0.send(text)
 45 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:61:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 59 |         /// Send as `binary`
 60 |         return eventLoop.future().map {
 61 |             self.sockets.forEach {
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 62 |                 self.logger.debug("[⚡️] 📤 bytes: \(bytes.count)")
 63 |                 $0.send(bytes)
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:62:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 60 |         return eventLoop.future().map {
 61 |             self.sockets.forEach {
 62 |                 self.logger.debug("[⚡️] 📤 bytes: \(bytes.count)")
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 63 |                 $0.send(bytes)
 64 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:84:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 82 |         /// Send as `binary`
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
 86 |                 $0.send(raw: data, opcode: opcode)
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:58: warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |     }
 71 |
 72 |     func _send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data: DataProtocol {
    |                `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
 73 |         /// Send as `text` instead
 74 |         if exchangeMode == .text {
    :
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                                                  `- warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:58: warning: capture of 'data' with non-sendable type 'Data' in an isolated closure; this is an error in the Swift 6 language mode
 70 |     }
 71 |
 72 |     func _send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data: DataProtocol {
    |                `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
 73 |         /// Send as `text` instead
 74 |         if exchangeMode == .text {
    :
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                                                  `- warning: capture of 'data' with non-sendable type 'Data' in an isolated closure; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:85:58: warning: implicit capture of 'data' requires that 'Data' conforms to `Sendable`; this is an error in the Swift 6 language mode
 70 |     }
 71 |
 72 |     func _send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data: DataProtocol {
    |                `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
 73 |         /// Send as `text` instead
 74 |         if exchangeMode == .text {
    :
 83 |         return eventLoop.future().map {
 84 |             self.sockets.forEach {
 85 |                 self.logger.debug("[⚡️] 📤 data: \(data.count)")
    |                                                  `- warning: implicit capture of 'data' requires that 'Data' conforms to `Sendable`; this is an error in the Swift 6 language mode
 86 |                 $0.send(raw: data, opcode: opcode)
 87 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:97:17: warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |     func _send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C: Encodable {
 96 |         eventLoop.future().flatMapThrowing {
 97 |             try encoder.encode(model)
    |                 `- warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }.flatMap { data -> EventLoopFuture<Data> in
 99 |             if self.exchangeMode == .text {
/host/spi-builder-workspace/Sources/WS/Protocols/Encoder.swift:3:17: note: protocol 'Encoder' does not conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public protocol Encoder {
  |                 `- note: protocol 'Encoder' does not conform to the 'Sendable' protocol
4 |     func encode<T>(_ value: T) throws -> Data where T : Encodable
5 | }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:97:32: warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 93 |     }
 94 |
 95 |     func _send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C: Encodable {
    |                `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
 96 |         eventLoop.future().flatMapThrowing {
 97 |             try encoder.encode(model)
    |                                `- warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |         }.flatMap { data -> EventLoopFuture<Data> in
 99 |             if self.exchangeMode == .text {
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:99:16: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 97 |             try encoder.encode(model)
 98 |         }.flatMap { data -> EventLoopFuture<Data> in
 99 |             if self.exchangeMode == .text {
    |                `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 |                 return self.eventLoop.future(data)
101 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:104:19: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |             return self.send(data: data).transform(to: data)
103 |         }.flatMap {
104 |             guard self.exchangeMode != .binary,
    |                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
105 |                 let text = String(data: $0, encoding: .utf8) else {
106 |                 return self.eventLoop.future()
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:122:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |     func _sendPing() -> EventLoopFuture<Void> {
121 |         eventLoop.future().map {
122 |             self.sockets.forEach { $0.sendPing() }
    |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |         }
124 |     }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:131:33: warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
128 |
129 | extension EventLoopFuture: Sendable where Value: Sendable {
130 |     public func send<S>(text: S) -> EventLoopFuture<Void> where S : Collection, S.Element == Character {
    |                      `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
131 |         flatMap { $0.send(text: text) }
    |                                 `- warning: capture of 'text' with non-sendable type 'S' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |     }
133 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:139:33: warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
136 |     }
137 |
138 |     public func send<Data>(data: Data) -> EventLoopFuture<Void> where Data : DataProtocol {
    |                      `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
139 |         flatMap { $0.send(data: data) }
    |                                 `- warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |     }
141 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:143:33: warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |     }
141 |
142 |     public func send<Data>(data: Data, opcode: WebSocketOpcode) -> EventLoopFuture<Void> where Data : DataProtocol {
    |                      `- note: consider making generic parameter 'Data' conform to the 'Sendable' protocol
143 |         flatMap { $0.send(data: data, opcode: opcode) }
    |                                 `- warning: capture of 'data' with non-sendable type 'Data' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |     }
145 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:147:34: warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
144 |     }
145 |
146 |     public func send<C>(model: C) -> EventLoopFuture<Void> where C : Encodable {
    |                      `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
147 |         flatMap { $0.send(model: model) }
    |                                  `- warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |     }
149 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:151:34: warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 |     }
149 |
150 |     public func send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C : Encodable {
    |                      `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
151 |         flatMap { $0.send(model: model, encoder: encoder) }
    |                                  `- warning: capture of 'model' with non-sendable type 'C' in a `@Sendable` closure; this is an error in the Swift 6 language mode
152 |     }
153 |
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:151:50: warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
149 |
150 |     public func send<C>(model: C, encoder: Encoder) -> EventLoopFuture<Void> where C : Encodable {
151 |         flatMap { $0.send(model: model, encoder: encoder) }
    |                                                  `- warning: capture of 'encoder' with non-sendable type 'any Encoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
152 |     }
153 |
/host/spi-builder-workspace/Sources/WS/Protocols/Encoder.swift:3:17: note: protocol 'Encoder' does not conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public protocol Encoder {
  |                 `- note: protocol 'Encoder' does not conform to the 'Sendable' protocol
4 |     func encode<T>(_ value: T) throws -> Data where T : Encodable
5 | }
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:155:34: warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
153 |
154 |     public func send<T>(event: EID<T>) -> EventLoopFuture<Void> where T : Decodable, T : Encodable {
155 |         flatMap { $0.send(event: event) }
    |                                  `- warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
156 |     }
157 |
/host/spi-builder-workspace/Sources/WS/Models/EID.swift:11:15: note: consider making generic struct 'EID' conform to the 'Sendable' protocol
 9 | /// }
10 | /// ```
11 | public struct EID<P: Codable>: Equatable, Hashable, CustomStringConvertible, ExpressibleByStringLiteral {
   |               `- note: consider making generic struct 'EID' conform to the 'Sendable' protocol
12 |     /// The unique id.
13 |     public let id: String
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:159:34: warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
157 |
158 |     public func send<T>(event: EID<T>, payload: T?) -> EventLoopFuture<Void> where T : Decodable, T : Encodable {
159 |         flatMap { $0.send(event: event, payload: payload) }
    |                                  `- warning: capture of 'event' with non-sendable type 'EID<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
160 |     }
161 |
/host/spi-builder-workspace/Sources/WS/Models/EID.swift:11:15: note: consider making generic struct 'EID' conform to the 'Sendable' protocol
 9 | /// }
10 | /// ```
11 | public struct EID<P: Codable>: Equatable, Hashable, CustomStringConvertible, ExpressibleByStringLiteral {
   |               `- note: consider making generic struct 'EID' conform to the 'Sendable' protocol
12 |     /// The unique id.
13 |     public let id: String
/host/spi-builder-workspace/Sources/WS/Protocols/Sendable.swift:159:50: warning: capture of 'payload' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
156 |     }
157 |
158 |     public func send<T>(event: EID<T>, payload: T?) -> EventLoopFuture<Void> where T : Decodable, T : Encodable {
    |                      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
159 |         flatMap { $0.send(event: event, payload: payload) }
    |                                                  `- warning: capture of 'payload' with non-sendable type 'T?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
160 |     }
161 |
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:25:34: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
23 | }
24 |
25 | internal protocol _Subscribable: class, Subscribable {
   |                                  `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
26 |     var eventLoop: EventLoop { get }
27 |     var clients: [_AnyClient] { get }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:38:17: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 |         self.eventLoop.submit {
37 |             channels.forEach { channel in
38 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 |                     $0.channels.insert(channel)
40 |                 }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:38:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
36 |         self.eventLoop.submit {
37 |             channels.forEach { channel in
38 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
39 |                     $0.channels.insert(channel)
40 |                 }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:52:17: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 |         self.eventLoop.submit {
51 |             channels.forEach { channel in
52 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
53 |                     $0.channels.remove(channel)
54 |                 }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Subscribable.swift:52:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
50 |         self.eventLoop.submit {
51 |             channels.forEach { channel in
52 |                 self.clients.forEach {
   |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
53 |                     $0.channels.remove(channel)
54 |                 }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:92:32: warning: capture of 'client' with non-sendable type 'any AnyClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |             filter(client).map { leave in
 91 |                 if !leave {
 92 |                     ids.insert(client.id)
    |                                `- warning: capture of 'client' with non-sendable type 'any AnyClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 93 |                 }
 94 |             }
/host/spi-builder-workspace/Sources/WS/Protocols/AnyClient.swift:5:17: note: protocol 'AnyClient' does not conform to the 'Sendable' protocol
 3 | import NIOWebSocket
 4 |
 5 | public protocol AnyClient: Broadcastable, Disconnectable, Subscribable, Sendable {
   |                 `- note: protocol 'AnyClient' does not conform to the 'Sendable' protocol
 6 |     var id: UUID { get }
 7 |     var application: Application { get }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:92:21: warning: mutation of captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 90 |             filter(client).map { leave in
 91 |                 if !leave {
 92 |                     ids.insert(client.id)
    |                     `- warning: mutation of captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 93 |                 }
 94 |             }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:96:13: warning: capture of 'self' with non-sendable type 'Broadcaster' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  4 | import NIOWebSocket
  5 |
  6 | public class Broadcaster: Disconnectable, _Disconnectable, Sendable, _Sendable, Subscribable {
    |              `- note: class 'Broadcaster' does not conform to the 'Sendable' protocol
  7 |     let eventLoop: EventLoop
  8 |     var clients: [AnyClient]
    :
 94 |             }
 95 |         }.flatten(on: eventLoop).map {
 96 |             self.clients.removeAll { ids.contains($0.id) }
    |             `- warning: capture of 'self' with non-sendable type 'Broadcaster' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 97 |         }.transform(to: self)
 98 |     }
/host/spi-builder-workspace/Sources/WS/Utilities/Broadcaster.swift:96:38: warning: reference to captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 94 |             }
 95 |         }.flatten(on: eventLoop).map {
 96 |             self.clients.removeAll { ids.contains($0.id) }
    |                                      `- warning: reference to captured var 'ids' in concurrently-executing code; this is an error in the Swift 6 language mode
 97 |         }.transform(to: self)
 98 |     }
[2214/2224] Compiling WS OriginalRequest.swift
[2215/2224] Compiling WS WSID.swift
[2216/2224] Compiling WS Client.swift
[2217/2224] Compiling WS BaseObserver.swift
[2218/2224] Compiling WS Decoder.swift
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Disconnectable.swift:27:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 |     func _disconnect() -> EventLoopFuture<Void> {
26 |         eventLoop.future().flatMap {
27 |             self._disconnect(code: .goingAway)
   |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |         }
29 |     }
[2219/2224] Compiling WS Delegate.swift
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Disconnectable.swift:27:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 |     func _disconnect() -> EventLoopFuture<Void> {
26 |         eventLoop.future().flatMap {
27 |             self._disconnect(code: .goingAway)
   |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |         }
29 |     }
[2220/2224] Compiling WS Disconnectable.swift
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Disconnectable.swift:27:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 |     func _disconnect() -> EventLoopFuture<Void> {
26 |         eventLoop.future().flatMap {
27 |             self._disconnect(code: .goingAway)
   |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |         }
29 |     }
[2221/2224] Compiling WS Encoder.swift
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/host/spi-builder-workspace/Sources/WS/Protocols/Disconnectable.swift:27:13: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 |     func _disconnect() -> EventLoopFuture<Void> {
26 |         eventLoop.future().flatMap {
27 |             self._disconnect(code: .goingAway)
   |             `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |         }
29 |     }
[2222/2224] Compiling WS DefaultDateFormatter.swift
/host/spi-builder-workspace/Sources/WS/Utilities/DefaultDateFormatter.swift:3:7: warning: class 'DefaultDateFormatter' must restate inherited '@unchecked Sendable' conformance
 1 | import Foundation
 2 |
 3 | class DefaultDateFormatter: DateFormatter {
   |       `- warning: class 'DefaultDateFormatter' must restate inherited '@unchecked Sendable' conformance
 4 |     func setup() {
 5 |         self.calendar = Calendar(identifier: .iso8601)
/host/spi-builder-workspace/Sources/WS/Utilities/EndpointBuilder.swift:74:99: warning: converting non-sendable function value to '@Sendable (Request, WebSocket) -> ()' may introduce data races
 72 |
 73 |         application.wsStorage[wsid.key] = observer
 74 |         WSRoute(root: application.grouped(middlewares), path: path).webSocket(onUpgrade: observer.handle)
    |                                                                                                   `- warning: converting non-sendable function value to '@Sendable (Request, WebSocket) -> ()' may introduce data races
 75 |
 76 |         let observerType = String(describing: Observer.self)
/host/spi-builder-workspace/Sources/WS/Utilities/Storage.swift:7:12: warning: type '_Storage.Key.Value' (aka '_Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 2 | import Vapor
 3 |
 4 | class _Storage {
   |       `- note: class '_Storage' does not conform to the 'Sendable' protocol
 5 |     var items: [String: AnyObserver] = [:]
 6 |
 7 |     struct Key: StorageKey {
   |            `- warning: type '_Storage.Key.Value' (aka '_Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 8 |         typealias Value = _Storage
 9 |     }
[2223/2224] Compiling WS EndpointBuilder.swift
/host/spi-builder-workspace/Sources/WS/Utilities/DefaultDateFormatter.swift:3:7: warning: class 'DefaultDateFormatter' must restate inherited '@unchecked Sendable' conformance
 1 | import Foundation
 2 |
 3 | class DefaultDateFormatter: DateFormatter {
   |       `- warning: class 'DefaultDateFormatter' must restate inherited '@unchecked Sendable' conformance
 4 |     func setup() {
 5 |         self.calendar = Calendar(identifier: .iso8601)
/host/spi-builder-workspace/Sources/WS/Utilities/EndpointBuilder.swift:74:99: warning: converting non-sendable function value to '@Sendable (Request, WebSocket) -> ()' may introduce data races
 72 |
 73 |         application.wsStorage[wsid.key] = observer
 74 |         WSRoute(root: application.grouped(middlewares), path: path).webSocket(onUpgrade: observer.handle)
    |                                                                                                   `- warning: converting non-sendable function value to '@Sendable (Request, WebSocket) -> ()' may introduce data races
 75 |
 76 |         let observerType = String(describing: Observer.self)
/host/spi-builder-workspace/Sources/WS/Utilities/Storage.swift:7:12: warning: type '_Storage.Key.Value' (aka '_Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 2 | import Vapor
 3 |
 4 | class _Storage {
   |       `- note: class '_Storage' does not conform to the 'Sendable' protocol
 5 |     var items: [String: AnyObserver] = [:]
 6 |
 7 |     struct Key: StorageKey {
   |            `- warning: type '_Storage.Key.Value' (aka '_Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 8 |         typealias Value = _Storage
 9 |     }
[2224/2224] Compiling WS Storage.swift
/host/spi-builder-workspace/Sources/WS/Utilities/DefaultDateFormatter.swift:3:7: warning: class 'DefaultDateFormatter' must restate inherited '@unchecked Sendable' conformance
 1 | import Foundation
 2 |
 3 | class DefaultDateFormatter: DateFormatter {
   |       `- warning: class 'DefaultDateFormatter' must restate inherited '@unchecked Sendable' conformance
 4 |     func setup() {
 5 |         self.calendar = Calendar(identifier: .iso8601)
/host/spi-builder-workspace/Sources/WS/Utilities/EndpointBuilder.swift:74:99: warning: converting non-sendable function value to '@Sendable (Request, WebSocket) -> ()' may introduce data races
 72 |
 73 |         application.wsStorage[wsid.key] = observer
 74 |         WSRoute(root: application.grouped(middlewares), path: path).webSocket(onUpgrade: observer.handle)
    |                                                                                                   `- warning: converting non-sendable function value to '@Sendable (Request, WebSocket) -> ()' may introduce data races
 75 |
 76 |         let observerType = String(describing: Observer.self)
/host/spi-builder-workspace/Sources/WS/Utilities/Storage.swift:7:12: warning: type '_Storage.Key.Value' (aka '_Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 2 | import Vapor
 3 |
 4 | class _Storage {
   |       `- note: class '_Storage' does not conform to the 'Sendable' protocol
 5 |     var items: [String: AnyObserver] = [:]
 6 |
 7 |     struct Key: StorageKey {
   |            `- warning: type '_Storage.Key.Value' (aka '_Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 8 |         typealias Value = _Storage
 9 |     }
Build complete! (186.11s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "vapor",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/vapor/vapor.git"
    },
    {
      "identity" : "websocket-kit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/vapor/websocket-kit.git"
    }
  ],
  "manifest_display_name" : "AwesomeWS",
  "name" : "AwesomeWS",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "WS",
      "targets" : [
        "WS"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "WSTests",
      "module_type" : "SwiftTarget",
      "name" : "WSTests",
      "path" : "Tests/WSTests",
      "product_dependencies" : [
        "WebSocketKit"
      ],
      "sources" : [
        "WSTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "WS"
      ],
      "type" : "test"
    },
    {
      "c99name" : "WS",
      "module_type" : "SwiftTarget",
      "name" : "WS",
      "path" : "Sources/WS",
      "product_dependencies" : [
        "Vapor",
        "WebSocketKit"
      ],
      "product_memberships" : [
        "WS"
      ],
      "sources" : [
        "Enums/ExchangeMode.swift",
        "Extensions/Application+Configurator.swift",
        "Extensions/HTTPServerConfiguration+Address.swift",
        "Extensions/Request+Observer.swift",
        "Models/Configurator.swift",
        "Models/EID.swift",
        "Models/Event.swift",
        "Models/Nothing.swift",
        "Models/OriginalRequest.swift",
        "Models/WSID.swift",
        "Objects/Client.swift",
        "Observers/BaseObserver.swift",
        "Observers/BindableObserver.swift",
        "Observers/ClassicObserver.swift",
        "Observers/DeclarativeObserver.swift",
        "Protocols/AnyClient.swift",
        "Protocols/AnyObserver.swift",
        "Protocols/Bindable.swift",
        "Protocols/Broadcastable.swift",
        "Protocols/Declarativable.swift",
        "Protocols/Decoder.swift",
        "Protocols/Delegate.swift",
        "Protocols/Disconnectable.swift",
        "Protocols/Encoder.swift",
        "Protocols/Loggable.swift",
        "Protocols/Sendable.swift",
        "Protocols/Subscribable.swift",
        "Utilities/Broadcaster.swift",
        "Utilities/DefaultDateFormatter.swift",
        "Utilities/EndpointBuilder.swift",
        "Utilities/Storage.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.