Build Information
Successful build of grpc-swift, reference release/1.x (664cc4
), with Swift 6.1 for Linux on 3 Jun 2025 18:57:36 UTC.
Swift 6 data race errors: 22
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
Build Log
399 | }
400 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:428:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
426 | } else {
427 | self.callEventLoop.execute {
428 | self._receiveFromChannel(initialMetadata: headers)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
429 | }
430 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:447:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
445 | } else {
446 | self.callEventLoop.execute {
447 | self._receiveFromChannel(message: buffer)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
448 | }
449 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:473:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
471 | } else {
472 | self.callEventLoop.execute {
473 | self.trailers = trailers
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
474 | }
475 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:484:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
482 | } else {
483 | self.callEventLoop.execute {
484 | self._receiveFromChannel(status: status)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
485 | }
486 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:840:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
838 | // hop.
839 | if error is GRPCStatus || error is GRPCStatusTransformable {
840 | self.handleError(error)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
841 | } else {
842 | // Fallback to something which will mark the RPC as 'unavailable'.
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:952:15: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
950 | case let .metadata(headers):
951 | let head = self.makeRequestHead(with: headers)
952 | channel.write(self.wrapOutboundOut(.head(head)), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
953 | // Messages are buffered by this class and in the async writer for async calls. Initially the
954 | // async writer is not allowed to emit messages; the call to 'onStart()' signals that messages
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:963:17: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
961 | let bytes = try self.serializer.serialize(request, allocator: channel.allocator)
962 | let message = _MessageContext<ByteBuffer>(bytes, compressed: metadata.compress)
963 | channel.write(self.wrapOutboundOut(.message(message)), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
964 | } catch {
965 | self.handleError(error)
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:969:15: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
967 |
968 | case .end:
969 | channel.write(self.wrapOutboundOut(.end), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
970 | }
971 |
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:260:23: warning: capture of 'transport' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
258 | do {
259 | let clientHandler = GRPCClientChannelHandler(
260 | callType: transport.callDetails.type,
| `- warning: capture of 'transport' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
261 | maximumReceiveMessageLength: self.maximumReceiveMessageLength,
262 | logger: transport.logger
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:38:22: note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:261:42: warning: capture of 'self' with non-sendable type 'HTTP2ClientTransportFactory<Request, Response>' in a '@Sendable' closure
185 |
186 | @usableFromInline
187 | internal struct HTTP2ClientTransportFactory<Request, Response> {
| `- note: consider making generic struct 'HTTP2ClientTransportFactory' conform to the 'Sendable' protocol
188 | /// The multiplexer providing an HTTP/2 stream for the call.
189 | private var streamChannel: EventLoopFuture<Channel>
:
259 | let clientHandler = GRPCClientChannelHandler(
260 | callType: transport.callDetails.type,
261 | maximumReceiveMessageLength: self.maximumReceiveMessageLength,
| `- warning: capture of 'self' with non-sendable type 'HTTP2ClientTransportFactory<Request, Response>' in a '@Sendable' closure
262 | logger: transport.logger
263 | )
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:360:58: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
358 | transport.configure { handler in
359 | if let fakeResponse = self.fakeResponseStream {
360 | return fakeResponse.channel.pipeline.addHandlers(self.codec, handler).always { result in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
361 | switch result {
362 | case .success:
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:360:70: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
358 | transport.configure { handler in
359 | if let fakeResponse = self.fakeResponseStream {
360 | return fakeResponse.channel.pipeline.addHandlers(self.codec, handler).always { result in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
361 | switch result {
362 | case .success:
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:363:13: warning: capture of 'fakeResponse' with non-sendable type '_FakeResponseStream<Request, Response>' in a '@Sendable' closure
361 | switch result {
362 | case .success:
363 | fakeResponse.activate()
| `- warning: capture of 'fakeResponse' with non-sendable type '_FakeResponseStream<Request, Response>' in a '@Sendable' closure
364 | case .failure:
365 | ()
/host/spi-builder-workspace/Sources/GRPC/_FakeResponseStream.swift:43:14: note: generic class '_FakeResponseStream' does not conform to the 'Sendable' protocol
41 | /// Users may not interact with this class directly but may do so via one of its subclasses
42 | /// `FakeUnaryResponse` and `FakeStreamingResponse`.
43 | public class _FakeResponseStream<Request, Response> {
| `- note: generic class '_FakeResponseStream' does not conform to the 'Sendable' protocol
44 | private enum StreamEvent {
45 | case responsePart(_GRPCClientResponsePart<Response>)
[1365/1407] Compiling GRPC ClientInterceptorProtocol.swift
/host/spi-builder-workspace/Sources/GRPC/GRPCServerPipelineConfigurator.swift:125:23: warning: capture of 'self' with non-sendable type 'GRPCServerPipelineConfigurator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
27 | /// configures the pipeline appropriately for the protocol negotiated via ALPN. If TLS is not
28 | /// configured then the HTTP version is determined by parsing the inbound byte stream.
29 | final class GRPCServerPipelineConfigurator: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'GRPCServerPipelineConfigurator' does not conform to the 'Sendable' protocol
30 | internal typealias InboundIn = ByteBuffer
31 | internal typealias InboundOut = ByteBuffer
:
123 | do {
124 | // TODO: provide user configuration for header normalization.
125 | let handler = self.makeHTTP2ToRawGRPCHandler(normalizeHeaders: true, logger: logger)
| `- warning: capture of 'self' with non-sendable type 'GRPCServerPipelineConfigurator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | try stream.pipeline.syncOperations.addHandler(handler)
127 | return stream.eventLoop.makeSucceededVoidFuture()
/host/spi-builder-workspace/Sources/GRPC/GRPCServerPipelineConfigurator.swift:153:24: warning: 'removeHandler(context:promise:)' is deprecated: Use .syncOperations.removeHandler(context:) instead, this method is not Sendable-safe.
151 | switch result {
152 | case .success:
153 | context.pipeline.removeHandler(context: context, promise: nil)
| `- warning: 'removeHandler(context:promise:)' is deprecated: Use .syncOperations.removeHandler(context:) instead, this method is not Sendable-safe.
154 | case let .failure(error):
155 | self.errorCaught(context: context, error: error)
/host/spi-builder-workspace/Sources/GRPC/GRPCTLSConfiguration.swift:36:10: warning: associated value 'nio' of 'Sendable'-conforming enum 'Backend' has non-sendable type 'GRPCTLSConfiguration.NIOConfiguration'; this is an error in the Swift 6 language mode
34 | #if canImport(NIOSSL)
35 | /// Configuration for NIOSSSL.
36 | case nio(NIOConfiguration)
| `- warning: associated value 'nio' of 'Sendable'-conforming enum 'Backend' has non-sendable type 'GRPCTLSConfiguration.NIOConfiguration'; this is an error in the Swift 6 language mode
37 | #endif
38 | #if canImport(Network)
:
218 | #if canImport(NIOSSL)
219 | extension GRPCTLSConfiguration {
220 | internal struct NIOConfiguration {
| `- note: consider making struct 'NIOConfiguration' conform to the 'Sendable' protocol
221 | var configuration: TLSConfiguration
222 | var customVerificationCallback: NIOSSLCustomVerificationCallback?
/host/spi-builder-workspace/Sources/GRPC/GRPCTimeout.swift:24:21: warning: static property 'infinite' is not concurrency-safe because non-'Sendable' type 'GRPCTimeout' may have shared mutable state; this is an error in the Swift 6 language mode
20 | ///
21 | /// Timeouts must be positive and at most 8-digits long.
22 | public struct GRPCTimeout: CustomStringConvertible, Equatable {
| `- note: consider making struct 'GRPCTimeout' conform to the 'Sendable' protocol
23 | /// Creates an infinite timeout. This is a sentinel value which must __not__ be sent to a gRPC service.
24 | public static let infinite = GRPCTimeout(
| |- warning: static property 'infinite' is not concurrency-safe because non-'Sendable' type 'GRPCTimeout' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'infinite' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | nanoseconds: Int64.max,
26 | wireEncoding: "infinite"
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:477:9: warning: capture of 'self' with non-sendable type 'ClientInterceptorPipeline<Request, Response>' in a '@Sendable' closure
59 | /// ```
60 | @usableFromInline
61 | internal final class ClientInterceptorPipeline<Request, Response> {
| `- note: generic class 'ClientInterceptorPipeline' does not conform to the 'Sendable' protocol
62 | /// A logger.
63 | @usableFromInline
:
475 | // When the error hits the tail we'll call 'close()', this will cancel the transport if
476 | // necessary.
477 | self.errorCaught(GRPCError.RPCTimedOut(timeLimit))
| `- warning: capture of 'self' with non-sendable type 'ClientInterceptorPipeline<Request, Response>' in a '@Sendable' closure
478 | }
479 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:485:9: warning: capture of 'setup()' with non-sendable type '<Request, Response> () -> ()' in a '@Sendable' closure
483 | } else {
484 | self.eventLoop.execute {
485 | setup()
| `- warning: capture of 'setup()' with non-sendable type '<Request, Response> () -> ()' in a '@Sendable' closure
486 | }
487 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:463:10: warning: concurrently-executed local function 'setup()' must be marked as '@Sendable'
461 | @inlinable
462 | internal func _setupDeadline() {
463 | func setup() {
| `- warning: concurrently-executed local function 'setup()' must be marked as '@Sendable'
464 | self.eventLoop.assertInEventLoop()
465 |
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:324:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
322 | } else {
323 | self.callEventLoop.execute {
324 | self._transportActivated(channel: channel)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
325 | }
326 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:356:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
354 | } else {
355 | self.callEventLoop.execute {
356 | self._transportDeactivated()
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
357 | }
358 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:385:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
383 | } else {
384 | self.callEventLoop.execute {
385 | self.channel = nil
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
386 | }
387 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:398:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
396 | } else {
397 | self.callEventLoop.execute {
398 | self._handleError(error)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
399 | }
400 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:428:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
426 | } else {
427 | self.callEventLoop.execute {
428 | self._receiveFromChannel(initialMetadata: headers)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
429 | }
430 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:447:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
445 | } else {
446 | self.callEventLoop.execute {
447 | self._receiveFromChannel(message: buffer)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
448 | }
449 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:473:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
471 | } else {
472 | self.callEventLoop.execute {
473 | self.trailers = trailers
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
474 | }
475 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:484:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
482 | } else {
483 | self.callEventLoop.execute {
484 | self._receiveFromChannel(status: status)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
485 | }
486 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:840:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
838 | // hop.
839 | if error is GRPCStatus || error is GRPCStatusTransformable {
840 | self.handleError(error)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
841 | } else {
842 | // Fallback to something which will mark the RPC as 'unavailable'.
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:952:15: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
950 | case let .metadata(headers):
951 | let head = self.makeRequestHead(with: headers)
952 | channel.write(self.wrapOutboundOut(.head(head)), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
953 | // Messages are buffered by this class and in the async writer for async calls. Initially the
954 | // async writer is not allowed to emit messages; the call to 'onStart()' signals that messages
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:963:17: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
961 | let bytes = try self.serializer.serialize(request, allocator: channel.allocator)
962 | let message = _MessageContext<ByteBuffer>(bytes, compressed: metadata.compress)
963 | channel.write(self.wrapOutboundOut(.message(message)), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
964 | } catch {
965 | self.handleError(error)
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:969:15: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
967 |
968 | case .end:
969 | channel.write(self.wrapOutboundOut(.end), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
970 | }
971 |
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:260:23: warning: capture of 'transport' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
258 | do {
259 | let clientHandler = GRPCClientChannelHandler(
260 | callType: transport.callDetails.type,
| `- warning: capture of 'transport' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
261 | maximumReceiveMessageLength: self.maximumReceiveMessageLength,
262 | logger: transport.logger
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:38:22: note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:261:42: warning: capture of 'self' with non-sendable type 'HTTP2ClientTransportFactory<Request, Response>' in a '@Sendable' closure
185 |
186 | @usableFromInline
187 | internal struct HTTP2ClientTransportFactory<Request, Response> {
| `- note: consider making generic struct 'HTTP2ClientTransportFactory' conform to the 'Sendable' protocol
188 | /// The multiplexer providing an HTTP/2 stream for the call.
189 | private var streamChannel: EventLoopFuture<Channel>
:
259 | let clientHandler = GRPCClientChannelHandler(
260 | callType: transport.callDetails.type,
261 | maximumReceiveMessageLength: self.maximumReceiveMessageLength,
| `- warning: capture of 'self' with non-sendable type 'HTTP2ClientTransportFactory<Request, Response>' in a '@Sendable' closure
262 | logger: transport.logger
263 | )
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:360:58: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
358 | transport.configure { handler in
359 | if let fakeResponse = self.fakeResponseStream {
360 | return fakeResponse.channel.pipeline.addHandlers(self.codec, handler).always { result in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
361 | switch result {
362 | case .success:
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:360:70: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
358 | transport.configure { handler in
359 | if let fakeResponse = self.fakeResponseStream {
360 | return fakeResponse.channel.pipeline.addHandlers(self.codec, handler).always { result in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
361 | switch result {
362 | case .success:
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:363:13: warning: capture of 'fakeResponse' with non-sendable type '_FakeResponseStream<Request, Response>' in a '@Sendable' closure
361 | switch result {
362 | case .success:
363 | fakeResponse.activate()
| `- warning: capture of 'fakeResponse' with non-sendable type '_FakeResponseStream<Request, Response>' in a '@Sendable' closure
364 | case .failure:
365 | ()
/host/spi-builder-workspace/Sources/GRPC/_FakeResponseStream.swift:43:14: note: generic class '_FakeResponseStream' does not conform to the 'Sendable' protocol
41 | /// Users may not interact with this class directly but may do so via one of its subclasses
42 | /// `FakeUnaryResponse` and `FakeStreamingResponse`.
43 | public class _FakeResponseStream<Request, Response> {
| `- note: generic class '_FakeResponseStream' does not conform to the 'Sendable' protocol
44 | private enum StreamEvent {
45 | case responsePart(_GRPCClientResponsePart<Response>)
[1366/1407] Compiling GRPC ClientInterceptors.swift
/host/spi-builder-workspace/Sources/GRPC/GRPCServerPipelineConfigurator.swift:125:23: warning: capture of 'self' with non-sendable type 'GRPCServerPipelineConfigurator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
27 | /// configures the pipeline appropriately for the protocol negotiated via ALPN. If TLS is not
28 | /// configured then the HTTP version is determined by parsing the inbound byte stream.
29 | final class GRPCServerPipelineConfigurator: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'GRPCServerPipelineConfigurator' does not conform to the 'Sendable' protocol
30 | internal typealias InboundIn = ByteBuffer
31 | internal typealias InboundOut = ByteBuffer
:
123 | do {
124 | // TODO: provide user configuration for header normalization.
125 | let handler = self.makeHTTP2ToRawGRPCHandler(normalizeHeaders: true, logger: logger)
| `- warning: capture of 'self' with non-sendable type 'GRPCServerPipelineConfigurator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | try stream.pipeline.syncOperations.addHandler(handler)
127 | return stream.eventLoop.makeSucceededVoidFuture()
/host/spi-builder-workspace/Sources/GRPC/GRPCServerPipelineConfigurator.swift:153:24: warning: 'removeHandler(context:promise:)' is deprecated: Use .syncOperations.removeHandler(context:) instead, this method is not Sendable-safe.
151 | switch result {
152 | case .success:
153 | context.pipeline.removeHandler(context: context, promise: nil)
| `- warning: 'removeHandler(context:promise:)' is deprecated: Use .syncOperations.removeHandler(context:) instead, this method is not Sendable-safe.
154 | case let .failure(error):
155 | self.errorCaught(context: context, error: error)
/host/spi-builder-workspace/Sources/GRPC/GRPCTLSConfiguration.swift:36:10: warning: associated value 'nio' of 'Sendable'-conforming enum 'Backend' has non-sendable type 'GRPCTLSConfiguration.NIOConfiguration'; this is an error in the Swift 6 language mode
34 | #if canImport(NIOSSL)
35 | /// Configuration for NIOSSSL.
36 | case nio(NIOConfiguration)
| `- warning: associated value 'nio' of 'Sendable'-conforming enum 'Backend' has non-sendable type 'GRPCTLSConfiguration.NIOConfiguration'; this is an error in the Swift 6 language mode
37 | #endif
38 | #if canImport(Network)
:
218 | #if canImport(NIOSSL)
219 | extension GRPCTLSConfiguration {
220 | internal struct NIOConfiguration {
| `- note: consider making struct 'NIOConfiguration' conform to the 'Sendable' protocol
221 | var configuration: TLSConfiguration
222 | var customVerificationCallback: NIOSSLCustomVerificationCallback?
/host/spi-builder-workspace/Sources/GRPC/GRPCTimeout.swift:24:21: warning: static property 'infinite' is not concurrency-safe because non-'Sendable' type 'GRPCTimeout' may have shared mutable state; this is an error in the Swift 6 language mode
20 | ///
21 | /// Timeouts must be positive and at most 8-digits long.
22 | public struct GRPCTimeout: CustomStringConvertible, Equatable {
| `- note: consider making struct 'GRPCTimeout' conform to the 'Sendable' protocol
23 | /// Creates an infinite timeout. This is a sentinel value which must __not__ be sent to a gRPC service.
24 | public static let infinite = GRPCTimeout(
| |- warning: static property 'infinite' is not concurrency-safe because non-'Sendable' type 'GRPCTimeout' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'infinite' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | nanoseconds: Int64.max,
26 | wireEncoding: "infinite"
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:477:9: warning: capture of 'self' with non-sendable type 'ClientInterceptorPipeline<Request, Response>' in a '@Sendable' closure
59 | /// ```
60 | @usableFromInline
61 | internal final class ClientInterceptorPipeline<Request, Response> {
| `- note: generic class 'ClientInterceptorPipeline' does not conform to the 'Sendable' protocol
62 | /// A logger.
63 | @usableFromInline
:
475 | // When the error hits the tail we'll call 'close()', this will cancel the transport if
476 | // necessary.
477 | self.errorCaught(GRPCError.RPCTimedOut(timeLimit))
| `- warning: capture of 'self' with non-sendable type 'ClientInterceptorPipeline<Request, Response>' in a '@Sendable' closure
478 | }
479 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:485:9: warning: capture of 'setup()' with non-sendable type '<Request, Response> () -> ()' in a '@Sendable' closure
483 | } else {
484 | self.eventLoop.execute {
485 | setup()
| `- warning: capture of 'setup()' with non-sendable type '<Request, Response> () -> ()' in a '@Sendable' closure
486 | }
487 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:463:10: warning: concurrently-executed local function 'setup()' must be marked as '@Sendable'
461 | @inlinable
462 | internal func _setupDeadline() {
463 | func setup() {
| `- warning: concurrently-executed local function 'setup()' must be marked as '@Sendable'
464 | self.eventLoop.assertInEventLoop()
465 |
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:324:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
322 | } else {
323 | self.callEventLoop.execute {
324 | self._transportActivated(channel: channel)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
325 | }
326 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:356:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
354 | } else {
355 | self.callEventLoop.execute {
356 | self._transportDeactivated()
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
357 | }
358 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:385:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
383 | } else {
384 | self.callEventLoop.execute {
385 | self.channel = nil
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
386 | }
387 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:398:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
396 | } else {
397 | self.callEventLoop.execute {
398 | self._handleError(error)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
399 | }
400 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:428:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
426 | } else {
427 | self.callEventLoop.execute {
428 | self._receiveFromChannel(initialMetadata: headers)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
429 | }
430 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:447:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
445 | } else {
446 | self.callEventLoop.execute {
447 | self._receiveFromChannel(message: buffer)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
448 | }
449 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:473:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
471 | } else {
472 | self.callEventLoop.execute {
473 | self.trailers = trailers
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
474 | }
475 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:484:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
482 | } else {
483 | self.callEventLoop.execute {
484 | self._receiveFromChannel(status: status)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
485 | }
486 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:840:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
838 | // hop.
839 | if error is GRPCStatus || error is GRPCStatusTransformable {
840 | self.handleError(error)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
841 | } else {
842 | // Fallback to something which will mark the RPC as 'unavailable'.
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:952:15: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
950 | case let .metadata(headers):
951 | let head = self.makeRequestHead(with: headers)
952 | channel.write(self.wrapOutboundOut(.head(head)), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
953 | // Messages are buffered by this class and in the async writer for async calls. Initially the
954 | // async writer is not allowed to emit messages; the call to 'onStart()' signals that messages
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:963:17: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
961 | let bytes = try self.serializer.serialize(request, allocator: channel.allocator)
962 | let message = _MessageContext<ByteBuffer>(bytes, compressed: metadata.compress)
963 | channel.write(self.wrapOutboundOut(.message(message)), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
964 | } catch {
965 | self.handleError(error)
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:969:15: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
967 |
968 | case .end:
969 | channel.write(self.wrapOutboundOut(.end), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
970 | }
971 |
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:260:23: warning: capture of 'transport' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
258 | do {
259 | let clientHandler = GRPCClientChannelHandler(
260 | callType: transport.callDetails.type,
| `- warning: capture of 'transport' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
261 | maximumReceiveMessageLength: self.maximumReceiveMessageLength,
262 | logger: transport.logger
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:38:22: note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:261:42: warning: capture of 'self' with non-sendable type 'HTTP2ClientTransportFactory<Request, Response>' in a '@Sendable' closure
185 |
186 | @usableFromInline
187 | internal struct HTTP2ClientTransportFactory<Request, Response> {
| `- note: consider making generic struct 'HTTP2ClientTransportFactory' conform to the 'Sendable' protocol
188 | /// The multiplexer providing an HTTP/2 stream for the call.
189 | private var streamChannel: EventLoopFuture<Channel>
:
259 | let clientHandler = GRPCClientChannelHandler(
260 | callType: transport.callDetails.type,
261 | maximumReceiveMessageLength: self.maximumReceiveMessageLength,
| `- warning: capture of 'self' with non-sendable type 'HTTP2ClientTransportFactory<Request, Response>' in a '@Sendable' closure
262 | logger: transport.logger
263 | )
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:360:58: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
358 | transport.configure { handler in
359 | if let fakeResponse = self.fakeResponseStream {
360 | return fakeResponse.channel.pipeline.addHandlers(self.codec, handler).always { result in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
361 | switch result {
362 | case .success:
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:360:70: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
358 | transport.configure { handler in
359 | if let fakeResponse = self.fakeResponseStream {
360 | return fakeResponse.channel.pipeline.addHandlers(self.codec, handler).always { result in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
361 | switch result {
362 | case .success:
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:363:13: warning: capture of 'fakeResponse' with non-sendable type '_FakeResponseStream<Request, Response>' in a '@Sendable' closure
361 | switch result {
362 | case .success:
363 | fakeResponse.activate()
| `- warning: capture of 'fakeResponse' with non-sendable type '_FakeResponseStream<Request, Response>' in a '@Sendable' closure
364 | case .failure:
365 | ()
/host/spi-builder-workspace/Sources/GRPC/_FakeResponseStream.swift:43:14: note: generic class '_FakeResponseStream' does not conform to the 'Sendable' protocol
41 | /// Users may not interact with this class directly but may do so via one of its subclasses
42 | /// `FakeUnaryResponse` and `FakeStreamingResponse`.
43 | public class _FakeResponseStream<Request, Response> {
| `- note: generic class '_FakeResponseStream' does not conform to the 'Sendable' protocol
44 | private enum StreamEvent {
45 | case responsePart(_GRPCClientResponsePart<Response>)
[1367/1407] Compiling GRPC ClientTransport.swift
/host/spi-builder-workspace/Sources/GRPC/GRPCServerPipelineConfigurator.swift:125:23: warning: capture of 'self' with non-sendable type 'GRPCServerPipelineConfigurator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
27 | /// configures the pipeline appropriately for the protocol negotiated via ALPN. If TLS is not
28 | /// configured then the HTTP version is determined by parsing the inbound byte stream.
29 | final class GRPCServerPipelineConfigurator: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'GRPCServerPipelineConfigurator' does not conform to the 'Sendable' protocol
30 | internal typealias InboundIn = ByteBuffer
31 | internal typealias InboundOut = ByteBuffer
:
123 | do {
124 | // TODO: provide user configuration for header normalization.
125 | let handler = self.makeHTTP2ToRawGRPCHandler(normalizeHeaders: true, logger: logger)
| `- warning: capture of 'self' with non-sendable type 'GRPCServerPipelineConfigurator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | try stream.pipeline.syncOperations.addHandler(handler)
127 | return stream.eventLoop.makeSucceededVoidFuture()
/host/spi-builder-workspace/Sources/GRPC/GRPCServerPipelineConfigurator.swift:153:24: warning: 'removeHandler(context:promise:)' is deprecated: Use .syncOperations.removeHandler(context:) instead, this method is not Sendable-safe.
151 | switch result {
152 | case .success:
153 | context.pipeline.removeHandler(context: context, promise: nil)
| `- warning: 'removeHandler(context:promise:)' is deprecated: Use .syncOperations.removeHandler(context:) instead, this method is not Sendable-safe.
154 | case let .failure(error):
155 | self.errorCaught(context: context, error: error)
/host/spi-builder-workspace/Sources/GRPC/GRPCTLSConfiguration.swift:36:10: warning: associated value 'nio' of 'Sendable'-conforming enum 'Backend' has non-sendable type 'GRPCTLSConfiguration.NIOConfiguration'; this is an error in the Swift 6 language mode
34 | #if canImport(NIOSSL)
35 | /// Configuration for NIOSSSL.
36 | case nio(NIOConfiguration)
| `- warning: associated value 'nio' of 'Sendable'-conforming enum 'Backend' has non-sendable type 'GRPCTLSConfiguration.NIOConfiguration'; this is an error in the Swift 6 language mode
37 | #endif
38 | #if canImport(Network)
:
218 | #if canImport(NIOSSL)
219 | extension GRPCTLSConfiguration {
220 | internal struct NIOConfiguration {
| `- note: consider making struct 'NIOConfiguration' conform to the 'Sendable' protocol
221 | var configuration: TLSConfiguration
222 | var customVerificationCallback: NIOSSLCustomVerificationCallback?
/host/spi-builder-workspace/Sources/GRPC/GRPCTimeout.swift:24:21: warning: static property 'infinite' is not concurrency-safe because non-'Sendable' type 'GRPCTimeout' may have shared mutable state; this is an error in the Swift 6 language mode
20 | ///
21 | /// Timeouts must be positive and at most 8-digits long.
22 | public struct GRPCTimeout: CustomStringConvertible, Equatable {
| `- note: consider making struct 'GRPCTimeout' conform to the 'Sendable' protocol
23 | /// Creates an infinite timeout. This is a sentinel value which must __not__ be sent to a gRPC service.
24 | public static let infinite = GRPCTimeout(
| |- warning: static property 'infinite' is not concurrency-safe because non-'Sendable' type 'GRPCTimeout' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'infinite' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | nanoseconds: Int64.max,
26 | wireEncoding: "infinite"
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:477:9: warning: capture of 'self' with non-sendable type 'ClientInterceptorPipeline<Request, Response>' in a '@Sendable' closure
59 | /// ```
60 | @usableFromInline
61 | internal final class ClientInterceptorPipeline<Request, Response> {
| `- note: generic class 'ClientInterceptorPipeline' does not conform to the 'Sendable' protocol
62 | /// A logger.
63 | @usableFromInline
:
475 | // When the error hits the tail we'll call 'close()', this will cancel the transport if
476 | // necessary.
477 | self.errorCaught(GRPCError.RPCTimedOut(timeLimit))
| `- warning: capture of 'self' with non-sendable type 'ClientInterceptorPipeline<Request, Response>' in a '@Sendable' closure
478 | }
479 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:485:9: warning: capture of 'setup()' with non-sendable type '<Request, Response> () -> ()' in a '@Sendable' closure
483 | } else {
484 | self.eventLoop.execute {
485 | setup()
| `- warning: capture of 'setup()' with non-sendable type '<Request, Response> () -> ()' in a '@Sendable' closure
486 | }
487 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:463:10: warning: concurrently-executed local function 'setup()' must be marked as '@Sendable'
461 | @inlinable
462 | internal func _setupDeadline() {
463 | func setup() {
| `- warning: concurrently-executed local function 'setup()' must be marked as '@Sendable'
464 | self.eventLoop.assertInEventLoop()
465 |
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:324:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
322 | } else {
323 | self.callEventLoop.execute {
324 | self._transportActivated(channel: channel)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
325 | }
326 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:356:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
354 | } else {
355 | self.callEventLoop.execute {
356 | self._transportDeactivated()
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
357 | }
358 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:385:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
383 | } else {
384 | self.callEventLoop.execute {
385 | self.channel = nil
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
386 | }
387 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:398:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
396 | } else {
397 | self.callEventLoop.execute {
398 | self._handleError(error)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
399 | }
400 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:428:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
426 | } else {
427 | self.callEventLoop.execute {
428 | self._receiveFromChannel(initialMetadata: headers)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
429 | }
430 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:447:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
445 | } else {
446 | self.callEventLoop.execute {
447 | self._receiveFromChannel(message: buffer)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
448 | }
449 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:473:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
471 | } else {
472 | self.callEventLoop.execute {
473 | self.trailers = trailers
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
474 | }
475 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:484:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
482 | } else {
483 | self.callEventLoop.execute {
484 | self._receiveFromChannel(status: status)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
485 | }
486 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:840:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
838 | // hop.
839 | if error is GRPCStatus || error is GRPCStatusTransformable {
840 | self.handleError(error)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
841 | } else {
842 | // Fallback to something which will mark the RPC as 'unavailable'.
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:952:15: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
950 | case let .metadata(headers):
951 | let head = self.makeRequestHead(with: headers)
952 | channel.write(self.wrapOutboundOut(.head(head)), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
953 | // Messages are buffered by this class and in the async writer for async calls. Initially the
954 | // async writer is not allowed to emit messages; the call to 'onStart()' signals that messages
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:963:17: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
961 | let bytes = try self.serializer.serialize(request, allocator: channel.allocator)
962 | let message = _MessageContext<ByteBuffer>(bytes, compressed: metadata.compress)
963 | channel.write(self.wrapOutboundOut(.message(message)), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
964 | } catch {
965 | self.handleError(error)
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:969:15: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
967 |
968 | case .end:
969 | channel.write(self.wrapOutboundOut(.end), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
970 | }
971 |
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:260:23: warning: capture of 'transport' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
258 | do {
259 | let clientHandler = GRPCClientChannelHandler(
260 | callType: transport.callDetails.type,
| `- warning: capture of 'transport' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
261 | maximumReceiveMessageLength: self.maximumReceiveMessageLength,
262 | logger: transport.logger
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:38:22: note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:261:42: warning: capture of 'self' with non-sendable type 'HTTP2ClientTransportFactory<Request, Response>' in a '@Sendable' closure
185 |
186 | @usableFromInline
187 | internal struct HTTP2ClientTransportFactory<Request, Response> {
| `- note: consider making generic struct 'HTTP2ClientTransportFactory' conform to the 'Sendable' protocol
188 | /// The multiplexer providing an HTTP/2 stream for the call.
189 | private var streamChannel: EventLoopFuture<Channel>
:
259 | let clientHandler = GRPCClientChannelHandler(
260 | callType: transport.callDetails.type,
261 | maximumReceiveMessageLength: self.maximumReceiveMessageLength,
| `- warning: capture of 'self' with non-sendable type 'HTTP2ClientTransportFactory<Request, Response>' in a '@Sendable' closure
262 | logger: transport.logger
263 | )
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:360:58: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
358 | transport.configure { handler in
359 | if let fakeResponse = self.fakeResponseStream {
360 | return fakeResponse.channel.pipeline.addHandlers(self.codec, handler).always { result in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
361 | switch result {
362 | case .success:
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:360:70: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
358 | transport.configure { handler in
359 | if let fakeResponse = self.fakeResponseStream {
360 | return fakeResponse.channel.pipeline.addHandlers(self.codec, handler).always { result in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
361 | switch result {
362 | case .success:
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:363:13: warning: capture of 'fakeResponse' with non-sendable type '_FakeResponseStream<Request, Response>' in a '@Sendable' closure
361 | switch result {
362 | case .success:
363 | fakeResponse.activate()
| `- warning: capture of 'fakeResponse' with non-sendable type '_FakeResponseStream<Request, Response>' in a '@Sendable' closure
364 | case .failure:
365 | ()
/host/spi-builder-workspace/Sources/GRPC/_FakeResponseStream.swift:43:14: note: generic class '_FakeResponseStream' does not conform to the 'Sendable' protocol
41 | /// Users may not interact with this class directly but may do so via one of its subclasses
42 | /// `FakeUnaryResponse` and `FakeStreamingResponse`.
43 | public class _FakeResponseStream<Request, Response> {
| `- note: generic class '_FakeResponseStream' does not conform to the 'Sendable' protocol
44 | private enum StreamEvent {
45 | case responsePart(_GRPCClientResponsePart<Response>)
[1368/1407] Compiling GRPC ClientTransportFactory.swift
/host/spi-builder-workspace/Sources/GRPC/GRPCServerPipelineConfigurator.swift:125:23: warning: capture of 'self' with non-sendable type 'GRPCServerPipelineConfigurator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
27 | /// configures the pipeline appropriately for the protocol negotiated via ALPN. If TLS is not
28 | /// configured then the HTTP version is determined by parsing the inbound byte stream.
29 | final class GRPCServerPipelineConfigurator: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'GRPCServerPipelineConfigurator' does not conform to the 'Sendable' protocol
30 | internal typealias InboundIn = ByteBuffer
31 | internal typealias InboundOut = ByteBuffer
:
123 | do {
124 | // TODO: provide user configuration for header normalization.
125 | let handler = self.makeHTTP2ToRawGRPCHandler(normalizeHeaders: true, logger: logger)
| `- warning: capture of 'self' with non-sendable type 'GRPCServerPipelineConfigurator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | try stream.pipeline.syncOperations.addHandler(handler)
127 | return stream.eventLoop.makeSucceededVoidFuture()
/host/spi-builder-workspace/Sources/GRPC/GRPCServerPipelineConfigurator.swift:153:24: warning: 'removeHandler(context:promise:)' is deprecated: Use .syncOperations.removeHandler(context:) instead, this method is not Sendable-safe.
151 | switch result {
152 | case .success:
153 | context.pipeline.removeHandler(context: context, promise: nil)
| `- warning: 'removeHandler(context:promise:)' is deprecated: Use .syncOperations.removeHandler(context:) instead, this method is not Sendable-safe.
154 | case let .failure(error):
155 | self.errorCaught(context: context, error: error)
/host/spi-builder-workspace/Sources/GRPC/GRPCTLSConfiguration.swift:36:10: warning: associated value 'nio' of 'Sendable'-conforming enum 'Backend' has non-sendable type 'GRPCTLSConfiguration.NIOConfiguration'; this is an error in the Swift 6 language mode
34 | #if canImport(NIOSSL)
35 | /// Configuration for NIOSSSL.
36 | case nio(NIOConfiguration)
| `- warning: associated value 'nio' of 'Sendable'-conforming enum 'Backend' has non-sendable type 'GRPCTLSConfiguration.NIOConfiguration'; this is an error in the Swift 6 language mode
37 | #endif
38 | #if canImport(Network)
:
218 | #if canImport(NIOSSL)
219 | extension GRPCTLSConfiguration {
220 | internal struct NIOConfiguration {
| `- note: consider making struct 'NIOConfiguration' conform to the 'Sendable' protocol
221 | var configuration: TLSConfiguration
222 | var customVerificationCallback: NIOSSLCustomVerificationCallback?
/host/spi-builder-workspace/Sources/GRPC/GRPCTimeout.swift:24:21: warning: static property 'infinite' is not concurrency-safe because non-'Sendable' type 'GRPCTimeout' may have shared mutable state; this is an error in the Swift 6 language mode
20 | ///
21 | /// Timeouts must be positive and at most 8-digits long.
22 | public struct GRPCTimeout: CustomStringConvertible, Equatable {
| `- note: consider making struct 'GRPCTimeout' conform to the 'Sendable' protocol
23 | /// Creates an infinite timeout. This is a sentinel value which must __not__ be sent to a gRPC service.
24 | public static let infinite = GRPCTimeout(
| |- warning: static property 'infinite' is not concurrency-safe because non-'Sendable' type 'GRPCTimeout' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'infinite' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | nanoseconds: Int64.max,
26 | wireEncoding: "infinite"
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:477:9: warning: capture of 'self' with non-sendable type 'ClientInterceptorPipeline<Request, Response>' in a '@Sendable' closure
59 | /// ```
60 | @usableFromInline
61 | internal final class ClientInterceptorPipeline<Request, Response> {
| `- note: generic class 'ClientInterceptorPipeline' does not conform to the 'Sendable' protocol
62 | /// A logger.
63 | @usableFromInline
:
475 | // When the error hits the tail we'll call 'close()', this will cancel the transport if
476 | // necessary.
477 | self.errorCaught(GRPCError.RPCTimedOut(timeLimit))
| `- warning: capture of 'self' with non-sendable type 'ClientInterceptorPipeline<Request, Response>' in a '@Sendable' closure
478 | }
479 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:485:9: warning: capture of 'setup()' with non-sendable type '<Request, Response> () -> ()' in a '@Sendable' closure
483 | } else {
484 | self.eventLoop.execute {
485 | setup()
| `- warning: capture of 'setup()' with non-sendable type '<Request, Response> () -> ()' in a '@Sendable' closure
486 | }
487 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:463:10: warning: concurrently-executed local function 'setup()' must be marked as '@Sendable'
461 | @inlinable
462 | internal func _setupDeadline() {
463 | func setup() {
| `- warning: concurrently-executed local function 'setup()' must be marked as '@Sendable'
464 | self.eventLoop.assertInEventLoop()
465 |
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:324:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
322 | } else {
323 | self.callEventLoop.execute {
324 | self._transportActivated(channel: channel)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
325 | }
326 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:356:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
354 | } else {
355 | self.callEventLoop.execute {
356 | self._transportDeactivated()
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
357 | }
358 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:385:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
383 | } else {
384 | self.callEventLoop.execute {
385 | self.channel = nil
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
386 | }
387 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:398:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
396 | } else {
397 | self.callEventLoop.execute {
398 | self._handleError(error)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
399 | }
400 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:428:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
426 | } else {
427 | self.callEventLoop.execute {
428 | self._receiveFromChannel(initialMetadata: headers)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
429 | }
430 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:447:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
445 | } else {
446 | self.callEventLoop.execute {
447 | self._receiveFromChannel(message: buffer)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
448 | }
449 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:473:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
471 | } else {
472 | self.callEventLoop.execute {
473 | self.trailers = trailers
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
474 | }
475 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:484:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
482 | } else {
483 | self.callEventLoop.execute {
484 | self._receiveFromChannel(status: status)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
485 | }
486 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:840:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
838 | // hop.
839 | if error is GRPCStatus || error is GRPCStatusTransformable {
840 | self.handleError(error)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
841 | } else {
842 | // Fallback to something which will mark the RPC as 'unavailable'.
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:952:15: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
950 | case let .metadata(headers):
951 | let head = self.makeRequestHead(with: headers)
952 | channel.write(self.wrapOutboundOut(.head(head)), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
953 | // Messages are buffered by this class and in the async writer for async calls. Initially the
954 | // async writer is not allowed to emit messages; the call to 'onStart()' signals that messages
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:963:17: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
961 | let bytes = try self.serializer.serialize(request, allocator: channel.allocator)
962 | let message = _MessageContext<ByteBuffer>(bytes, compressed: metadata.compress)
963 | channel.write(self.wrapOutboundOut(.message(message)), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
964 | } catch {
965 | self.handleError(error)
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:969:15: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
967 |
968 | case .end:
969 | channel.write(self.wrapOutboundOut(.end), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
970 | }
971 |
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:260:23: warning: capture of 'transport' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
258 | do {
259 | let clientHandler = GRPCClientChannelHandler(
260 | callType: transport.callDetails.type,
| `- warning: capture of 'transport' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
261 | maximumReceiveMessageLength: self.maximumReceiveMessageLength,
262 | logger: transport.logger
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:38:22: note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:261:42: warning: capture of 'self' with non-sendable type 'HTTP2ClientTransportFactory<Request, Response>' in a '@Sendable' closure
185 |
186 | @usableFromInline
187 | internal struct HTTP2ClientTransportFactory<Request, Response> {
| `- note: consider making generic struct 'HTTP2ClientTransportFactory' conform to the 'Sendable' protocol
188 | /// The multiplexer providing an HTTP/2 stream for the call.
189 | private var streamChannel: EventLoopFuture<Channel>
:
259 | let clientHandler = GRPCClientChannelHandler(
260 | callType: transport.callDetails.type,
261 | maximumReceiveMessageLength: self.maximumReceiveMessageLength,
| `- warning: capture of 'self' with non-sendable type 'HTTP2ClientTransportFactory<Request, Response>' in a '@Sendable' closure
262 | logger: transport.logger
263 | )
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:360:58: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
358 | transport.configure { handler in
359 | if let fakeResponse = self.fakeResponseStream {
360 | return fakeResponse.channel.pipeline.addHandlers(self.codec, handler).always { result in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
361 | switch result {
362 | case .success:
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:360:70: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
358 | transport.configure { handler in
359 | if let fakeResponse = self.fakeResponseStream {
360 | return fakeResponse.channel.pipeline.addHandlers(self.codec, handler).always { result in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
361 | switch result {
362 | case .success:
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:363:13: warning: capture of 'fakeResponse' with non-sendable type '_FakeResponseStream<Request, Response>' in a '@Sendable' closure
361 | switch result {
362 | case .success:
363 | fakeResponse.activate()
| `- warning: capture of 'fakeResponse' with non-sendable type '_FakeResponseStream<Request, Response>' in a '@Sendable' closure
364 | case .failure:
365 | ()
/host/spi-builder-workspace/Sources/GRPC/_FakeResponseStream.swift:43:14: note: generic class '_FakeResponseStream' does not conform to the 'Sendable' protocol
41 | /// Users may not interact with this class directly but may do so via one of its subclasses
42 | /// `FakeUnaryResponse` and `FakeStreamingResponse`.
43 | public class _FakeResponseStream<Request, Response> {
| `- note: generic class '_FakeResponseStream' does not conform to the 'Sendable' protocol
44 | private enum StreamEvent {
45 | case responsePart(_GRPCClientResponsePart<Response>)
[1369/1407] Compiling GRPC MessageParts.swift
/host/spi-builder-workspace/Sources/GRPC/GRPCServerPipelineConfigurator.swift:125:23: warning: capture of 'self' with non-sendable type 'GRPCServerPipelineConfigurator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
27 | /// configures the pipeline appropriately for the protocol negotiated via ALPN. If TLS is not
28 | /// configured then the HTTP version is determined by parsing the inbound byte stream.
29 | final class GRPCServerPipelineConfigurator: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'GRPCServerPipelineConfigurator' does not conform to the 'Sendable' protocol
30 | internal typealias InboundIn = ByteBuffer
31 | internal typealias InboundOut = ByteBuffer
:
123 | do {
124 | // TODO: provide user configuration for header normalization.
125 | let handler = self.makeHTTP2ToRawGRPCHandler(normalizeHeaders: true, logger: logger)
| `- warning: capture of 'self' with non-sendable type 'GRPCServerPipelineConfigurator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | try stream.pipeline.syncOperations.addHandler(handler)
127 | return stream.eventLoop.makeSucceededVoidFuture()
/host/spi-builder-workspace/Sources/GRPC/GRPCServerPipelineConfigurator.swift:153:24: warning: 'removeHandler(context:promise:)' is deprecated: Use .syncOperations.removeHandler(context:) instead, this method is not Sendable-safe.
151 | switch result {
152 | case .success:
153 | context.pipeline.removeHandler(context: context, promise: nil)
| `- warning: 'removeHandler(context:promise:)' is deprecated: Use .syncOperations.removeHandler(context:) instead, this method is not Sendable-safe.
154 | case let .failure(error):
155 | self.errorCaught(context: context, error: error)
/host/spi-builder-workspace/Sources/GRPC/GRPCTLSConfiguration.swift:36:10: warning: associated value 'nio' of 'Sendable'-conforming enum 'Backend' has non-sendable type 'GRPCTLSConfiguration.NIOConfiguration'; this is an error in the Swift 6 language mode
34 | #if canImport(NIOSSL)
35 | /// Configuration for NIOSSSL.
36 | case nio(NIOConfiguration)
| `- warning: associated value 'nio' of 'Sendable'-conforming enum 'Backend' has non-sendable type 'GRPCTLSConfiguration.NIOConfiguration'; this is an error in the Swift 6 language mode
37 | #endif
38 | #if canImport(Network)
:
218 | #if canImport(NIOSSL)
219 | extension GRPCTLSConfiguration {
220 | internal struct NIOConfiguration {
| `- note: consider making struct 'NIOConfiguration' conform to the 'Sendable' protocol
221 | var configuration: TLSConfiguration
222 | var customVerificationCallback: NIOSSLCustomVerificationCallback?
/host/spi-builder-workspace/Sources/GRPC/GRPCTimeout.swift:24:21: warning: static property 'infinite' is not concurrency-safe because non-'Sendable' type 'GRPCTimeout' may have shared mutable state; this is an error in the Swift 6 language mode
20 | ///
21 | /// Timeouts must be positive and at most 8-digits long.
22 | public struct GRPCTimeout: CustomStringConvertible, Equatable {
| `- note: consider making struct 'GRPCTimeout' conform to the 'Sendable' protocol
23 | /// Creates an infinite timeout. This is a sentinel value which must __not__ be sent to a gRPC service.
24 | public static let infinite = GRPCTimeout(
| |- warning: static property 'infinite' is not concurrency-safe because non-'Sendable' type 'GRPCTimeout' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'infinite' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | nanoseconds: Int64.max,
26 | wireEncoding: "infinite"
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:477:9: warning: capture of 'self' with non-sendable type 'ClientInterceptorPipeline<Request, Response>' in a '@Sendable' closure
59 | /// ```
60 | @usableFromInline
61 | internal final class ClientInterceptorPipeline<Request, Response> {
| `- note: generic class 'ClientInterceptorPipeline' does not conform to the 'Sendable' protocol
62 | /// A logger.
63 | @usableFromInline
:
475 | // When the error hits the tail we'll call 'close()', this will cancel the transport if
476 | // necessary.
477 | self.errorCaught(GRPCError.RPCTimedOut(timeLimit))
| `- warning: capture of 'self' with non-sendable type 'ClientInterceptorPipeline<Request, Response>' in a '@Sendable' closure
478 | }
479 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:485:9: warning: capture of 'setup()' with non-sendable type '<Request, Response> () -> ()' in a '@Sendable' closure
483 | } else {
484 | self.eventLoop.execute {
485 | setup()
| `- warning: capture of 'setup()' with non-sendable type '<Request, Response> () -> ()' in a '@Sendable' closure
486 | }
487 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientInterceptorPipeline.swift:463:10: warning: concurrently-executed local function 'setup()' must be marked as '@Sendable'
461 | @inlinable
462 | internal func _setupDeadline() {
463 | func setup() {
| `- warning: concurrently-executed local function 'setup()' must be marked as '@Sendable'
464 | self.eventLoop.assertInEventLoop()
465 |
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:324:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
322 | } else {
323 | self.callEventLoop.execute {
324 | self._transportActivated(channel: channel)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
325 | }
326 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:356:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
354 | } else {
355 | self.callEventLoop.execute {
356 | self._transportDeactivated()
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
357 | }
358 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:385:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
383 | } else {
384 | self.callEventLoop.execute {
385 | self.channel = nil
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
386 | }
387 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:398:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
396 | } else {
397 | self.callEventLoop.execute {
398 | self._handleError(error)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
399 | }
400 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:428:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
426 | } else {
427 | self.callEventLoop.execute {
428 | self._receiveFromChannel(initialMetadata: headers)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
429 | }
430 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:447:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
445 | } else {
446 | self.callEventLoop.execute {
447 | self._receiveFromChannel(message: buffer)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
448 | }
449 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:473:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
471 | } else {
472 | self.callEventLoop.execute {
473 | self.trailers = trailers
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
474 | }
475 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:484:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
482 | } else {
483 | self.callEventLoop.execute {
484 | self._receiveFromChannel(status: status)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
485 | }
486 | }
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:840:9: warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
:
838 | // hop.
839 | if error is GRPCStatus || error is GRPCStatusTransformable {
840 | self.handleError(error)
| `- warning: capture of 'self' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
841 | } else {
842 | // Fallback to something which will mark the RPC as 'unavailable'.
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:952:15: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
950 | case let .metadata(headers):
951 | let head = self.makeRequestHead(with: headers)
952 | channel.write(self.wrapOutboundOut(.head(head)), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
953 | // Messages are buffered by this class and in the async writer for async calls. Initially the
954 | // async writer is not allowed to emit messages; the call to 'onStart()' signals that messages
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:963:17: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
961 | let bytes = try self.serializer.serialize(request, allocator: channel.allocator)
962 | let message = _MessageContext<ByteBuffer>(bytes, compressed: metadata.compress)
963 | channel.write(self.wrapOutboundOut(.message(message)), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
964 | } catch {
965 | self.handleError(error)
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:969:15: warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
967 |
968 | case .end:
969 | channel.write(self.wrapOutboundOut(.end), promise: promise)
| `- warning: 'write(_:promise:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning.
970 | }
971 |
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:260:23: warning: capture of 'transport' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
258 | do {
259 | let clientHandler = GRPCClientChannelHandler(
260 | callType: transport.callDetails.type,
| `- warning: capture of 'transport' with non-sendable type 'ClientTransport<Request, Response>' in a '@Sendable' closure
261 | maximumReceiveMessageLength: self.maximumReceiveMessageLength,
262 | logger: transport.logger
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransport.swift:38:22: note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
36 | /// This class is not thread safe. All methods **must** be executed on the transport's `callEventLoop`.
37 | @usableFromInline
38 | internal final class ClientTransport<Request, Response> {
| `- note: generic class 'ClientTransport' does not conform to the 'Sendable' protocol
39 | /// The `EventLoop` the call is running on. State must be accessed from this event loop.
40 | @usableFromInline
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:261:42: warning: capture of 'self' with non-sendable type 'HTTP2ClientTransportFactory<Request, Response>' in a '@Sendable' closure
185 |
186 | @usableFromInline
187 | internal struct HTTP2ClientTransportFactory<Request, Response> {
| `- note: consider making generic struct 'HTTP2ClientTransportFactory' conform to the 'Sendable' protocol
188 | /// The multiplexer providing an HTTP/2 stream for the call.
189 | private var streamChannel: EventLoopFuture<Channel>
:
259 | let clientHandler = GRPCClientChannelHandler(
260 | callType: transport.callDetails.type,
261 | maximumReceiveMessageLength: self.maximumReceiveMessageLength,
| `- warning: capture of 'self' with non-sendable type 'HTTP2ClientTransportFactory<Request, Response>' in a '@Sendable' closure
262 | logger: transport.logger
263 | )
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:360:58: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
358 | transport.configure { handler in
359 | if let fakeResponse = self.fakeResponseStream {
360 | return fakeResponse.channel.pipeline.addHandlers(self.codec, handler).always { result in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
361 | switch result {
362 | case .success:
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:360:70: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
358 | transport.configure { handler in
359 | if let fakeResponse = self.fakeResponseStream {
360 | return fakeResponse.channel.pipeline.addHandlers(self.codec, handler).always { result in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
361 | switch result {
362 | case .success:
/host/spi-builder-workspace/Sources/GRPC/Interceptor/ClientTransportFactory.swift:363:13: warning: capture of 'fakeResponse' with non-sendable type '_FakeResponseStream<Request, Response>' in a '@Sendable' closure
361 | switch result {
362 | case .success:
363 | fakeResponse.activate()
| `- warning: capture of 'fakeResponse' with non-sendable type '_FakeResponseStream<Request, Response>' in a '@Sendable' closure
364 | case .failure:
365 | ()
/host/spi-builder-workspace/Sources/GRPC/_FakeResponseStream.swift:43:14: note: generic class '_FakeResponseStream' does not conform to the 'Sendable' protocol
41 | /// Users may not interact with this class directly but may do so via one of its subclasses
42 | /// `FakeUnaryResponse` and `FakeStreamingResponse`.
43 | public class _FakeResponseStream<Request, Response> {
| `- note: generic class '_FakeResponseStream' does not conform to the 'Sendable' protocol
44 | private enum StreamEvent {
45 | case responsePart(_GRPCClientResponsePart<Response>)
[1370/1408] Wrapping AST for GRPC for debugging
[1372/1441] Compiling GRPCInteroperabilityTestModels test.pb.swift
[1373/1441] Compiling GRPCInteroperabilityTestModels empty.pb.swift
[1374/1441] Compiling GRPCReflectionService reflection-v1.grpc.swift
[1375/1441] Compiling GRPCReflectionService reflection-v1alpha.grpc.swift
[1376/1441] Compiling GRPCPerformanceTests echo.pb.swift
[1377/1442] Compiling EchoModel echo.pb.swift
[1378/1442] Compiling GRPCPerformanceTests MinimalEchoProvider.swift
/host/spi-builder-workspace/Sources/GRPCPerformanceTests/Benchmarks/MinimalEchoProvider.swift:59:30: warning: type '(StreamEvent<Echo_EchoRequest>) -> Void' does not conform to the 'Sendable' protocol
57 | }
58 |
59 | return context.eventLoop.makeSucceededFuture(onEvent(_:))
| |- warning: type '(StreamEvent<Echo_EchoRequest>) -> Void' does not conform to the 'Sendable' protocol
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
60 | }
61 |
/host/spi-builder-workspace/Sources/GRPCPerformanceTests/Benchmarks/MinimalEchoProvider.swift:74:30: warning: type '(StreamEvent<Echo_EchoRequest>) -> Void' does not conform to the 'Sendable' protocol
72 | }
73 |
74 | return context.eventLoop.makeSucceededFuture(onEvent(_:))
| |- warning: type '(StreamEvent<Echo_EchoRequest>) -> Void' does not conform to the 'Sendable' protocol
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
75 | }
76 | }
[1379/1442] Compiling GRPCPerformanceTests PercentEncoding.swift
/host/spi-builder-workspace/Sources/GRPCPerformanceTests/Benchmarks/MinimalEchoProvider.swift:59:30: warning: type '(StreamEvent<Echo_EchoRequest>) -> Void' does not conform to the 'Sendable' protocol
57 | }
58 |
59 | return context.eventLoop.makeSucceededFuture(onEvent(_:))
| |- warning: type '(StreamEvent<Echo_EchoRequest>) -> Void' does not conform to the 'Sendable' protocol
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
60 | }
61 |
/host/spi-builder-workspace/Sources/GRPCPerformanceTests/Benchmarks/MinimalEchoProvider.swift:74:30: warning: type '(StreamEvent<Echo_EchoRequest>) -> Void' does not conform to the 'Sendable' protocol
72 | }
73 |
74 | return context.eventLoop.makeSucceededFuture(onEvent(_:))
| |- warning: type '(StreamEvent<Echo_EchoRequest>) -> Void' does not conform to the 'Sendable' protocol
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
75 | }
76 | }
[1380/1442] Compiling HelloWorldModel helloworld.pb.swift
[1381/1442] Compiling GRPCPerformanceTests ServerProvidingBenchmark.swift
[1382/1442] Emitting module GRPCPerformanceTests
[1383/1442] Emitting module GRPCInteroperabilityTestModels
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestModels/Generated/messages.pb.swift:71:21: warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
69 | extension Grpc_Testing_PayloadType: CaseIterable {
70 | // The compiler won't synthesize support with the UNRECOGNIZED case.
71 | public static var allCases: [Grpc_Testing_PayloadType] = [
| |- warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'allCases' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'allCases' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | .compressable,
73 | ]
[1384/1442] Compiling HelloWorldModel helloworld.grpc.swift
[1385/1442] Emitting module HelloWorldModel
[1386/1443] Compiling GRPCReflectionService ReflectionServiceV1Alpha.swift
[1387/1443] Compiling GRPCPerformanceTests EmbeddedClientThroughput.swift
[1388/1443] Compiling GRPCPerformanceTests EmbeddedServer.swift
[1389/1443] Compiling GRPCPerformanceTests Benchmark.swift
[1390/1443] Compiling GRPCPerformanceTests BenchmarkUtils.swift
[1391/1443] Compiling GRPCReflectionService ReflectionServiceV1.swift
[1392/1443] Compiling GRPCReflectionService ReflectionService.swift
[1393/1443] Emitting module GRPCReflectionService
[1395/1443] Compiling RouteGuideModel route_guide.pb.swift
[1395/1443] Wrapping AST for HelloWorldModel for debugging
[1397/1443] Emitting module RouteGuideModel
[1398/1443] Compiling RouteGuideModel route_guide.grpc.swift
[1399/1443] Compiling GRPCPerformanceTests UnaryThroughput.swift
[1400/1443] Compiling GRPCPerformanceTests echo.grpc.swift
[1401/1446] Compiling GRPCPerformanceTests main.swift
[1404/1450] Emitting module EchoModel
[1405/1450] Compiling EchoModel echo.grpc.swift
[1406/1451] Compiling HelloWorldServer GreeterProvider.swift
[1408/1451] Emitting module HelloWorldServer
[1408/1451] Wrapping AST for RouteGuideModel for debugging
[1410/1454] Compiling HelloWorldServer HelloWorldServer.swift
/host/spi-builder-workspace/Examples/v1/HelloWorld/Server/HelloWorldServer.swift:31:18: warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
29 | let group = MultiThreadedEventLoopGroup(numberOfThreads: 1)
30 | defer {
31 | try! group.syncShutdownGracefully()
| `- warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
32 | }
33 |
[1411/1454] Compiling GRPCReflectionService reflection-v1.pb.swift
[1412/1457] Compiling GRPCReflectionService reflection-v1alpha.pb.swift
[1412/1458] Wrapping AST for GRPCPerformanceTests for debugging
[1415/1462] Write Objects.LinkFileList
[1417/1462] Compiling HelloWorldClient HelloWorldClient.swift
/host/spi-builder-workspace/Examples/v1/HelloWorld/Client/HelloWorldClient.swift:39:18: warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
37 | // Make sure the group is shutdown when we're done with it.
38 | defer {
39 | try! group.syncShutdownGracefully()
| `- warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
40 | }
41 |
/host/spi-builder-workspace/Examples/v1/HelloWorld/Client/HelloWorldClient.swift:51:28: warning: instance method 'wait' is unavailable from asynchronous contexts; wait() can block indefinitely, prefer get(); this is an error in the Swift 6 language mode
49 | // Close the connection when we're done with it.
50 | defer {
51 | try! channel.close().wait()
| `- warning: instance method 'wait' is unavailable from asynchronous contexts; wait() can block indefinitely, prefer get(); this is an error in the Swift 6 language mode
52 | }
53 |
[1418/1462] Emitting module HelloWorldClient
[1419/1462] Emitting module RouteGuideClient
[1420/1467] Compiling RouteGuideServer RouteGuideServer.swift
/host/spi-builder-workspace/Examples/v1/RouteGuide/Server/RouteGuideServer.swift:46:18: warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
44 | let group = MultiThreadedEventLoopGroup(numberOfThreads: System.coreCount)
45 | defer {
46 | try! group.syncShutdownGracefully()
| `- warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
47 | }
48 |
[1420/1467] Wrapping AST for GRPCReflectionService for debugging
[1421/1467] Wrapping AST for EchoModel for debugging
[1423/1468] Emitting module PacketCapture
[1424/1468] Compiling GRPCInteroperabilityTestModels test.grpc.swift
[1425/1468] Compiling GRPCInteroperabilityTestModels messages.pb.swift
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestModels/Generated/messages.pb.swift:71:21: warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
69 | extension Grpc_Testing_PayloadType: CaseIterable {
70 | // The compiler won't synthesize support with the UNRECOGNIZED case.
71 | public static var allCases: [Grpc_Testing_PayloadType] = [
| |- warning: static property 'allCases' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'allCases' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'allCases' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | .compressable,
73 | ]
[1425/1468] Wrapping AST for HelloWorldServer for debugging
[1426/1469] Write Objects.LinkFileList
[1429/1469] Emitting module RouteGuideServer
[1430/1469] Compiling EchoImplementation Interceptors.swift
[1431/1469] Compiling RouteGuideServer RouteGuideProvider.swift
[1432/1470] Compiling EchoImplementation HPACKHeaders+Prettify.swift
[1433/1470] Compiling EchoImplementation EchoProvider.swift
/host/spi-builder-workspace/Examples/v1/Echo/Implementation/EchoProvider.swift:56:30: warning: type '(StreamEvent<Echo_EchoRequest>) -> Void' does not conform to the 'Sendable' protocol
54 | ) -> EventLoopFuture<(StreamEvent<Echo_EchoRequest>) -> Void> {
55 | var parts: [String] = []
56 | return context.eventLoop.makeSucceededFuture({ event in
| |- warning: type '(StreamEvent<Echo_EchoRequest>) -> Void' does not conform to the 'Sendable' protocol
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
57 | switch event {
58 | case let .message(message):
/host/spi-builder-workspace/Examples/v1/Echo/Implementation/EchoProvider.swift:74:30: warning: type '(StreamEvent<Echo_EchoRequest>) -> Void' does not conform to the 'Sendable' protocol
72 | ) -> EventLoopFuture<(StreamEvent<Echo_EchoRequest>) -> Void> {
73 | var count = 0
74 | return context.eventLoop.makeSucceededFuture({ event in
| |- warning: type '(StreamEvent<Echo_EchoRequest>) -> Void' does not conform to the 'Sendable' protocol
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
75 | switch event {
76 | case let .message(message):
[1434/1470] Emitting module EchoImplementation
[1436/1470] Compiling EchoImplementation EchoAsyncProvider.swift
[1438/1470] Compiling PacketCapture Empty.swift
[1439/1470] Compiling PacketCapture PacketCapture.swift
/host/spi-builder-workspace/Examples/v1/PacketCapture/PacketCapture.swift:33:18: warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
31 | let group = MultiThreadedEventLoopGroup(numberOfThreads: 1)
32 | defer {
33 | try! group.syncShutdownGracefully()
| `- warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
34 | }
35 |
/host/spi-builder-workspace/Examples/v1/PacketCapture/PacketCapture.swift:46:21: warning: instance method 'syncClose' is unavailable from asynchronous contexts; syncClose() can block indefinitely, prefer close(); this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
44 | // Ensure that we close the file sink when we're done with it.
45 | defer {
46 | try! fileSink.syncClose()
| `- warning: instance method 'syncClose' is unavailable from asynchronous contexts; syncClose() can block indefinitely, prefer close(); this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
47 | }
48 |
[1439/1470] Wrapping AST for HelloWorldClient for debugging
[1441/1484] Wrapping AST for RouteGuideServer for debugging
[1442/1484] Write Objects.LinkFileList
[1445/1484] Compiling GRPCInteroperabilityTestsImplementation InteroperabilityTestClientConnection.swift
[1446/1485] Compiling RouteGuideClient Empty.swift
[1447/1485] Compiling RouteGuideClient RouteGuideClient.swift
/host/spi-builder-workspace/Examples/v1/RouteGuide/Client/RouteGuideClient.swift:220:18: warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
218 | let group = PlatformSupport.makeEventLoopGroup(loopCount: 1)
219 | defer {
220 | try? group.syncShutdownGracefully()
| `- warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
221 | }
222 |
/host/spi-builder-workspace/Examples/v1/RouteGuide/Client/RouteGuideClient.swift:229:28: warning: instance method 'wait' is unavailable from asynchronous contexts; wait() can block indefinitely, prefer get(); this is an error in the Swift 6 language mode
227 | )
228 | defer {
229 | try? channel.close().wait()
| `- warning: instance method 'wait' is unavailable from asynchronous contexts; wait() can block indefinitely, prefer get(); this is an error in the Swift 6 language mode
230 | }
231 |
[1448/1486] Emitting module GRPCConnectionBackoffInteropTest
[1449/1493] Compiling ReflectionServer resource_bundle_accessor.swift
[1450/1493] Compiling Echo Empty.swift
[1452/1493] Compiling GRPCConnectionBackoffInteropTest main.swift
[1453/1493] Compiling GRPCInteroperabilityTestsImplementation ServerFeatures.swift
[1454/1493] Compiling GRPCInteroperabilityTestsImplementation InteroperabilityTestServer.swift
[1455/1493] Compiling GRPCInteroperabilityTestsImplementation InteroperabilityTestCredentials.swift
[1456/1493] Compiling GRPCInteroperabilityTestsImplementation TestServiceAsyncProvider.swift
[1457/1493] Compiling GRPCInteroperabilityTestsImplementation TestServiceProvider.swift
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/TestServiceProvider.swift:154:16: warning: capture of 'context' with non-sendable type 'StreamingResponseCallContext<Grpc_Testing_StreamingOutputCallResponse>' in a '@Sendable' closure
152 | // explicitly requested; we'll do the same.
153 | let compression: Compression = responseParameter.compressed.value ? .enabled : .disabled
154 | return context.sendResponse(response, compression: compression)
| `- warning: capture of 'context' with non-sendable type 'StreamingResponseCallContext<Grpc_Testing_StreamingOutputCallResponse>' in a '@Sendable' closure
155 | }
156 | }
/host/spi-builder-workspace/Sources/GRPC/ServerCallContexts/StreamingResponseCallContext.swift:25:12: note: generic class 'StreamingResponseCallContext' does not conform to the 'Sendable' protocol
23 | /// An abstract base class for a context provided to handlers for RPCs which may return multiple
24 | /// responses, i.e. server streaming and bidirectional streaming RPCs.
25 | open class StreamingResponseCallContext<ResponsePayload>: ServerCallContextBase {
| `- note: generic class 'StreamingResponseCallContext' does not conform to the 'Sendable' protocol
26 | /// A promise for the ``GRPCStatus``, the end of the response stream. This must be completed by
27 | /// bidirectional streaming RPC handlers to end the RPC.
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/TestServiceProvider.swift:17:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'GRPC'
15 | */
16 |
17 | import GRPC
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'GRPC'
18 | import GRPCInteroperabilityTestModels
19 | import NIOCore
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/TestServiceProvider.swift:169:30: warning: type '(StreamEvent<Grpc_Testing_StreamingInputCallRequest>) -> Void' does not conform to the 'Sendable' protocol
167 | var aggregatePayloadSize = 0
168 |
169 | return context.eventLoop.makeSucceededFuture({ event in
| |- warning: type '(StreamEvent<Grpc_Testing_StreamingInputCallRequest>) -> Void' does not conform to the 'Sendable' protocol
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
170 | switch event {
171 | case let .message(request):
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/TestServiceProvider.swift:233:30: warning: type '(StreamEvent<Grpc_Testing_StreamingOutputCallRequest>) -> Void' does not conform to the 'Sendable' protocol
231 | }
232 |
233 | return context.eventLoop.makeSucceededFuture(streamHandler(_:))
| |- warning: type '(StreamEvent<Grpc_Testing_StreamingOutputCallRequest>) -> Void' does not conform to the 'Sendable' protocol
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
234 | }
235 |
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/TestServiceProvider.swift:223:15: warning: capture of 'context' with non-sendable type 'StreamingResponseCallContext<Grpc_Testing_StreamingOutputCallResponse>' in a '@Sendable' closure
221 |
222 | sendQueue = sendQueue.flatMap {
223 | context.sendResponse(response)
| `- warning: capture of 'context' with non-sendable type 'StreamingResponseCallContext<Grpc_Testing_StreamingOutputCallResponse>' in a '@Sendable' closure
224 | }
225 | }
/host/spi-builder-workspace/Sources/GRPC/ServerCallContexts/StreamingResponseCallContext.swift:25:12: note: generic class 'StreamingResponseCallContext' does not conform to the 'Sendable' protocol
23 | /// An abstract base class for a context provided to handlers for RPCs which may return multiple
24 | /// responses, i.e. server streaming and bidirectional streaming RPCs.
25 | open class StreamingResponseCallContext<ResponsePayload>: ServerCallContextBase {
| `- note: generic class 'StreamingResponseCallContext' does not conform to the 'Sendable' protocol
26 | /// A promise for the ``GRPCStatus``, the end of the response stream. This must be completed by
27 | /// bidirectional streaming RPC handlers to end the RPC.
[1457/1493] Wrapping AST for PacketCapture for debugging
[1459/1493] Emitting module Echo
/host/spi-builder-workspace/Examples/v1/Echo/Runtime/Echo.swift:40:14: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
38 | @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
39 | struct Echo: AsyncParsableCommand {
40 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
41 | abstract: "An example to run and call a simple gRPC service for echoing messages.",
42 | subcommands: [Server.self, Client.self]
/host/spi-builder-workspace/Examples/v1/Echo/Runtime/Echo.swift:46:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | struct Server: AsyncParsableCommand {
46 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 | abstract: "Start a gRPC server providing the Echo service."
48 | )
/host/spi-builder-workspace/Examples/v1/Echo/Runtime/Echo.swift:70:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
68 |
69 | struct Client: AsyncParsableCommand {
70 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | abstract: "Calls an RPC on the Echo server."
72 | )
[1460/1494] Compiling ReflectionServer GreeterProvider.swift
[1461/1494] Compiling ReflectionServer ReflectionServer.swift
[1462/1494] Emitting module ReflectionServer
[1463/1495] Wrapping AST for RouteGuideClient for debugging
[1464/1495] Write Objects.LinkFileList
[1468/1495] Wrapping AST for ReflectionServer for debugging
[1470/1495] Compiling GRPCInteroperabilityTestsImplementation Assertions.swift
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/Assertions.swift:49:30: warning: type 'T' does not conform to the 'Sendable' protocol
41 | /// - Important: This should not be run on an event loop since this function calls `wait()` on the
42 | /// given future.
43 | public func waitAndAssertEqual<T: Equatable>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
44 | _ future: EventLoopFuture<T>,
45 | _ value: T,
:
47 | line: UInt = #line
48 | ) throws {
49 | try assertEqual(try future.wait(), value, file: file, line: line)
| `- warning: type 'T' does not conform to the 'Sendable' protocol
50 | }
51 |
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/Assertions.swift:62:31: warning: type 'T' does not conform to the 'Sendable' protocol
54 | /// - Important: This should not be run on an event loop since this function calls `wait()` on the
55 | /// given future.
56 | public func waitAndAssertEqual<T: Equatable>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
57 | _ future1: EventLoopFuture<T>,
58 | _ future2: EventLoopFuture<T>,
:
60 | line: UInt = #line
61 | ) throws {
62 | try assertEqual(try future1.wait(), try future2.wait(), file: file, line: line)
| `- warning: type 'T' does not conform to the 'Sendable' protocol
63 | }
64 |
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/Assertions.swift:62:51: warning: type 'T' does not conform to the 'Sendable' protocol
54 | /// - Important: This should not be run on an event loop since this function calls `wait()` on the
55 | /// given future.
56 | public func waitAndAssertEqual<T: Equatable>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
57 | _ future1: EventLoopFuture<T>,
58 | _ future2: EventLoopFuture<T>,
:
60 | line: UInt = #line
61 | ) throws {
62 | try assertEqual(try future1.wait(), try future2.wait(), file: file, line: line)
| `- warning: type 'T' does not conform to the 'Sendable' protocol
63 | }
64 |
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/Assertions.swift:72:26: warning: type 'T' does not conform to the 'Sendable' protocol
63 | }
64 |
65 | public func waitAndAssert<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
66 | _ future: EventLoopFuture<T>,
67 | file: StaticString = #fileID,
:
70 | verify: (T) -> Bool
71 | ) throws {
72 | let value = try future.wait()
| `- warning: type 'T' does not conform to the 'Sendable' protocol
73 | guard verify(value) else {
74 | throw AssertionError(message: message, file: file, line: line)
[1471/1495] Compiling GRPCInteroperabilityTestsImplementation GRPCTestingConvenienceMethods.swift
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/Assertions.swift:49:30: warning: type 'T' does not conform to the 'Sendable' protocol
41 | /// - Important: This should not be run on an event loop since this function calls `wait()` on the
42 | /// given future.
43 | public func waitAndAssertEqual<T: Equatable>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
44 | _ future: EventLoopFuture<T>,
45 | _ value: T,
:
47 | line: UInt = #line
48 | ) throws {
49 | try assertEqual(try future.wait(), value, file: file, line: line)
| `- warning: type 'T' does not conform to the 'Sendable' protocol
50 | }
51 |
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/Assertions.swift:62:31: warning: type 'T' does not conform to the 'Sendable' protocol
54 | /// - Important: This should not be run on an event loop since this function calls `wait()` on the
55 | /// given future.
56 | public func waitAndAssertEqual<T: Equatable>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
57 | _ future1: EventLoopFuture<T>,
58 | _ future2: EventLoopFuture<T>,
:
60 | line: UInt = #line
61 | ) throws {
62 | try assertEqual(try future1.wait(), try future2.wait(), file: file, line: line)
| `- warning: type 'T' does not conform to the 'Sendable' protocol
63 | }
64 |
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/Assertions.swift:62:51: warning: type 'T' does not conform to the 'Sendable' protocol
54 | /// - Important: This should not be run on an event loop since this function calls `wait()` on the
55 | /// given future.
56 | public func waitAndAssertEqual<T: Equatable>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
57 | _ future1: EventLoopFuture<T>,
58 | _ future2: EventLoopFuture<T>,
:
60 | line: UInt = #line
61 | ) throws {
62 | try assertEqual(try future1.wait(), try future2.wait(), file: file, line: line)
| `- warning: type 'T' does not conform to the 'Sendable' protocol
63 | }
64 |
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/Assertions.swift:72:26: warning: type 'T' does not conform to the 'Sendable' protocol
63 | }
64 |
65 | public func waitAndAssert<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
66 | _ future: EventLoopFuture<T>,
67 | file: StaticString = #fileID,
:
70 | verify: (T) -> Bool
71 | ) throws {
72 | let value = try future.wait()
| `- warning: type 'T' does not conform to the 'Sendable' protocol
73 | guard verify(value) else {
74 | throw AssertionError(message: message, file: file, line: line)
[1472/1495] Emitting module GRPCInteroperabilityTestsImplementation
[1473/1495] Compiling GRPCInteroperabilityTestsImplementation InteroperabilityTestCase.swift
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/InteroperabilityTestCases.swift:775:53: warning: capture of 'self' with non-sendable type 'CustomMetadata' in a '@Sendable' closure
764 | /// - metadata with key "x-grpc-test-echo-trailing-bin" and value 0xababab is received in the
765 | /// trailing metadata for calls in Procedure steps 1 and 2.
766 | class CustomMetadata: InteroperabilityTest {
| `- note: class 'CustomMetadata' does not conform to the 'Sendable' protocol
767 | let initialMetadataName = "x-grpc-test-echo-initial"
768 | let initialMetadataValue = "test_initial_metadata_value"
:
773 | func checkMetadata<SpecificClientCall>(call: SpecificClientCall) throws
774 | where SpecificClientCall: ClientCall {
775 | let initialName = call.initialMetadata.map { $0[self.initialMetadataName] }
| `- warning: capture of 'self' with non-sendable type 'CustomMetadata' in a '@Sendable' closure
776 | try waitAndAssertEqual(initialName, [self.initialMetadataValue])
777 |
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/InteroperabilityTestCases.swift:778:55: warning: capture of 'self' with non-sendable type 'CustomMetadata' in a '@Sendable' closure
764 | /// - metadata with key "x-grpc-test-echo-trailing-bin" and value 0xababab is received in the
765 | /// trailing metadata for calls in Procedure steps 1 and 2.
766 | class CustomMetadata: InteroperabilityTest {
| `- note: class 'CustomMetadata' does not conform to the 'Sendable' protocol
767 | let initialMetadataName = "x-grpc-test-echo-initial"
768 | let initialMetadataValue = "test_initial_metadata_value"
:
776 | try waitAndAssertEqual(initialName, [self.initialMetadataValue])
777 |
778 | let trailingName = call.trailingMetadata.map { $0[self.trailingMetadataName] }
| `- warning: capture of 'self' with non-sendable type 'CustomMetadata' in a '@Sendable' closure
779 | try waitAndAssertEqual(trailingName, [self.trailingMetadataValue])
780 |
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/InteroperabilityTestCases.swift:1014:7: warning: capture of 'call' with non-sendable type 'BidirectionalStreamingCall<Grpc_Testing_StreamingOutputCallRequest, Grpc_Testing_StreamingOutputCallResponse>' in a '@Sendable' closure
1012 |
1013 | promise.futureResult.whenSuccess {
1014 | call.cancel(promise: nil)
| `- warning: capture of 'call' with non-sendable type 'BidirectionalStreamingCall<Grpc_Testing_StreamingOutputCallRequest, Grpc_Testing_StreamingOutputCallResponse>' in a '@Sendable' closure
1015 | }
1016 |
/host/spi-builder-workspace/Sources/GRPC/ClientCalls/BidirectionalStreamingCall.swift:28:15: note: generic struct 'BidirectionalStreamingCall' does not conform to the 'Sendable' protocol
26 | /// Note: while this object is a `struct`, its implementation delegates to ``Call``. It therefore
27 | /// has reference semantics.
28 | public struct BidirectionalStreamingCall<
| `- note: generic struct 'BidirectionalStreamingCall' does not conform to the 'Sendable' protocol
29 | RequestPayload,
30 | ResponsePayload
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/InteroperabilityTestCases.swift:17:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'GRPC'
15 | */
16 | import Dispatch
17 | import GRPC
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'GRPC'
18 | import GRPCInteroperabilityTestModels
19 | import NIOHPACK
[1474/1495] Compiling GRPCInteroperabilityTestsImplementation InteroperabilityTestCases.swift
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/InteroperabilityTestCases.swift:775:53: warning: capture of 'self' with non-sendable type 'CustomMetadata' in a '@Sendable' closure
764 | /// - metadata with key "x-grpc-test-echo-trailing-bin" and value 0xababab is received in the
765 | /// trailing metadata for calls in Procedure steps 1 and 2.
766 | class CustomMetadata: InteroperabilityTest {
| `- note: class 'CustomMetadata' does not conform to the 'Sendable' protocol
767 | let initialMetadataName = "x-grpc-test-echo-initial"
768 | let initialMetadataValue = "test_initial_metadata_value"
:
773 | func checkMetadata<SpecificClientCall>(call: SpecificClientCall) throws
774 | where SpecificClientCall: ClientCall {
775 | let initialName = call.initialMetadata.map { $0[self.initialMetadataName] }
| `- warning: capture of 'self' with non-sendable type 'CustomMetadata' in a '@Sendable' closure
776 | try waitAndAssertEqual(initialName, [self.initialMetadataValue])
777 |
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/InteroperabilityTestCases.swift:778:55: warning: capture of 'self' with non-sendable type 'CustomMetadata' in a '@Sendable' closure
764 | /// - metadata with key "x-grpc-test-echo-trailing-bin" and value 0xababab is received in the
765 | /// trailing metadata for calls in Procedure steps 1 and 2.
766 | class CustomMetadata: InteroperabilityTest {
| `- note: class 'CustomMetadata' does not conform to the 'Sendable' protocol
767 | let initialMetadataName = "x-grpc-test-echo-initial"
768 | let initialMetadataValue = "test_initial_metadata_value"
:
776 | try waitAndAssertEqual(initialName, [self.initialMetadataValue])
777 |
778 | let trailingName = call.trailingMetadata.map { $0[self.trailingMetadataName] }
| `- warning: capture of 'self' with non-sendable type 'CustomMetadata' in a '@Sendable' closure
779 | try waitAndAssertEqual(trailingName, [self.trailingMetadataValue])
780 |
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/InteroperabilityTestCases.swift:1014:7: warning: capture of 'call' with non-sendable type 'BidirectionalStreamingCall<Grpc_Testing_StreamingOutputCallRequest, Grpc_Testing_StreamingOutputCallResponse>' in a '@Sendable' closure
1012 |
1013 | promise.futureResult.whenSuccess {
1014 | call.cancel(promise: nil)
| `- warning: capture of 'call' with non-sendable type 'BidirectionalStreamingCall<Grpc_Testing_StreamingOutputCallRequest, Grpc_Testing_StreamingOutputCallResponse>' in a '@Sendable' closure
1015 | }
1016 |
/host/spi-builder-workspace/Sources/GRPC/ClientCalls/BidirectionalStreamingCall.swift:28:15: note: generic struct 'BidirectionalStreamingCall' does not conform to the 'Sendable' protocol
26 | /// Note: while this object is a `struct`, its implementation delegates to ``Call``. It therefore
27 | /// has reference semantics.
28 | public struct BidirectionalStreamingCall<
| `- note: generic struct 'BidirectionalStreamingCall' does not conform to the 'Sendable' protocol
29 | RequestPayload,
30 | ResponsePayload
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTestsImplementation/InteroperabilityTestCases.swift:17:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'GRPC'
15 | */
16 | import Dispatch
17 | import GRPC
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'GRPC'
18 | import GRPCInteroperabilityTestModels
19 | import NIOHPACK
[1474/1496] Linking GRPCPerformanceTests
[1477/1496] Compiling Echo Echo.swift
/host/spi-builder-workspace/Examples/v1/Echo/Runtime/Echo.swift:40:14: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
38 | @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
39 | struct Echo: AsyncParsableCommand {
40 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
41 | abstract: "An example to run and call a simple gRPC service for echoing messages.",
42 | subcommands: [Server.self, Client.self]
/host/spi-builder-workspace/Examples/v1/Echo/Runtime/Echo.swift:46:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | struct Server: AsyncParsableCommand {
46 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 | abstract: "Start a gRPC server providing the Echo service."
48 | )
/host/spi-builder-workspace/Examples/v1/Echo/Runtime/Echo.swift:70:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
68 |
69 | struct Client: AsyncParsableCommand {
70 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | abstract: "Calls an RPC on the Echo server."
72 | )
/host/spi-builder-workspace/Examples/v1/Echo/Runtime/Echo.swift:59:20: warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
57 | let group = MultiThreadedEventLoopGroup(numberOfThreads: 1)
58 | defer {
59 | try! group.syncShutdownGracefully()
| `- warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
60 | }
61 | do {
/host/spi-builder-workspace/Examples/v1/Echo/Runtime/Echo.swift:95:20: warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
93 | let group = MultiThreadedEventLoopGroup(numberOfThreads: 1)
94 | defer {
95 | try! group.syncShutdownGracefully()
| `- warning: instance method 'syncShutdownGracefully' is unavailable from asynchronous contexts; this can end up blocking the calling thread; this is an error in the Swift 6 language mode; this is an error in the Swift 6 language mode
96 | }
97 |
/host/spi-builder-workspace/Examples/v1/Echo/Runtime/Echo.swift:105:37: warning: instance method 'wait' is unavailable from asynchronous contexts; wait() can block indefinitely, prefer get(); this is an error in the Swift 6 language mode
103 | )
104 | defer {
105 | try! client.channel.close().wait()
| `- warning: instance method 'wait' is unavailable from asynchronous contexts; wait() can block indefinitely, prefer get(); this is an error in the Swift 6 language mode
106 | }
107 |
[1477/1497] Wrapping AST for GRPCInteroperabilityTestModels for debugging
[1479/1497] Wrapping AST for EchoImplementation for debugging
[1480/1497] Linking HelloWorldServer
[1481/1497] Write Objects.LinkFileList
[1482/1497] Wrapping AST for GRPCConnectionBackoffInteropTest for debugging
[1483/1497] Write Objects.LinkFileList
[1484/1497] Wrapping AST for GRPCInteroperabilityTestsImplementation for debugging
[1485/1499] Linking RouteGuideServer
[1486/1499] Wrapping AST for Echo for debugging
[1487/1499] Write Objects.LinkFileList
[1489/1499] Compiling GRPCInteroperabilityTests main.swift
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTests/main.swift:95:14: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
93 |
94 | struct InteroperabilityTests: ParsableCommand {
95 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
96 | abstract: "gRPC Swift Interoperability Runner",
97 | subcommands: [StartServer.self, RunTest.self, ListTests.self]
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTests/main.swift:101:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
99 |
100 | struct StartServer: ParsableCommand {
101 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 | abstract: "Start the gRPC Swift interoperability test server."
103 | )
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTests/main.swift:130:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
128 |
129 | struct RunTest: ParsableCommand {
130 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
131 | abstract: "Runs a gRPC interoperability test using a gRPC Swift client."
132 | )
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTests/main.swift:159:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
157 |
158 | struct ListTests: ParsableCommand {
159 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
160 | abstract: "List all interoperability test names."
161 | )
[1490/1499] Emitting module GRPCInteroperabilityTests
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTests/main.swift:95:14: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
93 |
94 | struct InteroperabilityTests: ParsableCommand {
95 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
96 | abstract: "gRPC Swift Interoperability Runner",
97 | subcommands: [StartServer.self, RunTest.self, ListTests.self]
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTests/main.swift:101:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
99 |
100 | struct StartServer: ParsableCommand {
101 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 | abstract: "Start the gRPC Swift interoperability test server."
103 | )
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTests/main.swift:130:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
128 |
129 | struct RunTest: ParsableCommand {
130 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
131 | abstract: "Runs a gRPC interoperability test using a gRPC Swift client."
132 | )
/host/spi-builder-workspace/Sources/GRPCInteroperabilityTests/main.swift:159:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
157 |
158 | struct ListTests: ParsableCommand {
159 | static var configuration = CommandConfiguration(
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
160 | abstract: "List all interoperability test names."
161 | )
[1490/1499] Linking RouteGuideClient
[1492/1500] Linking PacketCapture
[1493/1500] Linking HelloWorldClient
[1494/1500] Wrapping AST for GRPCInteroperabilityTests for debugging
[1495/1500] Write Objects.LinkFileList
[1496/1500] Linking ReflectionServer
[1497/1500] Linking Echo
[1498/1500] Linking GRPCConnectionBackoffInteropTest
[1499/1500] Linking GRPCInteroperabilityTests
Build complete! (381.39s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-nio",
"requirement" : {
"range" : [
{
"lower_bound" : "2.65.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio.git"
},
{
"identity" : "swift-nio-http2",
"requirement" : {
"range" : [
{
"lower_bound" : "1.36.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio-http2.git"
},
{
"identity" : "swift-nio-transport-services",
"requirement" : {
"range" : [
{
"lower_bound" : "1.24.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio-transport-services.git"
},
{
"identity" : "swift-nio-extras",
"requirement" : {
"range" : [
{
"lower_bound" : "1.24.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio-extras.git"
},
{
"identity" : "swift-collections",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.5",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-collections.git"
},
{
"identity" : "swift-atomics",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-atomics.git"
},
{
"identity" : "swift-protobuf",
"requirement" : {
"range" : [
{
"lower_bound" : "1.28.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-protobuf.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.4.4",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
},
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser.git"
},
{
"identity" : "swift-nio-ssl",
"requirement" : {
"range" : [
{
"lower_bound" : "2.23.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio-ssl.git"
}
],
"manifest_display_name" : "grpc-swift",
"name" : "grpc-swift",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "GRPC",
"targets" : [
"GRPC"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "CGRPCZlib",
"targets" : [
"CGRPCZlib"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "GRPCReflectionService",
"targets" : [
"GRPCReflectionService"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "protoc-gen-grpc-swift",
"targets" : [
"protoc-gen-grpc-swift"
],
"type" : {
"executable" : null
}
},
{
"name" : "GRPCSwiftPlugin",
"targets" : [
"GRPCSwiftPlugin"
],
"type" : {
"plugin" : null
}
},
{
"name" : "RouteGuideServer",
"targets" : [
"RouteGuideServer"
],
"type" : {
"executable" : null
}
},
{
"name" : "RouteGuideClient",
"targets" : [
"RouteGuideClient"
],
"type" : {
"executable" : null
}
},
{
"name" : "ReflectionServer",
"targets" : [
"ReflectionServer"
],
"type" : {
"executable" : null
}
},
{
"name" : "PacketCapture",
"targets" : [
"PacketCapture"
],
"type" : {
"executable" : null
}
},
{
"name" : "HelloWorldServer",
"targets" : [
"HelloWorldServer"
],
"type" : {
"executable" : null
}
},
{
"name" : "HelloWorldClient",
"targets" : [
"HelloWorldClient"
],
"type" : {
"executable" : null
}
},
{
"name" : "GRPCPerformanceTests",
"targets" : [
"GRPCPerformanceTests"
],
"type" : {
"executable" : null
}
},
{
"name" : "GRPCInteroperabilityTests",
"targets" : [
"GRPCInteroperabilityTests"
],
"type" : {
"executable" : null
}
},
{
"name" : "GRPCConnectionBackoffInteropTest",
"targets" : [
"GRPCConnectionBackoffInteropTest"
],
"type" : {
"executable" : null
}
},
{
"name" : "Echo",
"targets" : [
"Echo"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "protoc_gen_grpc_swift",
"module_type" : "SwiftTarget",
"name" : "protoc-gen-grpc-swift",
"path" : "Sources/protoc-gen-grpc-swift",
"product_dependencies" : [
"SwiftProtobuf",
"SwiftProtobufPluginLibrary"
],
"product_memberships" : [
"protoc-gen-grpc-swift",
"GRPCSwiftPlugin"
],
"sources" : [
"GenerateGRPC.swift",
"Generator-Client+AsyncAwait.swift",
"Generator-Client.swift",
"Generator-Metadata.swift",
"Generator-Names.swift",
"Generator-Server+AsyncAwait.swift",
"Generator-Server.swift",
"Generator.swift",
"Options.swift",
"StreamingType.swift",
"Types.swift",
"Version.swift"
],
"type" : "executable"
},
{
"c99name" : "RouteGuideServer",
"module_type" : "SwiftTarget",
"name" : "RouteGuideServer",
"path" : "Examples/v1/RouteGuide/Server",
"product_dependencies" : [
"NIOCore",
"NIOConcurrencyHelpers",
"NIOPosix",
"ArgumentParser"
],
"product_memberships" : [
"RouteGuideServer"
],
"sources" : [
"RouteGuideProvider.swift",
"RouteGuideServer.swift"
],
"target_dependencies" : [
"GRPC",
"RouteGuideModel"
],
"type" : "executable"
},
{
"c99name" : "RouteGuideModel",
"module_type" : "SwiftTarget",
"name" : "RouteGuideModel",
"path" : "Examples/v1/RouteGuide/Model",
"product_dependencies" : [
"NIO",
"SwiftProtobuf"
],
"product_memberships" : [
"RouteGuideServer",
"RouteGuideClient"
],
"sources" : [
"route_guide.grpc.swift",
"route_guide.pb.swift"
],
"target_dependencies" : [
"GRPC"
],
"type" : "library"
},
{
"c99name" : "RouteGuideClient",
"module_type" : "SwiftTarget",
"name" : "RouteGuideClient",
"path" : "Examples/v1/RouteGuide/Client",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"ArgumentParser"
],
"product_memberships" : [
"RouteGuideClient"
],
"sources" : [
"Empty.swift",
"RouteGuideClient.swift"
],
"target_dependencies" : [
"GRPC",
"RouteGuideModel"
],
"type" : "executable"
},
{
"c99name" : "ReflectionServer",
"module_type" : "SwiftTarget",
"name" : "ReflectionServer",
"path" : "Examples/v1/ReflectionService",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"ArgumentParser"
],
"product_memberships" : [
"ReflectionServer"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/Examples/v1/ReflectionService/Generated",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"GreeterProvider.swift",
"ReflectionServer.swift"
],
"target_dependencies" : [
"GRPC",
"GRPCReflectionService",
"HelloWorldModel",
"EchoModel",
"EchoImplementation"
],
"type" : "executable"
},
{
"c99name" : "PacketCapture",
"module_type" : "SwiftTarget",
"name" : "PacketCapture",
"path" : "Examples/v1/PacketCapture",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"NIOExtras",
"ArgumentParser"
],
"product_memberships" : [
"PacketCapture"
],
"sources" : [
"Empty.swift",
"PacketCapture.swift"
],
"target_dependencies" : [
"GRPC",
"EchoModel"
],
"type" : "executable"
},
{
"c99name" : "HelloWorldServer",
"module_type" : "SwiftTarget",
"name" : "HelloWorldServer",
"path" : "Examples/v1/HelloWorld/Server",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"ArgumentParser"
],
"product_memberships" : [
"HelloWorldServer"
],
"sources" : [
"GreeterProvider.swift",
"HelloWorldServer.swift"
],
"target_dependencies" : [
"GRPC",
"HelloWorldModel"
],
"type" : "executable"
},
{
"c99name" : "HelloWorldModel",
"module_type" : "SwiftTarget",
"name" : "HelloWorldModel",
"path" : "Examples/v1/HelloWorld/Model",
"product_dependencies" : [
"NIO",
"SwiftProtobuf"
],
"product_memberships" : [
"ReflectionServer",
"HelloWorldServer",
"HelloWorldClient"
],
"sources" : [
"helloworld.grpc.swift",
"helloworld.pb.swift"
],
"target_dependencies" : [
"GRPC"
],
"type" : "library"
},
{
"c99name" : "HelloWorldClient",
"module_type" : "SwiftTarget",
"name" : "HelloWorldClient",
"path" : "Examples/v1/HelloWorld/Client",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"ArgumentParser"
],
"product_memberships" : [
"HelloWorldClient"
],
"sources" : [
"HelloWorldClient.swift"
],
"target_dependencies" : [
"GRPC",
"HelloWorldModel"
],
"type" : "executable"
},
{
"c99name" : "GRPCTests",
"module_type" : "SwiftTarget",
"name" : "GRPCTests",
"path" : "Tests/GRPCTests",
"product_dependencies" : [
"NIOCore",
"NIOConcurrencyHelpers",
"NIOPosix",
"NIOTLS",
"NIOHTTP1",
"NIOHTTP2",
"NIOEmbedded",
"NIOTransportServices",
"Logging",
"Atomics",
"NIOSSL"
],
"sources" : [
"ALPNConfigurationTests.swift",
"AnyServiceClientTests.swift",
"Array+BoundsCheckingTests.swift",
"AsyncAwaitSupport/AsyncClientTests.swift",
"AsyncAwaitSupport/AsyncIntegrationTests.swift",
"AsyncAwaitSupport/AsyncSequence+Helpers.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerHandlerStateMachine/ServerHandlerStateMachineTests.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerInterceptorStateMachine/ServerInterceptorStateMachineStreamStateTests.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerInterceptorStateMachine/ServerInterceptorStateMachineTests.swift",
"AsyncAwaitSupport/GRPCAsyncRequestStreamTests.swift",
"AsyncAwaitSupport/GRPCAsyncResponseStreamWriterTests.swift",
"AsyncAwaitSupport/InterceptorsAsyncTests.swift",
"AsyncAwaitSupport/XCTest+AsyncAwait.swift",
"BasicEchoTestCase.swift",
"CallPathTests.swift",
"CallStartBehaviorTests.swift",
"CapturingLogHandler.swift",
"ClientCallTests.swift",
"ClientCancellingTests.swift",
"ClientClosedChannelTests.swift",
"ClientConnectionBackoffTests.swift",
"ClientEventLoopPreferenceTests.swift",
"ClientInterceptorPipelineTests.swift",
"ClientQuiescingTests.swift",
"ClientTLSFailureTests.swift",
"ClientTLSTests.swift",
"ClientTimeoutTests.swift",
"ClientTransportTests.swift",
"CoalescingLengthPrefixedMessageWriterTests.swift",
"Codegen/Normalization/NormalizationProvider.swift",
"Codegen/Normalization/NormalizationTests.swift",
"Codegen/Normalization/normalization.grpc.swift",
"Codegen/Normalization/normalization.pb.swift",
"Codegen/Serialization/SerializationTests.swift",
"CompressionTests.swift",
"ConfigurationTests.swift",
"ConnectionBackoffTests.swift",
"ConnectionFailingTests.swift",
"ConnectionManagerTests.swift",
"ConnectionPool/ConnectionPoolDelegates.swift",
"ConnectionPool/ConnectionPoolTests.swift",
"ConnectionPool/GRPCChannelPoolTests.swift",
"ConnectionPool/PoolManagerStateMachineTests.swift",
"ConnectivityStateMonitorTests.swift",
"DebugChannelInitializerTests.swift",
"DelegatingErrorHandlerTests.swift",
"EchoHelpers/EchoMessageHelpers.swift",
"EchoHelpers/Interceptors/DelegatingClientInterceptor.swift",
"EchoHelpers/Interceptors/EchoInterceptorFactories.swift",
"EchoHelpers/Providers/DelegatingOnCloseEchoProvider.swift",
"EchoHelpers/Providers/FailingEchoProvider.swift",
"EchoHelpers/Providers/MetadataEchoProvider.swift",
"EchoHelpers/Providers/NeverResolvingEchoProvider.swift",
"EchoMetadataTests.swift",
"EchoTestClientTests.swift",
"ErrorRecordingDelegate.swift",
"EventLoopFuture+Assertions.swift",
"FakeChannelTests.swift",
"FakeResponseStreamTests.swift",
"FunctionalTests.swift",
"GRPCAsyncClientCallTests.swift",
"GRPCAsyncServerHandlerTests.swift",
"GRPCClientChannelHandlerTests.swift",
"GRPCClientStateMachineTests.swift",
"GRPCCustomPayloadTests.swift",
"GRPCIdleHandlerStateMachineTests.swift",
"GRPCIdleTests.swift",
"GRPCInteroperabilityTests.swift",
"GRPCKeepaliveTests.swift",
"GRPCMessageLengthLimitTests.swift",
"GRPCNetworkFrameworkTests.swift",
"GRPCPingHandlerTests.swift",
"GRPCReflectionServiceTests/Generated/v1/reflection-v1.grpc.swift",
"GRPCReflectionServiceTests/Generated/v1/reflection-v1.pb.swift",
"GRPCReflectionServiceTests/Generated/v1Alpha/reflection-v1alpha.grpc.swift",
"GRPCReflectionServiceTests/Generated/v1Alpha/reflection-v1alpha.pb.swift",
"GRPCReflectionServiceTests/ReflectionServiceIntegrationTests.swift",
"GRPCReflectionServiceTests/ReflectionServiceUnitTests.swift",
"GRPCReflectionServiceTests/Utils.swift",
"GRPCServerPipelineConfiguratorTests.swift",
"GRPCStatusCodeTests.swift",
"GRPCStatusMessageMarshallerTests.swift",
"GRPCStatusTests.swift",
"GRPCTestCase.swift",
"GRPCTimeoutTests.swift",
"GRPCTypeSizeTests.swift",
"GRPCWebToHTTP2ServerCodecTests.swift",
"GRPCWebToHTTP2StateMachineTests.swift",
"HTTP2MaxConcurrentStreamsTests.swift",
"HTTP2ToRawGRPCStateMachineTests.swift",
"HTTPVersionParserTests.swift",
"HeaderNormalizationTests.swift",
"ImmediateServerFailureTests.swift",
"InterceptedRPCCancellationTests.swift",
"InterceptorsTests.swift",
"LazyEventLoopPromiseTests.swift",
"LengthPrefixedMessageReaderTests.swift",
"MaxAgeTests.swift",
"MessageEncodingHeaderValidatorTests.swift",
"MutualTLSTests.swift",
"OneOrManyQueueTests.swift",
"PlatformSupportTests.swift",
"RequestIDProviderTests.swift",
"RequestIDTests.swift",
"SampleCertificate+Assertions.swift",
"ServerErrorDelegateTests.swift",
"ServerFuzzingRegressionTests.swift",
"ServerInterceptorPipelineTests.swift",
"ServerInterceptorTests.swift",
"ServerOnCloseTests.swift",
"ServerQuiescingTests.swift",
"ServerTLSErrorTests.swift",
"ServerTests.swift",
"ServerThrowingTests.swift",
"ServerWebTests.swift",
"StopwatchTests.swift",
"StreamResponseHandlerRetainCycleTests.swift",
"StreamingRequestClientCallTests.swift",
"TestClientExample.swift",
"TimeLimitTests.swift",
"UnaryServerHandlerTests.swift",
"UserInfoTests.swift",
"VsockSocketTests.swift",
"WebCORSHandlerTests.swift",
"WithConnectedSocketTests.swift",
"XCTestHelpers.swift",
"ZeroLengthWriteTests.swift",
"ZlibTests.swift"
],
"target_dependencies" : [
"GRPC",
"EchoModel",
"EchoImplementation",
"HelloWorldModel",
"GRPCInteroperabilityTestModels",
"GRPCInteroperabilityTestsImplementation",
"GRPCSampleData",
"GRPCReflectionService"
],
"type" : "test"
},
{
"c99name" : "GRPCSwiftPlugin",
"module_type" : "PluginTarget",
"name" : "GRPCSwiftPlugin",
"path" : "Plugins/GRPCSwiftPlugin",
"plugin_capability" : {
"type" : "buildTool"
},
"product_memberships" : [
"GRPCSwiftPlugin"
],
"sources" : [
"plugin.swift"
],
"target_dependencies" : [
"protoc-gen-grpc-swift"
],
"type" : "plugin"
},
{
"c99name" : "GRPCSampleData",
"module_type" : "SwiftTarget",
"name" : "GRPCSampleData",
"path" : "Sources/GRPCSampleData",
"product_dependencies" : [
"NIOSSL"
],
"product_memberships" : [
"GRPCPerformanceTests",
"Echo"
],
"sources" : [
"GRPCSwiftCertificate.swift"
],
"type" : "library"
},
{
"c99name" : "GRPCReflectionService",
"module_type" : "SwiftTarget",
"name" : "GRPCReflectionService",
"path" : "Sources/GRPCReflectionService",
"product_dependencies" : [
"NIO",
"SwiftProtobuf"
],
"product_memberships" : [
"GRPCReflectionService",
"ReflectionServer"
],
"sources" : [
"Server/ReflectionService.swift",
"Server/ReflectionServiceV1.swift",
"Server/ReflectionServiceV1Alpha.swift",
"v1/reflection-v1.grpc.swift",
"v1/reflection-v1.pb.swift",
"v1Alpha/reflection-v1alpha.grpc.swift",
"v1Alpha/reflection-v1alpha.pb.swift"
],
"target_dependencies" : [
"GRPC"
],
"type" : "library"
},
{
"c99name" : "GRPCPerformanceTests",
"module_type" : "SwiftTarget",
"name" : "GRPCPerformanceTests",
"path" : "Sources/GRPCPerformanceTests",
"product_dependencies" : [
"NIOCore",
"NIOEmbedded",
"NIOPosix",
"NIOHTTP2",
"ArgumentParser"
],
"product_memberships" : [
"GRPCPerformanceTests"
],
"sources" : [
"Benchmark.swift",
"BenchmarkUtils.swift",
"Benchmarks/EmbeddedClientThroughput.swift",
"Benchmarks/EmbeddedServer.swift",
"Benchmarks/MinimalEchoProvider.swift",
"Benchmarks/PercentEncoding.swift",
"Benchmarks/ServerProvidingBenchmark.swift",
"Benchmarks/UnaryThroughput.swift",
"Benchmarks/echo.grpc.swift",
"Benchmarks/echo.pb.swift",
"main.swift"
],
"target_dependencies" : [
"GRPC",
"GRPCSampleData"
],
"type" : "executable"
},
{
"c99name" : "GRPCInteroperabilityTestsImplementation",
"module_type" : "SwiftTarget",
"name" : "GRPCInteroperabilityTestsImplementation",
"path" : "Sources/GRPCInteroperabilityTestsImplementation",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"NIOHTTP1",
"Logging",
"NIOSSL"
],
"product_memberships" : [
"GRPCInteroperabilityTests"
],
"sources" : [
"Assertions.swift",
"GRPCTestingConvenienceMethods.swift",
"InteroperabilityTestCase.swift",
"InteroperabilityTestCases.swift",
"InteroperabilityTestClientConnection.swift",
"InteroperabilityTestCredentials.swift",
"InteroperabilityTestServer.swift",
"ServerFeatures.swift",
"TestServiceAsyncProvider.swift",
"TestServiceProvider.swift"
],
"target_dependencies" : [
"GRPC",
"GRPCInteroperabilityTestModels"
],
"type" : "library"
},
{
"c99name" : "GRPCInteroperabilityTests",
"module_type" : "SwiftTarget",
"name" : "GRPCInteroperabilityTests",
"path" : "Sources/GRPCInteroperabilityTests",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"Logging",
"ArgumentParser"
],
"product_memberships" : [
"GRPCInteroperabilityTests"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"GRPC",
"GRPCInteroperabilityTestsImplementation"
],
"type" : "executable"
},
{
"c99name" : "GRPCInteroperabilityTestModels",
"module_type" : "SwiftTarget",
"name" : "GRPCInteroperabilityTestModels",
"path" : "Sources/GRPCInteroperabilityTestModels",
"product_dependencies" : [
"NIO",
"SwiftProtobuf"
],
"product_memberships" : [
"GRPCInteroperabilityTests",
"GRPCConnectionBackoffInteropTest"
],
"sources" : [
"Generated/empty.pb.swift",
"Generated/messages.pb.swift",
"Generated/test.grpc.swift",
"Generated/test.pb.swift"
],
"target_dependencies" : [
"GRPC"
],
"type" : "library"
},
{
"c99name" : "GRPCConnectionBackoffInteropTest",
"module_type" : "SwiftTarget",
"name" : "GRPCConnectionBackoffInteropTest",
"path" : "Sources/GRPCConnectionBackoffInteropTest",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"Logging",
"ArgumentParser"
],
"product_memberships" : [
"GRPCConnectionBackoffInteropTest"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"GRPC",
"GRPCInteroperabilityTestModels"
],
"type" : "executable"
},
{
"c99name" : "GRPC",
"module_type" : "SwiftTarget",
"name" : "GRPC",
"path" : "Sources/GRPC",
"product_dependencies" : [
"NIO",
"NIOCore",
"NIOPosix",
"NIOEmbedded",
"NIOFoundationCompat",
"NIOTLS",
"NIOTransportServices",
"NIOHTTP1",
"NIOHTTP2",
"NIOExtras",
"Logging",
"SwiftProtobuf",
"DequeModule",
"Atomics",
"NIOSSL"
],
"product_memberships" : [
"GRPC",
"GRPCReflectionService",
"RouteGuideServer",
"RouteGuideClient",
"ReflectionServer",
"PacketCapture",
"HelloWorldServer",
"HelloWorldClient",
"GRPCPerformanceTests",
"GRPCInteroperabilityTests",
"GRPCConnectionBackoffInteropTest",
"Echo"
],
"sources" : [
"Array+BoundsCheck.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerHandlerStateMachine/ServerHandlerStateMachine+Actions.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerHandlerStateMachine/ServerHandlerStateMachine+Draining.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerHandlerStateMachine/ServerHandlerStateMachine+Finished.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerHandlerStateMachine/ServerHandlerStateMachine+Handling.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerHandlerStateMachine/ServerHandlerStateMachine+Idle.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerHandlerStateMachine/ServerHandlerStateMachine.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerInterceptorStateMachine/ServerInterceptorStateMachine+Actions.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerInterceptorStateMachine/ServerInterceptorStateMachine+Finished.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerInterceptorStateMachine/ServerInterceptorStateMachine+Intercepting.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerInterceptorStateMachine/ServerInterceptorStateMachine.swift",
"AsyncAwaitSupport/AsyncServerHandler/ServerInterceptorStateMachine/StreamState.swift",
"AsyncAwaitSupport/Call+AsyncRequestStreamWriter.swift",
"AsyncAwaitSupport/CancellationError+GRPCStatusTransformable.swift",
"AsyncAwaitSupport/GRPCAsyncBidirectionalStreamingCall.swift",
"AsyncAwaitSupport/GRPCAsyncClientStreamingCall.swift",
"AsyncAwaitSupport/GRPCAsyncRequestStream.swift",
"AsyncAwaitSupport/GRPCAsyncRequestStreamWriter.swift",
"AsyncAwaitSupport/GRPCAsyncResponseStream.swift",
"AsyncAwaitSupport/GRPCAsyncResponseStreamWriter.swift",
"AsyncAwaitSupport/GRPCAsyncSequenceProducerDelegate.swift",
"AsyncAwaitSupport/GRPCAsyncServerCallContext.swift",
"AsyncAwaitSupport/GRPCAsyncServerHandler.swift",
"AsyncAwaitSupport/GRPCAsyncServerStreamingCall.swift",
"AsyncAwaitSupport/GRPCAsyncUnaryCall.swift",
"AsyncAwaitSupport/GRPCAsyncWriterSinkDelegate.swift",
"AsyncAwaitSupport/GRPCChannel+AsyncAwaitSupport.swift",
"AsyncAwaitSupport/GRPCClient+AsyncAwaitSupport.swift",
"AsyncAwaitSupport/GRPCSendable.swift",
"AsyncAwaitSupport/NIOAsyncWrappers.swift",
"CallHandlers/BidirectionalStreamingServerHandler.swift",
"CallHandlers/ClientStreamingServerHandler.swift",
"CallHandlers/ServerHandlerProtocol.swift",
"CallHandlers/ServerStreamingServerHandler.swift",
"CallHandlers/UnaryServerHandler.swift",
"CallOptions.swift",
"ClientCalls/BidirectionalStreamingCall.swift",
"ClientCalls/Call.swift",
"ClientCalls/CallDetails.swift",
"ClientCalls/ClientCall.swift",
"ClientCalls/ClientStreamingCall.swift",
"ClientCalls/LazyEventLoopPromise.swift",
"ClientCalls/ResponseContainers.swift",
"ClientCalls/ResponsePartContainer.swift",
"ClientCalls/ServerStreamingCall.swift",
"ClientCalls/UnaryCall.swift",
"ClientConnection.swift",
"ClientConnectionConfiguration+NIOSSL.swift",
"ClientErrorDelegate.swift",
"CoalescingLengthPrefixedMessageWriter.swift",
"Compression/CompressionAlgorithm.swift",
"Compression/DecompressionLimit.swift",
"Compression/MessageEncoding.swift",
"Compression/Zlib.swift",
"ConnectionBackoff.swift",
"ConnectionKeepalive.swift",
"ConnectionManager+Delegates.swift",
"ConnectionManager.swift",
"ConnectionManagerChannelProvider.swift",
"ConnectionPool/ConnectionManagerID.swift",
"ConnectionPool/ConnectionPool+PerConnectionState.swift",
"ConnectionPool/ConnectionPool+Waiter.swift",
"ConnectionPool/ConnectionPool.swift",
"ConnectionPool/ConnectionPoolIDs.swift",
"ConnectionPool/GRPCChannelPool.swift",
"ConnectionPool/PoolManager.swift",
"ConnectionPool/PoolManagerStateMachine+PerPoolState.swift",
"ConnectionPool/PoolManagerStateMachine.swift",
"ConnectionPool/PooledChannel.swift",
"ConnectionPool/StreamLender.swift",
"ConnectivityState.swift",
"DebugOnly.swift",
"DelegatingErrorHandler.swift",
"Error+NIOSSL.swift",
"EventLoopFuture+RecoverFromUncleanShutdown.swift",
"FakeChannel.swift",
"GRPCChannel/ClientConnection+NIOSSL.swift",
"GRPCChannel/ClientConnection+NWTLS.swift",
"GRPCChannel/GRPCChannel.swift",
"GRPCChannel/GRPCChannelBuilder.swift",
"GRPCClient.swift",
"GRPCClientChannelHandler.swift",
"GRPCClientStateMachine.swift",
"GRPCContentType.swift",
"GRPCError.swift",
"GRPCHeaderName.swift",
"GRPCIdleHandler.swift",
"GRPCIdleHandlerStateMachine.swift",
"GRPCKeepaliveHandlers.swift",
"GRPCPayload.swift",
"GRPCServerPipelineConfigurator.swift",
"GRPCServerRequestRoutingHandler.swift",
"GRPCServiceDescription.swift",
"GRPCStatus.swift",
"GRPCStatusAndMetadata.swift",
"GRPCStatusMessageMarshaller.swift",
"GRPCTLSConfiguration.swift",
"GRPCTimeout.swift",
"GRPCWebToHTTP2ServerCodec.swift",
"HTTP2ToRawGRPCServerCodec.swift",
"HTTP2ToRawGRPCStateMachine.swift",
"Interceptor/ClientInterceptorContext.swift",
"Interceptor/ClientInterceptorPipeline.swift",
"Interceptor/ClientInterceptorProtocol.swift",
"Interceptor/ClientInterceptors.swift",
"Interceptor/ClientTransport.swift",
"Interceptor/ClientTransportFactory.swift",
"Interceptor/MessageParts.swift",
"Interceptor/ServerInterceptorContext.swift",
"Interceptor/ServerInterceptorPipeline.swift",
"Interceptor/ServerInterceptors.swift",
"InterceptorContextList.swift",
"LengthPrefixedMessageReader.swift",
"Logger.swift",
"LoggingServerErrorDelegate.swift",
"MessageEncodingHeaderValidator.swift",
"PlatformSupport.swift",
"ReadWriteStates.swift",
"Ref.swift",
"Serialization.swift",
"Server+NIOSSL.swift",
"Server.swift",
"ServerBuilder+NIOSSL.swift",
"ServerBuilder.swift",
"ServerCallContexts/ServerCallContext.swift",
"ServerCallContexts/StreamingResponseCallContext.swift",
"ServerCallContexts/UnaryResponseCallContext.swift",
"ServerChannelErrorHandler.swift",
"ServerErrorDelegate.swift",
"ServerErrorProcessor.swift",
"Stopwatch.swift",
"StreamEvent.swift",
"TLSVerificationHandler.swift",
"TLSVersion.swift",
"TimeLimit.swift",
"UserInfo.swift",
"Version.swift",
"WebCORSHandler.swift",
"WriteCapturingHandler.swift",
"_EmbeddedThroughput.swift",
"_FakeResponseStream.swift",
"_GRPCClientCodecHandler.swift",
"_MessageContext.swift"
],
"target_dependencies" : [
"CGRPCZlib"
],
"type" : "library"
},
{
"c99name" : "EchoModel",
"module_type" : "SwiftTarget",
"name" : "EchoModel",
"path" : "Examples/v1/Echo/Model",
"product_dependencies" : [
"NIO",
"SwiftProtobuf"
],
"product_memberships" : [
"ReflectionServer",
"PacketCapture",
"Echo"
],
"sources" : [
"echo.grpc.swift",
"echo.pb.swift"
],
"target_dependencies" : [
"GRPC"
],
"type" : "library"
},
{
"c99name" : "EchoImplementation",
"module_type" : "SwiftTarget",
"name" : "EchoImplementation",
"path" : "Examples/v1/Echo/Implementation",
"product_dependencies" : [
"NIOCore",
"NIOHTTP2",
"SwiftProtobuf"
],
"product_memberships" : [
"ReflectionServer",
"Echo"
],
"sources" : [
"EchoAsyncProvider.swift",
"EchoProvider.swift",
"HPACKHeaders+Prettify.swift",
"Interceptors.swift"
],
"target_dependencies" : [
"EchoModel",
"GRPC"
],
"type" : "library"
},
{
"c99name" : "Echo",
"module_type" : "SwiftTarget",
"name" : "Echo",
"path" : "Examples/v1/Echo/Runtime",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"Logging",
"ArgumentParser",
"NIOSSL"
],
"product_memberships" : [
"Echo"
],
"sources" : [
"Echo.swift",
"Empty.swift"
],
"target_dependencies" : [
"GRPC",
"EchoModel",
"EchoImplementation",
"GRPCSampleData"
],
"type" : "executable"
},
{
"c99name" : "CGRPCZlib",
"module_type" : "ClangTarget",
"name" : "CGRPCZlib",
"path" : "Sources/CGRPCZlib",
"product_memberships" : [
"GRPC",
"CGRPCZlib",
"GRPCReflectionService",
"RouteGuideServer",
"RouteGuideClient",
"ReflectionServer",
"PacketCapture",
"HelloWorldServer",
"HelloWorldClient",
"GRPCPerformanceTests",
"GRPCInteroperabilityTests",
"GRPCConnectionBackoffInteropTest",
"Echo"
],
"sources" : [
"empty.c"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:2b296aa7156f49efc57252cdf9ed4bb21d0f92fc98d88800e255491ba2db3116
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.