Build Information
Successful build of swift-nio-redis-client, reference 0.10.3 (832712
), with Swift 6.1 for Android on 27 May 2025 23:04:05 UTC.
Swift 6 data race errors: 2
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -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.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NozeIO/swift-nio-redis-client.git
Reference: 0.10.3
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
* tag 0.10.3 -> FETCH_HEAD
HEAD is now at 8327121 Merge branch 'develop' into main
Cloned https://github.com/NozeIO/swift-nio-redis-client.git
Revision (git rev-parse @):
832712154a0bf27b2cdee18385138937e9501084
SUCCESS checkout https://github.com/NozeIO/swift-nio-redis-client.git at 0.10.3
========================================
Build
========================================
Selected platform: android
Swift version: 6.1
Building package at path: $PWD
https://github.com/NozeIO/swift-nio-redis-client.git
https://github.com/NozeIO/swift-nio-redis-client.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"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"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -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
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/SwiftNIOExtras/swift-nio-redis.git
[1/359] Fetching swift-nio-redis
[360/76414] Fetching swift-nio-redis, swift-nio
Fetched https://github.com/SwiftNIOExtras/swift-nio-redis.git from cache (5.44s)
Fetched https://github.com/apple/swift-nio.git from cache (5.56s)
Computing version for https://github.com/SwiftNIOExtras/swift-nio-redis.git
Computed https://github.com/SwiftNIOExtras/swift-nio-redis.git at 0.11.0 (7.33s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.83.0 (0.92s)
Fetching https://github.com/apple/swift-system.git
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-atomics.git
[1/4391] Fetching swift-system
[2065/6101] Fetching swift-system, swift-atomics
[6068/22692] Fetching swift-system, swift-atomics, swift-collections
Fetched https://github.com/apple/swift-system.git from cache (0.43s)
[2872/18301] Fetching swift-atomics, swift-collections
Fetched https://github.com/apple/swift-atomics.git from cache (1.30s)
Fetched https://github.com/apple/swift-collections.git from cache (1.33s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (1.87s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.4.2 (0.54s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.2.0 (0.69s)
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.2
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.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-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.2.0
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.83.0
warning: 'spi-builder-workspace': dependency 'swift-nio' is not used by any target
Building for debugging...
[0/23] Write sources
[12/23] Compiling CNIOWASI CNIOWASI.c
[12/23] Compiling CNIOLinux liburing_shims.c
[14/23] Compiling CNIOWindows WSAStartup.c
[15/23] Write sources
[15/23] Compiling CNIODarwin shim.c
[17/23] Compiling CNIOWindows shim.c
[18/23] Compiling CNIOLinux shim.c
[19/23] Compiling _AtomicsShims.c
[20/23] Write swift-version-24593BA9C3E375BF.txt
[22/62] Compiling _NIODataStructures _TinyArray.swift
[23/62] Emitting module InternalCollectionsUtilities
[24/62] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[25/62] Compiling InternalCollectionsUtilities Integer rank.swift
[26/62] Compiling _NIODataStructures PriorityQueue.swift
[27/63] Emitting module _NIOBase64
[28/63] Compiling InternalCollectionsUtilities UInt+first and last set bit.swift
[29/63] Compiling Atomics IntegerConformances.swift
[30/63] Compiling _NIOBase64 Base64.swift
[31/64] Compiling Atomics AtomicMemoryOrderings.swift
[32/64] Compiling Atomics DoubleWord.swift
[33/64] Compiling InternalCollectionsUtilities Debugging.swift
[34/64] Compiling InternalCollectionsUtilities Descriptions.swift
[35/64] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[36/64] Compiling InternalCollectionsUtilities _UnsafeBitSet.swift
[37/64] Compiling InternalCollectionsUtilities _SortedCollection.swift
[40/64] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[41/66] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[42/66] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[44/66] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[48/66] Emitting module Atomics
[52/66] Compiling Atomics ManagedAtomic.swift
[53/66] Compiling Atomics ManagedAtomicLazyReference.swift
[54/66] Compiling Atomics UnsafeAtomic.swift
[56/66] Compiling Atomics UnsafeAtomicLazyReference.swift
[57/66] Emitting module _NIODataStructures
[58/66] Compiling _NIODataStructures Heap.swift
[59/67] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[65/68] Compiling Atomics IntegerOperations.swift
[66/68] Compiling Atomics Unmanaged extensions.swift
[67/69] Compiling c-nioatomics.c
[68/69] Compiling c-atomics.c
[70/90] Compiling DequeModule _DequeBuffer.swift
[71/90] Compiling DequeModule _DequeBufferHeader.swift
[72/92] Compiling NIOConcurrencyHelpers NIOLock.swift
[73/92] Compiling DequeModule Deque+Equatable.swift
[74/92] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[75/92] Compiling DequeModule Deque+Extras.swift
[76/92] Compiling DequeModule Deque+Hashable.swift
[77/92] Compiling NIOConcurrencyHelpers lock.swift
[78/92] Compiling DequeModule _DequeSlot.swift
[79/92] Compiling DequeModule _UnsafeWrappedBuffer.swift
[80/92] Emitting module NIOConcurrencyHelpers
[81/92] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[82/92] Compiling DequeModule Deque._UnsafeHandle.swift
[83/92] Compiling DequeModule Deque.swift
[84/92] Compiling DequeModule Deque+Testing.swift
[85/92] Compiling DequeModule Deque._Storage.swift
[86/92] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[87/92] Compiling NIOConcurrencyHelpers atomics.swift
[88/93] Compiling DequeModule Deque+CustomReflectable.swift
[89/93] Compiling DequeModule Deque+Descriptions.swift
[90/93] Compiling DequeModule Deque+Codable.swift
[91/93] Compiling DequeModule Deque+Collection.swift
[92/93] Emitting module DequeModule
[95/154] Compiling NIOCore CircularBuffer.swift
[96/154] Compiling NIOCore Codec.swift
[97/154] Compiling NIOCore ConvenienceOptionSupport.swift
[98/154] Compiling NIOCore DeadChannel.swift
[99/154] Compiling NIOCore DispatchQueue+WithFuture.swift
[100/154] Compiling NIOCore EventLoop+Deprecated.swift
[101/154] Compiling NIOCore EventLoop+SerialExecutor.swift
[102/154] Compiling NIOCore EventLoop.swift
[103/162] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[104/162] Compiling NIOCore EventLoopFuture+Deprecated.swift
[105/162] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[106/162] Compiling NIOCore EventLoopFuture.swift
[107/162] Compiling NIOCore FileDescriptor.swift
[108/162] Compiling NIOCore FileHandle.swift
[109/162] Compiling NIOCore FileRegion.swift
[110/162] Compiling NIOCore GlobalSingletons.swift
[111/162] Compiling NIOCore IO.swift
[112/162] Compiling NIOCore IOData.swift
[113/162] Compiling NIOCore IPProtocol.swift
[114/162] Compiling NIOCore IntegerBitPacking.swift
[115/162] Compiling NIOCore IntegerTypes.swift
[116/162] Compiling NIOCore Interfaces.swift
[117/162] Compiling NIOCore Linux.swift
[118/162] Compiling NIOCore MarkedCircularBuffer.swift
[119/162] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[120/162] Compiling NIOCore SocketAddresses.swift
[121/162] Compiling NIOCore SocketOptionProvider.swift
[122/162] Compiling NIOCore SystemCallHelpers.swift
[123/162] Compiling NIOCore TimeAmount+Duration.swift
[124/162] Compiling NIOCore TypeAssistedChannelHandler.swift
[125/162] Compiling NIOCore UniversalBootstrapSupport.swift
[126/162] Compiling NIOCore Utilities.swift
[127/162] Compiling NIOCore AddressedEnvelope.swift
[128/162] Compiling NIOCore AsyncAwaitSupport.swift
[129/162] Compiling NIOCore AsyncChannel.swift
[130/162] Compiling NIOCore AsyncChannelHandler.swift
[131/162] Compiling NIOCore AsyncChannelInboundStream.swift
[132/162] Compiling NIOCore AsyncChannelOutboundWriter.swift
[133/162] Compiling NIOCore NIOAsyncSequenceProducer.swift
[134/162] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[135/162] Compiling NIOCore NIOAsyncWriter.swift
[136/162] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[137/162] Compiling NIOCore BSDSocketAPI.swift
[138/162] Compiling NIOCore ByteBuffer-aux.swift
[139/162] Compiling NIOCore ByteBuffer-binaryEncodedLengthPrefix.swift
[140/162] Compiling NIOCore ByteBuffer-conversions.swift
[141/162] Compiling NIOCore ByteBuffer-core.swift
[142/162] Compiling NIOCore ByteBuffer-hex.swift
[143/162] Compiling NIOCore ByteBuffer-int.swift
[144/162] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[145/162] Compiling NIOCore MulticastChannel.swift
[146/162] Compiling NIOCore NIOAny.swift
[147/162] Compiling NIOCore NIOCloseOnErrorHandler.swift
[148/162] Compiling NIOCore NIOLoopBound.swift
[149/162] Compiling NIOCore NIOPooledRecvBufferAllocator.swift
[150/162] Compiling NIOCore NIOScheduledCallback.swift
[151/162] Compiling NIOCore NIOSendable.swift
[152/162] Compiling NIOCore RecvByteBufferAllocator.swift
[153/162] Compiling NIOCore ByteBuffer-multi-int.swift
[154/162] Compiling NIOCore ByteBuffer-quicBinaryEncodingStrategy.swift
[155/162] Compiling NIOCore ByteBuffer-views.swift
[156/162] Compiling NIOCore Channel.swift
[157/162] Compiling NIOCore ChannelHandler.swift
[158/162] Compiling NIOCore ChannelHandlers.swift
[159/162] Compiling NIOCore ChannelInvoker.swift
[160/162] Compiling NIOCore ChannelOption.swift
[161/162] Compiling NIOCore ChannelPipeline.swift
[162/162] Emitting module NIOCore
[164/213] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[165/213] Emitting module NIOEmbedded
[166/213] Compiling NIOEmbedded Embedded.swift
[167/213] Compiling NIOEmbedded AsyncTestingChannel.swift
[169/214] Emitting module NIOPosix
[170/220] Compiling NIOPosix ServerSocket.swift
[171/220] Compiling NIOPosix Socket.swift
[172/220] Compiling NIOPosix SocketChannel.swift
[173/220] Compiling NIOPosix SocketProtocols.swift
[174/220] Compiling NIOPosix System.swift
[175/220] Compiling NIOPosix Thread.swift
[176/220] Compiling NIOPosix Pool.swift
[177/220] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[178/220] Compiling NIOPosix PosixSingletons.swift
[179/220] Compiling NIOPosix RawSocketBootstrap.swift
[180/220] Compiling NIOPosix Resolver.swift
[181/220] Compiling NIOPosix Selectable.swift
[182/220] Compiling NIOPosix SelectableChannel.swift
[183/220] Compiling NIOPosix SelectableEventLoop.swift
[184/220] Compiling NIOPosix SelectorEpoll.swift
[185/220] Compiling NIOPosix SelectorGeneric.swift
[186/220] Compiling NIOPosix SelectorKqueue.swift
[187/220] Compiling NIOPosix SelectorUring.swift
[188/220] Compiling NIOPosix ThreadPosix.swift
[189/220] Compiling NIOPosix ThreadWindows.swift
[190/220] Compiling NIOPosix UnsafeTransfer.swift
[191/220] Compiling NIOPosix Utilities.swift
[192/220] Compiling NIOPosix VsockAddress.swift
[193/220] Compiling NIOPosix VsockChannelEvents.swift
[194/220] Compiling NIOPosix Bootstrap.swift
[195/220] Compiling NIOPosix ControlMessage.swift
[196/220] Compiling NIOPosix DatagramVectorReadManager.swift
[197/220] Compiling NIOPosix Errors+Any.swift
[198/220] Compiling NIOPosix FileDescriptor.swift
[199/220] Compiling NIOPosix GetaddrinfoResolver.swift
[200/220] Compiling NIOPosix HappyEyeballs.swift
[201/220] Compiling NIOPosix IO.swift
[202/220] Compiling NIOPosix IntegerBitPacking.swift
[203/220] Compiling NIOPosix IntegerTypes.swift
[204/220] Compiling NIOPosix Linux.swift
[205/220] Compiling NIOPosix LinuxCPUSet.swift
[206/220] Compiling NIOPosix LinuxUring.swift
[207/220] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[208/220] Compiling NIOPosix BSDSocketAPICommon.swift
[209/220] Compiling NIOPosix BSDSocketAPIPosix.swift
[210/220] Compiling NIOPosix BSDSocketAPIWindows.swift
[211/220] Compiling NIOPosix BaseSocket.swift
[212/220] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[213/220] Compiling NIOPosix BaseSocketChannel.swift
[214/220] Compiling NIOPosix BaseStreamSocketChannel.swift
[215/220] Compiling NIOPosix NIOThreadPool.swift
[216/220] Compiling NIOPosix NonBlockingFileIO.swift
[217/220] Compiling NIOPosix PendingDatagramWritesManager.swift
[218/220] Compiling NIOPosix PendingWritesManager.swift
[219/220] Compiling NIOPosix PipeChannel.swift
[220/220] Compiling NIOPosix PipePair.swift
[222/223] Compiling NIO Exports.swift
[223/223] Emitting module NIO
[225/229] Compiling NIOFoundationCompat JSONSerialization+ByteBuffer.swift
[226/229] Compiling NIOFoundationCompat WaitSpinningRunLoop.swift
[227/229] Compiling NIOFoundationCompat Codable+ByteBuffer.swift
[228/229] Emitting module NIOFoundationCompat
[229/229] Compiling NIOFoundationCompat ByteBuffer-foundation.swift
[231/237] Compiling NIORedis ByteBufferExtras.swift
[232/237] Compiling NIORedis RESPEncodable.swift
[233/237] Compiling NIORedis RESPValue.swift
[234/237] Compiling NIORedis RESPPipelineSetup.swift
[235/237] Emitting module NIORedis
[236/237] Compiling NIORedis RESPChannelHandler.swift
[237/237] Compiling NIORedis RESPParser.swift
[239/246] Compiling Redis RedisRetry.swift
[240/246] Compiling Redis RedisPrint.swift
[241/246] 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?)
[242/246] Compiling Redis RedisClientOptions.swift
[243/246] Compiling Redis RedisCommand.swift
[244/246] 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?)
[245/246] 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
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
| `- 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 '<Self where Self : RedisCommandTarget> (cursor: String) -> ()' in a '@Sendable' closure
142 | }
143 |
144 | scanNext(cursor: newCursor)
| `- warning: capture of 'scanNext(cursor:)' with non-sendable type '<Self where Self : RedisCommandTarget> (cursor: String) -> ()' in a '@Sendable' closure
145 | }
146 |
/host/spi-builder-workspace/Sources/Redis/RedisCommandTarget.swift:132:10: warning: concurrently-executed local function 'scanNext(cursor:)' must be marked as '@Sendable'
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'
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
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
| `- 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
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
427 | }
428 | }
[246/246] Compiling Redis RedisClient.swift
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:179:23: warning: type 'RedisClient.Handler' does not conform to the 'Sendable' protocol
177 |
178 | return channel.pipeline
179 | .addHandler(Handler(client: me),
| `- warning: type 'RedisClient.Handler' does not conform to the 'Sendable' protocol
180 | name: "de.zeezide.nio.redis.client")
181 | }
:
605 | // MARK: - Handler
606 |
607 | final class Handler : ChannelInboundHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
608 |
609 | typealias InboundIn = RESPValue
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:170:24: warning: capture of 'self' with non-sendable type 'RedisClient?' in a '@Sendable' closure
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
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
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
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
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
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
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
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
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
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
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
| `- 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
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
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
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
| `- 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
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
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
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
| `- 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
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
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
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
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:385:15: warning: type 'RedisCommand' does not conform to the 'Sendable' protocol
383 | let call = callQueue.removeFirst()
384 |
385 | channel.write(call.command)
| `- warning: type 'RedisCommand' does not conform to the 'Sendable' protocol
386 | .map { self.pendingCalls.append(call) }
387 | .whenFailure {
/host/spi-builder-workspace/Sources/Redis/RedisCommand.swift:18:20: note: class 'RedisCommand' does not conform to the 'Sendable' protocol
16 | import NIORedis
17 |
18 | public final class RedisCommand : RESPEncodable {
| `- note: class 'RedisCommand' does not conform to the 'Sendable' protocol
19 |
20 | let values : ContiguousArray<RESPValue>
/host/spi-builder-workspace/Sources/Redis/RedisClient.swift:386:24: warning: capture of 'self' with non-sendable type 'RedisClient' in a '@Sendable' closure
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
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
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
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
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
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
399 |
400 | if !call.command.isSubscribe {
401 | call.promise.succeed(value)
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol
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
402 | return
403 | }
404 | call.promise.succeed(.bulkString(nil)) // TBD
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol
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
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
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
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
471 |
472 | guard case .connecting = self.state else {
Build complete! (60.96s)
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"
}
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Done.