The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of swift-nio-redis-client, reference develop (7e24d6), with Swift 6.0 for Linux on 28 Nov 2024 00:30:02 UTC.

Swift 6 data race errors: 2

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NozeIO/swift-nio-redis-client.git
Reference: develop
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/NozeIO/swift-nio-redis-client
 * branch            develop    -> FETCH_HEAD
 * [new branch]      develop    -> origin/develop
HEAD is now at 7e24d61 Accidentially grabbed .github from somewhere else?
Cloned https://github.com/NozeIO/swift-nio-redis-client.git
Revision (git rev-parse @):
7e24d6163cfd07b6e296a0421a48bdbb817c7a06
SUCCESS checkout https://github.com/NozeIO/swift-nio-redis-client.git at develop
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/NozeIO/swift-nio-redis-client.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/SwiftNIOExtras/swift-nio-redis.git
[1/359] Fetching swift-nio-redis
Fetched https://github.com/SwiftNIOExtras/swift-nio-redis.git from cache (0.25s)
[1/71966] Fetching swift-nio
Fetched https://github.com/apple/swift-nio.git from cache (5.28s)
Computing version for https://github.com/SwiftNIOExtras/swift-nio-redis.git
Computed https://github.com/SwiftNIOExtras/swift-nio-redis.git at 0.11.0 (0.78s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.77.0 (1.21s)
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/apple/swift-system.git
[1/1569] Fetching swift-atomics
[519/5488] Fetching swift-atomics, swift-system
[5489/21085] Fetching swift-atomics, swift-system, swift-collections
Fetched https://github.com/apple/swift-system.git from cache (0.70s)
Fetched https://github.com/apple/swift-atomics.git from cache (0.71s)
[2964/15597] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git from cache (1.90s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.4.0 (0.66s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.46s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.4 (0.68s)
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.1.4
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.77.0
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.2.0
Creating working copy for https://github.com/SwiftNIOExtras/swift-nio-redis.git
Working copy of https://github.com/SwiftNIOExtras/swift-nio-redis.git resolved at 0.11.0
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.4.0
warning: 'spi-builder-workspace': dependency 'swift-nio' is not used by any target
Building for debugging...
[0/23] Write sources
[12/23] Compiling _AtomicsShims.c
[13/23] Compiling CNIOWindows WSAStartup.c
[14/23] Compiling CNIODarwin shim.c
[15/23] Write sources
[16/23] Compiling CNIOLinux liburing_shims.c
[16/23] Compiling CNIOWASI CNIOWASI.c
[18/23] Compiling CNIOWindows shim.c
[19/23] Compiling CNIOLinux shim.c
[20/23] Write swift-version-24593BA9C3E375BF.txt
[22/65] Emitting module InternalCollectionsUtilities
[23/67] Emitting module _NIOBase64
[23/67] Compiling c-nioatomics.c
[24/67] Compiling c-atomics.c
[26/73] Compiling _NIOBase64 Base64.swift
[27/74] Emitting module Atomics
[28/76] Compiling Atomics AtomicStorage.swift
[29/76] Compiling Atomics AtomicValue.swift
[31/76] Compiling Atomics Primitives.shims.swift
[32/76] Compiling Atomics AtomicInteger.swift
[33/76] Compiling Atomics AtomicOptionalWrappable.swift
[34/76] Compiling _NIODataStructures _TinyArray.swift
[35/76] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[36/76] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[37/76] Compiling Atomics OptionalRawRepresentable.swift
[38/76] Compiling Atomics RawRepresentable.swift
[39/76] Compiling Atomics AtomicBool.swift
[40/76] Emitting module NIOConcurrencyHelpers
[41/76] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[45/76] Compiling Atomics AtomicMemoryOrderings.swift
[46/76] Compiling Atomics DoubleWord.swift
[47/76] Compiling Atomics UnsafeAtomic.swift
[48/76] Compiling Atomics UnsafeAtomicLazyReference.swift
[51/76] Compiling Atomics IntegerConformances.swift
[52/76] Compiling Atomics PointerConformances.swift
[53/76] Compiling Atomics Primitives.native.swift
[54/76] Compiling Atomics AtomicReference.swift
[68/77] Compiling _NIODataStructures PriorityQueue.swift
[70/77] Compiling Atomics IntegerOperations.swift
[71/77] Compiling Atomics Unmanaged extensions.swift
[73/93] Compiling DequeModule _DequeBuffer.swift
[74/93] Compiling DequeModule _DequeBufferHeader.swift
[75/95] Emitting module _NIODataStructures
[76/95] Compiling _NIODataStructures Heap.swift
[77/96] Compiling DequeModule Deque+Equatable.swift
[78/96] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[79/96] Compiling NIOConcurrencyHelpers atomics.swift
[80/96] Compiling NIOConcurrencyHelpers lock.swift
[81/96] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[82/96] Compiling DequeModule Deque+Extras.swift
[83/96] Compiling DequeModule Deque+Hashable.swift
[84/96] Compiling DequeModule Deque+Testing.swift
[85/96] Compiling DequeModule Deque._Storage.swift
[86/96] Compiling NIOConcurrencyHelpers NIOLock.swift
[89/97] Compiling DequeModule Deque._UnsafeHandle.swift
[90/97] Compiling DequeModule Deque.swift
[91/97] Compiling DequeModule _DequeSlot.swift
[92/97] Compiling DequeModule _UnsafeWrappedBuffer.swift
[93/97] Compiling DequeModule Deque+CustomReflectable.swift
[94/97] Compiling DequeModule Deque+Descriptions.swift
[95/97] Emitting module DequeModule
[96/97] Compiling DequeModule Deque+Codable.swift
[97/97] Compiling DequeModule Deque+Collection.swift
[99/158] Compiling NIOCore MulticastChannel.swift
[100/158] Compiling NIOCore NIOAny.swift
[101/158] Compiling NIOCore NIOCloseOnErrorHandler.swift
[102/158] Compiling NIOCore NIOLoopBound.swift
[103/158] Compiling NIOCore NIOScheduledCallback.swift
[104/158] Compiling NIOCore NIOSendable.swift
[105/158] Compiling NIOCore PointerHelpers.swift
[106/158] Compiling NIOCore RecvByteBufferAllocator.swift
[107/166] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[108/166] Compiling NIOCore SocketAddresses.swift
[109/166] Compiling NIOCore SocketOptionProvider.swift
[110/166] Compiling NIOCore SystemCallHelpers.swift
[111/166] Compiling NIOCore TimeAmount+Duration.swift
[112/166] Compiling NIOCore TypeAssistedChannelHandler.swift
[113/166] Compiling NIOCore UniversalBootstrapSupport.swift
[114/166] Compiling NIOCore Utilities.swift
[115/166] Compiling NIOCore IO.swift
[116/166] Compiling NIOCore IOData.swift
[117/166] Compiling NIOCore IPProtocol.swift
[118/166] Compiling NIOCore IntegerBitPacking.swift
[119/166] Compiling NIOCore IntegerTypes.swift
[120/166] Compiling NIOCore Interfaces.swift
[121/166] Compiling NIOCore Linux.swift
[122/166] Compiling NIOCore MarkedCircularBuffer.swift
[123/166] Compiling NIOCore CircularBuffer.swift
[124/166] Compiling NIOCore Codec.swift
[125/166] Compiling NIOCore ConvenienceOptionSupport.swift
[126/166] Compiling NIOCore DeadChannel.swift
[127/166] Compiling NIOCore DispatchQueue+WithFuture.swift
[128/166] Compiling NIOCore EventLoop+Deprecated.swift
[129/166] Compiling NIOCore EventLoop+SerialExecutor.swift
[130/166] Compiling NIOCore EventLoop.swift
[131/166] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[132/166] Compiling NIOCore EventLoopFuture+Deprecated.swift
[133/166] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[134/166] Compiling NIOCore EventLoopFuture.swift
[135/166] Compiling NIOCore FileDescriptor.swift
[136/166] Compiling NIOCore FileHandle.swift
[137/166] Compiling NIOCore FileRegion.swift
[138/166] Compiling NIOCore GlobalSingletons.swift
[139/166] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[140/166] Compiling NIOCore BSDSocketAPI.swift
[141/166] Compiling NIOCore ByteBuffer-aux.swift
[142/166] Compiling NIOCore ByteBuffer-binaryEncodedLengthPrefix.swift
[143/166] Compiling NIOCore ByteBuffer-conversions.swift
[144/166] Compiling NIOCore ByteBuffer-core.swift
[145/166] Compiling NIOCore ByteBuffer-hex.swift
[146/166] Compiling NIOCore ByteBuffer-int.swift
[147/166] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[148/166] Compiling NIOCore ByteBuffer-multi-int.swift
[149/166] Compiling NIOCore ByteBuffer-quicBinaryEncodingStrategy.swift
[150/166] Compiling NIOCore ByteBuffer-views.swift
[151/166] Compiling NIOCore Channel.swift
[152/166] Compiling NIOCore ChannelHandler.swift
[153/166] Compiling NIOCore ChannelHandlers.swift
[154/166] Compiling NIOCore ChannelInvoker.swift
[155/166] Compiling NIOCore ChannelOption.swift
[156/166] Compiling NIOCore ChannelPipeline.swift
[157/166] Emitting module NIOCore
[158/166] Compiling NIOCore AddressedEnvelope.swift
[159/166] Compiling NIOCore AsyncAwaitSupport.swift
[160/166] Compiling NIOCore AsyncChannel.swift
[161/166] Compiling NIOCore AsyncChannelHandler.swift
[162/166] Compiling NIOCore AsyncChannelInboundStream.swift
[163/166] Compiling NIOCore AsyncChannelOutboundWriter.swift
[164/166] Compiling NIOCore NIOAsyncSequenceProducer.swift
[165/166] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[166/166] Compiling NIOCore NIOAsyncWriter.swift
[168/219] Compiling NIOEmbedded AsyncTestingChannel.swift
[169/219] Emitting module NIOEmbedded
[170/219] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[171/219] Compiling NIOEmbedded Embedded.swift
[173/220] Emitting module NIOPosix
[174/226] Compiling NIOPosix BSDSocketAPICommon.swift
[175/226] Compiling NIOPosix BSDSocketAPIPosix.swift
[176/226] Compiling NIOPosix BSDSocketAPIWindows.swift
[177/226] Compiling NIOPosix BaseSocket.swift
[178/226] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[179/226] Compiling NIOPosix BaseSocketChannel.swift
[180/226] Compiling NIOPosix BaseStreamSocketChannel.swift
[181/226] Compiling NIOPosix SelectableChannel.swift
[182/226] Compiling NIOPosix SelectableEventLoop.swift
[183/226] Compiling NIOPosix SelectorEpoll.swift
[184/226] Compiling NIOPosix SelectorGeneric.swift
[185/226] Compiling NIOPosix SelectorKqueue.swift
[186/226] Compiling NIOPosix SelectorUring.swift
[187/226] Compiling NIOPosix ServerSocket.swift
[188/226] Compiling NIOPosix Socket.swift
[189/226] Compiling NIOPosix SocketChannel.swift
[190/226] Compiling NIOPosix SocketProtocols.swift
[191/226] Compiling NIOPosix System.swift
[192/226] Compiling NIOPosix Thread.swift
[193/226] Compiling NIOPosix ThreadPosix.swift
[194/226] Compiling NIOPosix ThreadWindows.swift
[195/226] Compiling NIOPosix UnsafeTransfer.swift
[196/226] Compiling NIOPosix Utilities.swift
[197/226] Compiling NIOPosix VsockAddress.swift
[198/226] Compiling NIOPosix VsockChannelEvents.swift
[199/226] Compiling NIOPosix Pool.swift
[200/226] Compiling NIOPosix PooledRecvBufferAllocator.swift
[201/226] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[202/226] Compiling NIOPosix PosixSingletons.swift
[203/226] Compiling NIOPosix RawSocketBootstrap.swift
[204/226] Compiling NIOPosix Resolver.swift
[205/226] Compiling NIOPosix Selectable.swift
[206/226] Compiling NIOPosix IO.swift
[207/226] Compiling NIOPosix IntegerBitPacking.swift
[208/226] Compiling NIOPosix IntegerTypes.swift
[209/226] Compiling NIOPosix Linux.swift
[210/226] Compiling NIOPosix LinuxCPUSet.swift
[211/226] Compiling NIOPosix LinuxUring.swift
[212/226] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[213/226] Compiling NIOPosix Bootstrap.swift
[214/226] Compiling NIOPosix ControlMessage.swift
[215/226] Compiling NIOPosix DatagramVectorReadManager.swift
[216/226] Compiling NIOPosix Errors+Any.swift
[217/226] Compiling NIOPosix FileDescriptor.swift
[218/226] Compiling NIOPosix GetaddrinfoResolver.swift
[219/226] Compiling NIOPosix HappyEyeballs.swift
[220/226] Compiling NIOPosix NIOThreadPool.swift
[221/226] Compiling NIOPosix NonBlockingFileIO.swift
[222/226] Compiling NIOPosix PendingDatagramWritesManager.swift
[223/226] Compiling NIOPosix PendingWritesManager.swift
[224/226] Compiling NIOPosix PipeChannel.swift
[225/226] Compiling NIOPosix PipePair.swift
[226/226] Compiling NIOPosix PointerHelpers.swift
[228/229] Compiling NIO Exports.swift
[229/229] Emitting module NIO
[231/235] Emitting module NIOFoundationCompat
[232/235] Compiling NIOFoundationCompat ByteBuffer-foundation.swift
[233/235] Compiling NIOFoundationCompat WaitSpinningRunLoop.swift
[234/235] Compiling NIOFoundationCompat Codable+ByteBuffer.swift
[235/235] Compiling NIOFoundationCompat JSONSerialization+ByteBuffer.swift
[237/243] Compiling NIORedis RESPChannelHandler.swift
[238/243] Emitting module NIORedis
[239/243] Compiling NIORedis RESPPipelineSetup.swift
[240/243] Compiling NIORedis RESPValue.swift
[241/243] Compiling NIORedis RESPParser.swift
[242/243] Compiling NIORedis RESPEncodable.swift
[243/243] Compiling NIORedis ByteBufferExtras.swift
[245/252] Compiling Redis RedisRetry.swift
[246/252] Compiling Redis RedisTypeTransformable.swift
/host/spi-builder-workspace/Sources/Redis/RedisTypeTransformable.swift:26:8: warning: associated value 'unexpectedValueType' of 'Sendable'-conforming enum 'RedisTypeTransformationError' has non-sendable type 'RESPValue'; this is an error in the Swift 6 language mode
 24 |
 25 | enum RedisTypeTransformationError : Swift.Error {
 26 |   case unexpectedValueType (RESPValue)
    |        `- warning: associated value 'unexpectedValueType' of 'Sendable'-conforming enum 'RedisTypeTransformationError' has non-sendable type 'RESPValue'; this is an error in the Swift 6 language mode
 27 |   case unsupportedValueType(Any.Type)
 28 |   case unexpectedHashValue (RESPValue)
/host/spi-builder-workspace/.build/checkouts/swift-nio-redis/Sources/NIORedis/RESPValue.swift:18:13: note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 16 | import Foundation
 17 |
 18 | public enum RESPValue {
    |             `- note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 19 |   case simpleString(ByteBuffer)
 20 |   case bulkString  (ByteBuffer?)
/host/spi-builder-workspace/Sources/Redis/RedisTypeTransformable.swift:17:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIORedis'
 15 | import struct Foundation.Data
 16 | import struct Foundation.TimeInterval
 17 | import enum   NIORedis.RESPValue
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIORedis'
 18 |
 19 | protocol RedisTypeTransformable {
/host/spi-builder-workspace/Sources/Redis/RedisTypeTransformable.swift:28:8: warning: associated value 'unexpectedHashValue' of 'Sendable'-conforming enum 'RedisTypeTransformationError' has non-sendable type 'RESPValue'; this is an error in the Swift 6 language mode
 26 |   case unexpectedValueType (RESPValue)
 27 |   case unsupportedValueType(Any.Type)
 28 |   case unexpectedHashValue (RESPValue)
    |        `- warning: associated value 'unexpectedHashValue' of 'Sendable'-conforming enum 'RedisTypeTransformationError' has non-sendable type 'RESPValue'; this is an error in the Swift 6 language mode
 29 | }
 30 |
/host/spi-builder-workspace/.build/checkouts/swift-nio-redis/Sources/NIORedis/RESPValue.swift:18:13: note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 16 | import Foundation
 17 |
 18 | public enum RESPValue {
    |             `- note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 19 |   case simpleString(ByteBuffer)
 20 |   case bulkString  (ByteBuffer?)
[247/252] Compiling Redis RedisClientOptions.swift
[248/252] Compiling Redis RedisCommand.swift
[249/252] Compiling Redis RedisPrint.swift
[250/252] Compiling Redis RedisCommandTarget.swift
/host/spi-builder-workspace/Sources/Redis/RedisCommandTarget.swift:136:11: warning: capture of 'cb' with non-sendable type '([String]) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
134 |       future.whenSuccess() { (newCursor, keys) in
135 |         if !keys.isEmpty {
136 |           cb(keys)
    |           |- warning: capture of 'cb' with non-sendable type '([String]) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
137 |         }
138 |
/host/spi-builder-workspace/Sources/Redis/RedisCommandTarget.swift:144:9: warning: capture of 'scanNext(cursor:)' with non-sendable type '(String) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
142 |         }
143 |
144 |         scanNext(cursor: newCursor)
    |         |- warning: capture of 'scanNext(cursor:)' with non-sendable type '(String) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
145 |       }
146 |
/host/spi-builder-workspace/Sources/Redis/RedisCommandTarget.swift:132:10: warning: concurrently-executed local function 'scanNext(cursor:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
130 |     let promise = self.eventLoop.makePromise(of: Void.self)
131 |
132 |     func scanNext(cursor: String) {
    |          `- warning: concurrently-executed local function 'scanNext(cursor:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
133 |       let future = self.scan(cursor: cursor, pattern: pattern, count: count)
134 |       future.whenSuccess() { (newCursor, keys) in
/host/spi-builder-workspace/Sources/Redis/RedisCommandTarget.swift:411:10: warning: 'map(file:line:_:)' is deprecated: Please don't pass file:line:, there's no point.
409 |               _ cb: @escaping ( Swift.Error?, Value? ) -> Void) -> Void
410 |   {
411 |     self.map(file: file, line: line) { cb(nil, $0) }
    |          `- warning: 'map(file:line:_:)' is deprecated: Please don't pass file:line:, there's no point.
412 |         .whenFailure { cb($0, nil) }
413 |   }
/host/spi-builder-workspace/Sources/Redis/RedisCommandTarget.swift:411:40: warning: capture of 'cb' with non-sendable type '((any Error)?, Value?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
409 |               _ cb: @escaping ( Swift.Error?, Value? ) -> Void) -> Void
410 |   {
411 |     self.map(file: file, line: line) { cb(nil, $0) }
    |                                        |- warning: capture of 'cb' with non-sendable type '((any Error)?, Value?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
412 |         .whenFailure { cb($0, nil) }
413 |   }
/host/spi-builder-workspace/Sources/Redis/RedisCommandTarget.swift:412:24: warning: capture of 'cb' with non-sendable type '((any Error)?, Value?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
410 |   {
411 |     self.map(file: file, line: line) { cb(nil, $0) }
412 |         .whenFailure { cb($0, nil) }
    |                        |- warning: capture of 'cb' with non-sendable type '((any Error)?, Value?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
413 |   }
414 | }
/host/spi-builder-workspace/Sources/Redis/RedisCommandTarget.swift:422:10: warning: 'map(file:line:_:)' is deprecated: Please don't pass file:line:, there's no point.
420 |               _ cb: @escaping ( Swift.Error?, U? ) -> Void) -> Void
421 |   {
422 |     self.map(file: file, line: line) {
    |          `- warning: 'map(file:line:_:)' is deprecated: Please don't pass file:line:, there's no point.
423 |           do { cb(nil, try U.extractFromRESPValue($0)) }
424 |           catch { cb(error, nil) }
/host/spi-builder-workspace/Sources/Redis/RedisCommandTarget.swift:423:16: warning: capture of 'cb' with non-sendable type '((any Error)?, U?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
421 |   {
422 |     self.map(file: file, line: line) {
423 |           do { cb(nil, try U.extractFromRESPValue($0)) }
    |                |- warning: capture of 'cb' with non-sendable type '((any Error)?, U?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
424 |           catch { cb(error, nil) }
425 |         }
/host/spi-builder-workspace/Sources/Redis/RedisCommandTarget.swift:426:24: warning: capture of 'cb' with non-sendable type '((any Error)?, U?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
424 |           catch { cb(error, nil) }
425 |         }
426 |         .whenFailure { cb($0, nil) }
    |                        |- warning: capture of 'cb' with non-sendable type '((any Error)?, U?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
427 |   }
428 | }
[251/252] Emitting module Redis
/host/spi-builder-workspace/Sources/Redis/RedisTypeTransformable.swift:26:8: warning: associated value 'unexpectedValueType' of 'Sendable'-conforming enum 'RedisTypeTransformationError' has non-sendable type 'RESPValue'; this is an error in the Swift 6 language mode
 24 |
 25 | enum RedisTypeTransformationError : Swift.Error {
 26 |   case unexpectedValueType (RESPValue)
    |        `- warning: associated value 'unexpectedValueType' of 'Sendable'-conforming enum 'RedisTypeTransformationError' has non-sendable type 'RESPValue'; this is an error in the Swift 6 language mode
 27 |   case unsupportedValueType(Any.Type)
 28 |   case unexpectedHashValue (RESPValue)
/host/spi-builder-workspace/.build/checkouts/swift-nio-redis/Sources/NIORedis/RESPValue.swift:18:13: note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 16 | import Foundation
 17 |
 18 | public enum RESPValue {
    |             `- note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 19 |   case simpleString(ByteBuffer)
 20 |   case bulkString  (ByteBuffer?)
/host/spi-builder-workspace/Sources/Redis/RedisTypeTransformable.swift:17:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIORedis'
 15 | import struct Foundation.Data
 16 | import struct Foundation.TimeInterval
 17 | import enum   NIORedis.RESPValue
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIORedis'
 18 |
 19 | protocol RedisTypeTransformable {
/host/spi-builder-workspace/Sources/Redis/RedisTypeTransformable.swift:28:8: warning: associated value 'unexpectedHashValue' of 'Sendable'-conforming enum 'RedisTypeTransformationError' has non-sendable type 'RESPValue'; this is an error in the Swift 6 language mode
 26 |   case unexpectedValueType (RESPValue)
 27 |   case unsupportedValueType(Any.Type)
 28 |   case unexpectedHashValue (RESPValue)
    |        `- warning: associated value 'unexpectedHashValue' of 'Sendable'-conforming enum 'RedisTypeTransformationError' has non-sendable type 'RESPValue'; this is an error in the Swift 6 language mode
 29 | }
 30 |
/host/spi-builder-workspace/.build/checkouts/swift-nio-redis/Sources/NIORedis/RESPValue.swift:18:13: note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 16 | import Foundation
 17 |
 18 | public enum RESPValue {
    |             `- note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 19 |   case simpleString(ByteBuffer)
 20 |   case bulkString  (ByteBuffer?)
[252/252] Compiling Redis RedisClient.swift
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:170:24: warning: capture of 'self' with non-sendable type 'RedisClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |  *
 91 |  */
 92 | open class RedisClient : RedisCommandTarget {
    |            `- note: class 'RedisClient' does not conform to the 'Sendable' protocol
 93 |
 94 |   public  let options   : RedisClientOptions
    :
168 |     return channel.pipeline
169 |       .configureRedisPipeline()
170 |       .flatMap { [weak self] in
    |                        `- warning: capture of 'self' with non-sendable type 'RedisClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
171 |         guard let me = self else {
172 |           //assert(self != nil, "bootstrap running, but client gone?!")
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:171:24: warning: capture of 'self' with non-sendable type 'RedisClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |  *
 91 |  */
 92 | open class RedisClient : RedisCommandTarget {
    |            `- note: class 'RedisClient' does not conform to the 'Sendable' protocol
 93 |
 94 |   public  let options   : RedisClientOptions
    :
169 |       .configureRedisPipeline()
170 |       .flatMap { [weak self] in
171 |         guard let me = self else {
    |                        `- warning: capture of 'self' with non-sendable type 'RedisClient?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
172 |           //assert(self != nil, "bootstrap running, but client gone?!")
173 |           let error = channel.eventLoop.makePromise(of: Void.self)
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:219:9: warning: capture of 'self' with non-sendable type 'RedisClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |  *
 91 |  */
 92 | open class RedisClient : RedisCommandTarget {
    |            `- note: class 'RedisClient' does not conform to the 'Sendable' protocol
 93 |
 94 |   public  let options   : RedisClientOptions
    :
217 |     guard eventLoop.inEventLoop else {
218 |       return eventLoop.execute {
219 |         self._unsubscribe(channels: channels, patterns: patterns)
    |         `- warning: capture of 'self' with non-sendable type 'RedisClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
220 |       }
221 |     }
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:256:9: warning: capture of 'self' with non-sendable type 'RedisClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |  *
 91 |  */
 92 | open class RedisClient : RedisCommandTarget {
    |            `- note: class 'RedisClient' does not conform to the 'Sendable' protocol
 93 |
 94 |   public  let options   : RedisClientOptions
    :
254 |     guard eventLoop.inEventLoop else {
255 |       return eventLoop.execute {
256 |         self._subscribe(channels: channels, patterns: patterns)
    |         `- warning: capture of 'self' with non-sendable type 'RedisClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
257 |       }
258 |     }
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:292:9: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |  *
 91 |  */
 92 | open class RedisClient : RedisCommandTarget {
    |            `- note: class 'RedisClient' does not conform to the 'Sendable' protocol
 93 |
 94 |   public  let options   : RedisClientOptions
    :
290 |     else {
291 |       eventLoop.execute {
292 |         self.subscribeListeners.append(cb)
    |         `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
293 |       }
294 |     }
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:292:40: warning: capture of 'cb' with non-sendable type '(String, Int) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
290 |     else {
291 |       eventLoop.execute {
292 |         self.subscribeListeners.append(cb)
    |                                        |- warning: capture of 'cb' with non-sendable type '(String, Int) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
293 |       }
294 |     }
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:305:9: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |  *
 91 |  */
 92 | open class RedisClient : RedisCommandTarget {
    |            `- note: class 'RedisClient' does not conform to the 'Sendable' protocol
 93 |
 94 |   public  let options   : RedisClientOptions
    :
303 |     else {
304 |       eventLoop.execute {
305 |         self.psubscribeListeners.append(cb)
    |         `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
306 |       }
307 |     }
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:305:41: warning: capture of 'cb' with non-sendable type '(String, Int) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
303 |     else {
304 |       eventLoop.execute {
305 |         self.psubscribeListeners.append(cb)
    |                                         |- warning: capture of 'cb' with non-sendable type '(String, Int) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
306 |       }
307 |     }
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:333:9: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |  *
 91 |  */
 92 | open class RedisClient : RedisCommandTarget {
    |            `- note: class 'RedisClient' does not conform to the 'Sendable' protocol
 93 |
 94 |   public  let options   : RedisClientOptions
    :
331 |     else {
332 |       eventLoop.execute {
333 |         self.messageListeners.append(cb)
    |         `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
334 |       }
335 |     }
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:333:38: warning: capture of 'cb' with non-sendable type '(String, String, String?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
331 |     else {
332 |       eventLoop.execute {
333 |         self.messageListeners.append(cb)
    |                                      |- warning: capture of 'cb' with non-sendable type '(String, String, String?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                      `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
334 |       }
335 |     }
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:347:34: warning: capture of 'self' with non-sendable type 'RedisClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |  *
 91 |  */
 92 | open class RedisClient : RedisCommandTarget {
    |            `- note: class 'RedisClient' does not conform to the 'Sendable' protocol
 93 |
 94 |   public  let options   : RedisClientOptions
    :
345 |   public func enqueueCommandCall(_ call: RedisCommandCall) { // Q: any
346 |     guard eventLoop.inEventLoop else {
347 |       return eventLoop.execute { self.enqueueCommandCall(call) }
    |                                  `- warning: capture of 'self' with non-sendable type 'RedisClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
348 |     }
349 |     _enqueueCommandCall(call)
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:347:58: warning: capture of 'call' with non-sendable type 'RedisCommandCall' in a `@Sendable` closure; this is an error in the Swift 6 language mode
345 |   public func enqueueCommandCall(_ call: RedisCommandCall) { // Q: any
346 |     guard eventLoop.inEventLoop else {
347 |       return eventLoop.execute { self.enqueueCommandCall(call) }
    |                                                          `- warning: capture of 'call' with non-sendable type 'RedisCommandCall' in a `@Sendable` closure; this is an error in the Swift 6 language mode
348 |     }
349 |     _enqueueCommandCall(call)
/host/spi-builder-workspace/Sources/Redis/RedisCommand.swift:42:14: note: class 'RedisCommandCall' does not conform to the 'Sendable' protocol
40 | }
41 |
42 | public class RedisCommandCall {
   |              `- note: class 'RedisCommandCall' does not conform to the 'Sendable' protocol
43 |
44 |   let command : RedisCommand
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:386:24: warning: capture of 'self' with non-sendable type 'RedisClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |  *
 91 |  */
 92 | open class RedisClient : RedisCommandTarget {
    |            `- note: class 'RedisClient' does not conform to the 'Sendable' protocol
 93 |
 94 |   public  let options   : RedisClientOptions
    :
384 |
385 |       channel.write(call.command)
386 |         .map         { self.pendingCalls.append(call) }
    |                        `- warning: capture of 'self' with non-sendable type 'RedisClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
387 |         .whenFailure {
388 |           call.promise.fail(Error.writeError($0))
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:386:49: warning: capture of 'call' with non-sendable type 'RedisCommandCall' in a `@Sendable` closure; this is an error in the Swift 6 language mode
384 |
385 |       channel.write(call.command)
386 |         .map         { self.pendingCalls.append(call) }
    |                                                 `- warning: capture of 'call' with non-sendable type 'RedisCommandCall' in a `@Sendable` closure; this is an error in the Swift 6 language mode
387 |         .whenFailure {
388 |           call.promise.fail(Error.writeError($0))
/host/spi-builder-workspace/Sources/Redis/RedisCommand.swift:42:14: note: class 'RedisCommandCall' does not conform to the 'Sendable' protocol
40 | }
41 |
42 | public class RedisCommandCall {
   |              `- note: class 'RedisCommandCall' does not conform to the 'Sendable' protocol
43 |
44 |   let command : RedisCommand
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:388:11: warning: capture of 'call' with non-sendable type 'RedisCommandCall' in a `@Sendable` closure; this is an error in the Swift 6 language mode
386 |         .map         { self.pendingCalls.append(call) }
387 |         .whenFailure {
388 |           call.promise.fail(Error.writeError($0))
    |           `- warning: capture of 'call' with non-sendable type 'RedisCommandCall' in a `@Sendable` closure; this is an error in the Swift 6 language mode
389 |         }
390 |     }
/host/spi-builder-workspace/Sources/Redis/RedisCommand.swift:42:14: note: class 'RedisCommandCall' does not conform to the 'Sendable' protocol
40 | }
41 |
42 | public class RedisCommandCall {
   |              `- note: class 'RedisCommandCall' does not conform to the 'Sendable' protocol
43 |
44 |   let command : RedisCommand
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:401:22: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
399 |
400 |       if !call.command.isSubscribe {
401 |         call.promise.succeed(value)
    |                      `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
402 |         return
403 |       }
/host/spi-builder-workspace/.build/checkouts/swift-nio-redis/Sources/NIORedis/RESPValue.swift:18:13: note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 16 | import Foundation
 17 |
 18 | public enum RESPValue {
    |             `- note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 19 |   case simpleString(ByteBuffer)
 20 |   case bulkString  (ByteBuffer?)
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:16:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIORedis'
 14 |
 15 | import NIO
 16 | import NIORedis
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIORedis'
 17 |
 18 | public let DefaultRedisPort = 6379
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:404:20: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
402 |         return
403 |       }
404 |       call.promise.succeed(.bulkString(nil)) // TBD
    |                    `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
405 |     }
406 |
/host/spi-builder-workspace/.build/checkouts/swift-nio-redis/Sources/NIORedis/RESPValue.swift:18:13: note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 16 | import Foundation
 17 |
 18 | public enum RESPValue {
    |             `- note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 19 |   case simpleString(ByteBuffer)
 20 |   case bulkString  (ByteBuffer?)
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:456:9: warning: capture of 'self' with non-sendable type 'RedisClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |  *
 91 |  */
 92 | open class RedisClient : RedisCommandTarget {
    |            `- note: class 'RedisClient' does not conform to the 'Sendable' protocol
 93 |
 94 |   public  let options   : RedisClientOptions
    :
454 |     _enqueueCommandCall(RedisCommandCall(["QUIT"], eventLoop: eventLoop))
455 |       .whenComplete { _ in
456 |         self.state = .quit
    |         `- warning: capture of 'self' with non-sendable type 'RedisClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
457 |         self.subscribeListeners.removeAll()
458 |         self.messageListeners.removeAll()
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:470:9: warning: capture of 'self' with non-sendable type 'RedisClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |  *
 91 |  */
 92 | open class RedisClient : RedisCommandTarget {
    |            `- note: class 'RedisClient' does not conform to the 'Sendable' protocol
 93 |
 94 |   public  let options   : RedisClientOptions
    :
468 |     return bootstrap.connect(host: host, port: port)
469 |       .map { channel in
470 |         self.retryInfo.registerSuccessfulConnect()
    |         `- warning: capture of 'self' with non-sendable type 'RedisClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
471 |
472 |         guard case .connecting = self.state else {
Build complete! (58.64s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.20.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-nio-redis",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.10.3",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/SwiftNIOExtras/swift-nio-redis.git"
    }
  ],
  "manifest_display_name" : "swift-nio-redis-client",
  "name" : "swift-nio-redis-client",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Redis",
      "targets" : [
        "Redis"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "RedisTests",
      "module_type" : "SwiftTarget",
      "name" : "RedisTests",
      "path" : "Tests/RedisTests",
      "sources" : [
        "RedisClientTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "Redis"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Redis",
      "module_type" : "SwiftTarget",
      "name" : "Redis",
      "path" : "Sources/Redis",
      "product_dependencies" : [
        "NIORedis"
      ],
      "product_memberships" : [
        "Redis"
      ],
      "sources" : [
        "RedisClient.swift",
        "RedisClientOptions.swift",
        "RedisCommand.swift",
        "RedisCommandTarget.swift",
        "RedisPrint.swift",
        "RedisRetry.swift",
        "RedisTypeTransformable.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.