The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of RediStack, reference 2.0.0-gamma.1.1 (8ac2d7), with Swift 6.0 for macOS (SPM) on 28 Nov 2024 15:42:58 UTC.

Swift 6 data race errors: 21

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -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

Build Log

    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
504 |         keyword: String,
505 |         _ operations: [RedisKey: RESPValueConvertible],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnectionPool.swift:208:36: warning: capture of 'returnConnection' with non-sendable type '(RedisConnection, Logger) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
206 |
207 |                 return operation(connection)
208 |                     .always { _ in returnConnection(connection, logger) }
    |                                    |- warning: capture of 'returnConnection' with non-sendable type '(RedisConnection, Logger) -> 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'
209 |             },
210 |             preferredConnection: nil,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnectionPool.swift:208:53: warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
206 |
207 |                 return operation(connection)
208 |                     .always { _ in returnConnection(connection, logger) }
    |                                                     `- warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
209 |             },
210 |             preferredConnection: nil,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisMetrics.swift:47:23: warning: static property 'activeConnectionCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 45 |
 46 |     /// The wrapped `Metrics.Gauge` maintaining the current number of connections this library has active.
 47 |     public static var activeConnectionCount = IncrementalGauge(.activeConnectionCount)
    |                       |- warning: static property 'activeConnectionCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'activeConnectionCount' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'activeConnectionCount' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 48 |     /// The wrapped `Metrics.Gauge` maintaining the current number of subscriptions to channels.
 49 |     public static var activeChannelSubscriptions = IncrementalGauge(.activeChannelSubscriptions)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisMetrics.swift:49:23: warning: static property 'activeChannelSubscriptions' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 47 |     public static var activeConnectionCount = IncrementalGauge(.activeConnectionCount)
 48 |     /// The wrapped `Metrics.Gauge` maintaining the current number of subscriptions to channels.
 49 |     public static var activeChannelSubscriptions = IncrementalGauge(.activeChannelSubscriptions)
    |                       |- warning: static property 'activeChannelSubscriptions' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'activeChannelSubscriptions' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'activeChannelSubscriptions' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |     /// The wrapped `Metrics.Gauge` maintaining the current number of subscriptions to channel patterns.
 51 |     public static var activePatternSubscriptions = IncrementalGauge(.activePatternSubscriptions)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisMetrics.swift:51:23: warning: static property 'activePatternSubscriptions' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 49 |     public static var activeChannelSubscriptions = IncrementalGauge(.activeChannelSubscriptions)
 50 |     /// The wrapped `Metrics.Gauge` maintaining the current number of subscriptions to channel patterns.
 51 |     public static var activePatternSubscriptions = IncrementalGauge(.activePatternSubscriptions)
    |                       |- warning: static property 'activePatternSubscriptions' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'activePatternSubscriptions' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'activePatternSubscriptions' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 52 |     /// The `Metrics.Counter` that retains the number of connections made since application startup.
 53 |     public static let totalConnectionCount = Counter(label: .totalConnectionCount)
[265/277] Compiling RediStack RESPTranslator.swift
[266/277] Compiling RediStack RESPValue.swift
[267/277] Compiling RediStack RESPValueConvertible.swift
[268/277] Compiling RediStack ConnectionPoolErrors.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Extensions/SwiftNIO.swift:114:14: warning: type 'RedisPubSubHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
112 |
113 |         return self.handler(type: RedisPubSubHandler.self)
114 |             .flatMapError {
    |              `- warning: type 'RedisPubSubHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
115 |                 // if it doesn't exist, add it to the pipeline
116 |                 guard
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ChannelHandlers/RedisPubSubHandler.swift:94:20: note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 92 |
 93 | /// A channel handler that stores a map of closures and channel or pattern names subscribed to in Redis using Pub/Sub.
 94 | public final class RedisPubSubHandler {
    |                    `- note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 95 |     private var state: State = .default
 96 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Extensions/SwiftNIO.swift:122:22: warning: type 'RedisPubSubHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
120 |
121 |                 return self.handler(type: RedisCommandHandler.self)
122 |                     .flatMap {
    |                      `- warning: type 'RedisPubSubHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
123 |                         let pubsubHandler = RedisPubSubHandler(eventLoop: self.eventLoop)
124 |                         return self.addHandler(pubsubHandler, name: "RediStack.PubSubHandler", position: .before($0))
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ChannelHandlers/RedisPubSubHandler.swift:94:20: note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 92 |
 93 | /// A channel handler that stores a map of closures and channel or pattern names subscribed to in Redis using Pub/Sub.
 94 | public final class RedisPubSubHandler {
    |                    `- note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 95 |     private var state: State = .default
 96 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Extensions/SwiftNIO.swift:125:36: warning: capture of 'pubsubHandler' with non-sendable type 'RedisPubSubHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                         let pubsubHandler = RedisPubSubHandler(eventLoop: self.eventLoop)
124 |                         return self.addHandler(pubsubHandler, name: "RediStack.PubSubHandler", position: .before($0))
125 |                             .map { pubsubHandler }
    |                                    `- warning: capture of 'pubsubHandler' with non-sendable type 'RedisPubSubHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
126 |                     }
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ChannelHandlers/RedisPubSubHandler.swift:94:20: note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 92 |
 93 | /// A channel handler that stores a map of closures and channel or pattern names subscribed to in Redis using Pub/Sub.
 94 | public final class RedisPubSubHandler {
    |                    `- note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 95 |     private var state: State = .default
 96 |
[269/277] Compiling RediStack StandardLibrary.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Extensions/SwiftNIO.swift:114:14: warning: type 'RedisPubSubHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
112 |
113 |         return self.handler(type: RedisPubSubHandler.self)
114 |             .flatMapError {
    |              `- warning: type 'RedisPubSubHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
115 |                 // if it doesn't exist, add it to the pipeline
116 |                 guard
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ChannelHandlers/RedisPubSubHandler.swift:94:20: note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 92 |
 93 | /// A channel handler that stores a map of closures and channel or pattern names subscribed to in Redis using Pub/Sub.
 94 | public final class RedisPubSubHandler {
    |                    `- note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 95 |     private var state: State = .default
 96 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Extensions/SwiftNIO.swift:122:22: warning: type 'RedisPubSubHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
120 |
121 |                 return self.handler(type: RedisCommandHandler.self)
122 |                     .flatMap {
    |                      `- warning: type 'RedisPubSubHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
123 |                         let pubsubHandler = RedisPubSubHandler(eventLoop: self.eventLoop)
124 |                         return self.addHandler(pubsubHandler, name: "RediStack.PubSubHandler", position: .before($0))
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ChannelHandlers/RedisPubSubHandler.swift:94:20: note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 92 |
 93 | /// A channel handler that stores a map of closures and channel or pattern names subscribed to in Redis using Pub/Sub.
 94 | public final class RedisPubSubHandler {
    |                    `- note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 95 |     private var state: State = .default
 96 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Extensions/SwiftNIO.swift:125:36: warning: capture of 'pubsubHandler' with non-sendable type 'RedisPubSubHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                         let pubsubHandler = RedisPubSubHandler(eventLoop: self.eventLoop)
124 |                         return self.addHandler(pubsubHandler, name: "RediStack.PubSubHandler", position: .before($0))
125 |                             .map { pubsubHandler }
    |                                    `- warning: capture of 'pubsubHandler' with non-sendable type 'RedisPubSubHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
126 |                     }
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ChannelHandlers/RedisPubSubHandler.swift:94:20: note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 92 |
 93 | /// A channel handler that stores a map of closures and channel or pattern names subscribed to in Redis using Pub/Sub.
 94 | public final class RedisPubSubHandler {
    |                    `- note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 95 |     private var state: State = .default
 96 |
[270/277] Compiling RediStack SwiftNIO.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Extensions/SwiftNIO.swift:114:14: warning: type 'RedisPubSubHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
112 |
113 |         return self.handler(type: RedisPubSubHandler.self)
114 |             .flatMapError {
    |              `- warning: type 'RedisPubSubHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
115 |                 // if it doesn't exist, add it to the pipeline
116 |                 guard
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ChannelHandlers/RedisPubSubHandler.swift:94:20: note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 92 |
 93 | /// A channel handler that stores a map of closures and channel or pattern names subscribed to in Redis using Pub/Sub.
 94 | public final class RedisPubSubHandler {
    |                    `- note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 95 |     private var state: State = .default
 96 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Extensions/SwiftNIO.swift:122:22: warning: type 'RedisPubSubHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
120 |
121 |                 return self.handler(type: RedisCommandHandler.self)
122 |                     .flatMap {
    |                      `- warning: type 'RedisPubSubHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
123 |                         let pubsubHandler = RedisPubSubHandler(eventLoop: self.eventLoop)
124 |                         return self.addHandler(pubsubHandler, name: "RediStack.PubSubHandler", position: .before($0))
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ChannelHandlers/RedisPubSubHandler.swift:94:20: note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 92 |
 93 | /// A channel handler that stores a map of closures and channel or pattern names subscribed to in Redis using Pub/Sub.
 94 | public final class RedisPubSubHandler {
    |                    `- note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 95 |     private var state: State = .default
 96 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Extensions/SwiftNIO.swift:125:36: warning: capture of 'pubsubHandler' with non-sendable type 'RedisPubSubHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                         let pubsubHandler = RedisPubSubHandler(eventLoop: self.eventLoop)
124 |                         return self.addHandler(pubsubHandler, name: "RediStack.PubSubHandler", position: .before($0))
125 |                             .map { pubsubHandler }
    |                                    `- warning: capture of 'pubsubHandler' with non-sendable type 'RedisPubSubHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
126 |                     }
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ChannelHandlers/RedisPubSubHandler.swift:94:20: note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 92 |
 93 | /// A channel handler that stores a map of closures and channel or pattern names subscribed to in Redis using Pub/Sub.
 94 | public final class RedisPubSubHandler {
    |                    `- note: class 'RedisPubSubHandler' does not conform to the 'Sendable' protocol
 95 |     private var state: State = .default
 96 |
[271/277] Compiling RediStack ConnectionCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/ListCommands.swift:546:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
544 | // MARK: - Shared implementations
545 | extension RedisCommand {
546 |     fileprivate static func _bpop<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
547 |         keyword: String,
548 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
[272/277] Compiling RediStack HashCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/ListCommands.swift:546:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
544 | // MARK: - Shared implementations
545 | extension RedisCommand {
546 |     fileprivate static func _bpop<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
547 |         keyword: String,
548 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
[273/277] Compiling RediStack KeyCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/ListCommands.swift:546:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
544 | // MARK: - Shared implementations
545 | extension RedisCommand {
546 |     fileprivate static func _bpop<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
547 |         keyword: String,
548 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
[274/277] Compiling RediStack ListCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/ListCommands.swift:546:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
544 | // MARK: - Shared implementations
545 | extension RedisCommand {
546 |     fileprivate static func _bpop<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
547 |         keyword: String,
548 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
[275/277] Compiling RediStack SortedSetCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1183:23: warning: static property 'allElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1179 | ///
1180 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options).
1181 | public struct RedisZaddInsertBehavior {
     |               `- note: consider making struct 'RedisZaddInsertBehavior' conform to the 'Sendable' protocol
1182 |     /// Insert new elements and update the score of existing elements.
1183 |     public static let allElements = RedisZaddInsertBehavior(nil)
     |                       |- warning: static property 'allElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'allElements' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1184 |     /// Only insert new elements; do not update the score of existing elements.
1185 |     public static let onlyNewElements = RedisZaddInsertBehavior(.nx)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1214:23: warning: static property 'insertedElementsCount' is not concurrency-safe because non-'Sendable' type 'RedisZaddReturnBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1208 | ///
1209 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options)
1210 | public struct RedisZaddReturnBehavior {
     |               `- note: consider making struct 'RedisZaddReturnBehavior' conform to the 'Sendable' protocol
1211 |     /// Count both new elements that were inserted into the SortedSet and existing elements that had their score updated.
1212 |     public static let changedElementsCount = RedisZaddReturnBehavior(.ch)
1213 |     /// Count only new elements that were inserted into the SortedSet.
1214 |     public static let insertedElementsCount = RedisZaddReturnBehavior(nil)
     |                       |- warning: static property 'insertedElementsCount' is not concurrency-safe because non-'Sendable' type 'RedisZaddReturnBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'insertedElementsCount' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1215 |
1216 |     @usableFromInline
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1185:23: warning: static property 'onlyNewElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1179 | ///
1180 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options).
1181 | public struct RedisZaddInsertBehavior {
     |               `- note: consider making struct 'RedisZaddInsertBehavior' conform to the 'Sendable' protocol
1182 |     /// Insert new elements and update the score of existing elements.
1183 |     public static let allElements = RedisZaddInsertBehavior(nil)
1184 |     /// Only insert new elements; do not update the score of existing elements.
1185 |     public static let onlyNewElements = RedisZaddInsertBehavior(.nx)
     |                       |- warning: static property 'onlyNewElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'onlyNewElements' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1186 |     /// Only update the score of existing elements; do not insert new elements.
1187 |     public static let onlyExistingElements = RedisZaddInsertBehavior(.xx)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1187:23: warning: static property 'onlyExistingElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1179 | ///
1180 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options).
1181 | public struct RedisZaddInsertBehavior {
     |               `- note: consider making struct 'RedisZaddInsertBehavior' conform to the 'Sendable' protocol
1182 |     /// Insert new elements and update the score of existing elements.
1183 |     public static let allElements = RedisZaddInsertBehavior(nil)
     :
1185 |     public static let onlyNewElements = RedisZaddInsertBehavior(.nx)
1186 |     /// Only update the score of existing elements; do not insert new elements.
1187 |     public static let onlyExistingElements = RedisZaddInsertBehavior(.xx)
     |                       |- warning: static property 'onlyExistingElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'onlyExistingElements' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1188 |
1189 |     @usableFromInline
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1212:23: warning: static property 'changedElementsCount' is not concurrency-safe because non-'Sendable' type 'RedisZaddReturnBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1208 | ///
1209 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options)
1210 | public struct RedisZaddReturnBehavior {
     |               `- note: consider making struct 'RedisZaddReturnBehavior' conform to the 'Sendable' protocol
1211 |     /// Count both new elements that were inserted into the SortedSet and existing elements that had their score updated.
1212 |     public static let changedElementsCount = RedisZaddReturnBehavior(.ch)
     |                       |- warning: static property 'changedElementsCount' is not concurrency-safe because non-'Sendable' type 'RedisZaddReturnBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'changedElementsCount' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1213 |     /// Count only new elements that were inserted into the SortedSet.
1214 |     public static let insertedElementsCount = RedisZaddReturnBehavior(nil)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1268:23: warning: static property 'sum' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
1264 | ///
1265 | /// See the documentation for each individual command that uses this object for more details.
1266 | public struct RedisSortedSetAggregateMethod {
     |               `- note: consider making struct 'RedisSortedSetAggregateMethod' conform to the 'Sendable' protocol
1267 |     /// Add the score of all matching elements in the source SortedSets.
1268 |     public static let sum = RedisSortedSetAggregateMethod(.sum)
     |                       |- warning: static property 'sum' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'sum' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1269 |     /// Use the minimum score of the matching elements in the source SortedSets.
1270 |     public static let min = RedisSortedSetAggregateMethod(.min)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1270:23: warning: static property 'min' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
1264 | ///
1265 | /// See the documentation for each individual command that uses this object for more details.
1266 | public struct RedisSortedSetAggregateMethod {
     |               `- note: consider making struct 'RedisSortedSetAggregateMethod' conform to the 'Sendable' protocol
1267 |     /// Add the score of all matching elements in the source SortedSets.
1268 |     public static let sum = RedisSortedSetAggregateMethod(.sum)
1269 |     /// Use the minimum score of the matching elements in the source SortedSets.
1270 |     public static let min = RedisSortedSetAggregateMethod(.min)
     |                       |- warning: static property 'min' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'min' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1271 |     /// Use the maximum score of the matching elements in the source SortedSets.
1272 |     public static let max = RedisSortedSetAggregateMethod(.max)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1272:23: warning: static property 'max' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
1264 | ///
1265 | /// See the documentation for each individual command that uses this object for more details.
1266 | public struct RedisSortedSetAggregateMethod {
     |               `- note: consider making struct 'RedisSortedSetAggregateMethod' conform to the 'Sendable' protocol
1267 |     /// Add the score of all matching elements in the source SortedSets.
1268 |     public static let sum = RedisSortedSetAggregateMethod(.sum)
     :
1270 |     public static let min = RedisSortedSetAggregateMethod(.min)
1271 |     /// Use the maximum score of the matching elements in the source SortedSets.
1272 |     public static let max = RedisSortedSetAggregateMethod(.max)
     |                       |- warning: static property 'max' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'max' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1273 |
1274 |     internal var string: String { self.option.rawValue }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1347:36: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1345 | // MARK: - Shared implementations
1346 | extension RedisCommand {
1347 |     fileprivate static func _bzpop<ResultType>(
     |                                    `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1348 |         keyword: String,
1349 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1401:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1399 |     }
1400 |
1401 |     fileprivate static func _zpop<ResultType>(
     |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1402 |         keyword: String,
1403 |         _ count: Int?,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:410:23: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
406 | ///
407 | /// See [SET](https://redis.io/commands/set)
408 | public struct RedisSetCommandCondition: Hashable {
    |               `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
409 |     /// No condition is required to be met in order to set the key's value.
410 |     public static let none = RedisSetCommandCondition(.none)
    |                       |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'none' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
411 |
412 |     /// Only set the key if it already exists.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:415:23: warning: static property 'keyExists' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
406 | ///
407 | /// See [SET](https://redis.io/commands/set)
408 | public struct RedisSetCommandCondition: Hashable {
    |               `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
409 |     /// No condition is required to be met in order to set the key's value.
410 |     public static let none = RedisSetCommandCondition(.none)
    :
413 |     ///
414 |     /// Redis documentation refers to this as the option "XX".
415 |     public static let keyExists = RedisSetCommandCondition(.keyExists)
    |                       |- warning: static property 'keyExists' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'keyExists' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
416 |
417 |     /// Only set the key if it does not already exist.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:420:23: warning: static property 'keyDoesNotExist' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
406 | ///
407 | /// See [SET](https://redis.io/commands/set)
408 | public struct RedisSetCommandCondition: Hashable {
    |               `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
409 |     /// No condition is required to be met in order to set the key's value.
410 |     public static let none = RedisSetCommandCondition(.none)
    :
418 |     ///
419 |     /// Redis documentation refers to this as the option "NX".
420 |     public static let keyDoesNotExist = RedisSetCommandCondition(.keyDoesNotExist)
    |                       |- warning: static property 'keyDoesNotExist' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'keyDoesNotExist' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
421 |
422 |     private enum Condition: String, Hashable {
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:447:23: warning: static property 'keepExisting' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandExpiration' may have shared mutable state; this is an error in the Swift 6 language mode
440 | ///
441 | /// See [SET](https://redis.io/commands/set)
442 | public struct RedisSetCommandExpiration: Hashable {
    |               `- note: consider making struct 'RedisSetCommandExpiration' conform to the 'Sendable' protocol
443 |     /// Retain the existing expiration associated with the key, if one exists.
444 |     ///
445 |     /// Redis documentation refers to this as "KEEPTTL".
446 |     /// - Important: This is option is only available in Redis 6.0+. An error will be returned if this value is sent in lower versions of Redis.
447 |     public static let keepExisting = RedisSetCommandExpiration(.keepExisting)
    |                       |- warning: static property 'keepExisting' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandExpiration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'keepExisting' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
448 |
449 |     /// Expire the key after the given number of seconds.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:503:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
501 |
502 | extension RedisCommand {
503 |     fileprivate static func _mset<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
504 |         keyword: String,
505 |         _ operations: [RedisKey: RESPValueConvertible],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:127:17: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
125 |         } else {
126 |             self.loop.execute {
127 |                 self.refillConnections(logger: logger)
    |                 `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
128 |             }
129 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:139:17: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
137 |         } else {
138 |             self.loop.execute {
139 |                 self.closePool(promise: promise, logger: logger)
    |                 `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |             }
141 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:149:30: warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
147 |             return self._leaseConnection(logger: logger, deadline: deadline)
148 |         } else {
149 |             return self.loop.flatSubmit {
    |                              `- warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
150 |                 return self._leaseConnection(logger: logger, deadline: deadline)
151 |             }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:150:24: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
148 |         } else {
149 |             return self.loop.flatSubmit {
150 |                 return self._leaseConnection(logger: logger, deadline: deadline)
    |                        `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
151 |             }
152 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:160:17: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
158 |         } else {
159 |             return self.loop.execute {
160 |                 self._returnLeasedConnection(connection, logger: logger)
    |                 `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |             }
162 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:160:46: warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
158 |         } else {
159 |             return self.loop.execute {
160 |                 self._returnLeasedConnection(connection, logger: logger)
    |                                              `- warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |             }
162 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:196:13: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
194 |
195 |         self.loop.scheduleTask(in: delay) {
196 |             self.connectionFactory(self.loop)
    |             `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
197 |                 .whenComplete { result in
198 |                     self.loop.preconditionInEventLoop()
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:198:21: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
196 |             self.connectionFactory(self.loop)
197 |                 .whenComplete { result in
198 |                     self.loop.preconditionInEventLoop()
    |                     `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
199 |
200 |                     self.pendingConnectionCount -= 1
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:233:64: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
231 |             // Great, we want this. We'll be "returning" it to the pool. First,
232 |             // attach the close callback to it.
233 |             connection.channel.closeFuture.whenComplete { _ in self.poolConnectionClosed(connection, logger: logger) }
    |                                                                `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
234 |             self._returnConnection(connection, logger: logger)
235 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:233:90: warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
231 |             // Great, we want this. We'll be "returning" it to the pool. First,
232 |             // attach the close callback to it.
233 |             connection.channel.closeFuture.whenComplete { _ in self.poolConnectionClosed(connection, logger: logger) }
    |                                                                                          `- warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
234 |             self._returnConnection(connection, logger: logger)
235 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:493:70: warning: passing non-sendable parameter 'onTimeout' to function expecting a @Sendable closure
489 |         }
490 |
491 |         mutating func scheduleDeadline(loop: EventLoop, deadline: NIODeadline, _ onTimeout: @escaping () -> Void) {
    |                                                                                  `- note: parameter 'onTimeout' is implicitly non-sendable
492 |             assert(self.timeoutTask == nil)
493 |             self.timeoutTask = loop.scheduleTask(deadline: deadline, onTimeout)
    |                                                                      `- warning: passing non-sendable parameter 'onTimeout' to function expecting a @Sendable closure
494 |         }
495 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:498:25: warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
496 |         func succeed(_ connection: RedisConnection) {
497 |             self.timeoutTask?.cancel()
498 |             self.result.succeed(connection)
    |                         `- warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
499 |         }
500 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
[276/277] Compiling RediStack StringCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1183:23: warning: static property 'allElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1179 | ///
1180 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options).
1181 | public struct RedisZaddInsertBehavior {
     |               `- note: consider making struct 'RedisZaddInsertBehavior' conform to the 'Sendable' protocol
1182 |     /// Insert new elements and update the score of existing elements.
1183 |     public static let allElements = RedisZaddInsertBehavior(nil)
     |                       |- warning: static property 'allElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'allElements' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1184 |     /// Only insert new elements; do not update the score of existing elements.
1185 |     public static let onlyNewElements = RedisZaddInsertBehavior(.nx)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1214:23: warning: static property 'insertedElementsCount' is not concurrency-safe because non-'Sendable' type 'RedisZaddReturnBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1208 | ///
1209 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options)
1210 | public struct RedisZaddReturnBehavior {
     |               `- note: consider making struct 'RedisZaddReturnBehavior' conform to the 'Sendable' protocol
1211 |     /// Count both new elements that were inserted into the SortedSet and existing elements that had their score updated.
1212 |     public static let changedElementsCount = RedisZaddReturnBehavior(.ch)
1213 |     /// Count only new elements that were inserted into the SortedSet.
1214 |     public static let insertedElementsCount = RedisZaddReturnBehavior(nil)
     |                       |- warning: static property 'insertedElementsCount' is not concurrency-safe because non-'Sendable' type 'RedisZaddReturnBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'insertedElementsCount' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1215 |
1216 |     @usableFromInline
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1185:23: warning: static property 'onlyNewElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1179 | ///
1180 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options).
1181 | public struct RedisZaddInsertBehavior {
     |               `- note: consider making struct 'RedisZaddInsertBehavior' conform to the 'Sendable' protocol
1182 |     /// Insert new elements and update the score of existing elements.
1183 |     public static let allElements = RedisZaddInsertBehavior(nil)
1184 |     /// Only insert new elements; do not update the score of existing elements.
1185 |     public static let onlyNewElements = RedisZaddInsertBehavior(.nx)
     |                       |- warning: static property 'onlyNewElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'onlyNewElements' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1186 |     /// Only update the score of existing elements; do not insert new elements.
1187 |     public static let onlyExistingElements = RedisZaddInsertBehavior(.xx)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1187:23: warning: static property 'onlyExistingElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1179 | ///
1180 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options).
1181 | public struct RedisZaddInsertBehavior {
     |               `- note: consider making struct 'RedisZaddInsertBehavior' conform to the 'Sendable' protocol
1182 |     /// Insert new elements and update the score of existing elements.
1183 |     public static let allElements = RedisZaddInsertBehavior(nil)
     :
1185 |     public static let onlyNewElements = RedisZaddInsertBehavior(.nx)
1186 |     /// Only update the score of existing elements; do not insert new elements.
1187 |     public static let onlyExistingElements = RedisZaddInsertBehavior(.xx)
     |                       |- warning: static property 'onlyExistingElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'onlyExistingElements' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1188 |
1189 |     @usableFromInline
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1212:23: warning: static property 'changedElementsCount' is not concurrency-safe because non-'Sendable' type 'RedisZaddReturnBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1208 | ///
1209 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options)
1210 | public struct RedisZaddReturnBehavior {
     |               `- note: consider making struct 'RedisZaddReturnBehavior' conform to the 'Sendable' protocol
1211 |     /// Count both new elements that were inserted into the SortedSet and existing elements that had their score updated.
1212 |     public static let changedElementsCount = RedisZaddReturnBehavior(.ch)
     |                       |- warning: static property 'changedElementsCount' is not concurrency-safe because non-'Sendable' type 'RedisZaddReturnBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'changedElementsCount' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1213 |     /// Count only new elements that were inserted into the SortedSet.
1214 |     public static let insertedElementsCount = RedisZaddReturnBehavior(nil)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1268:23: warning: static property 'sum' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
1264 | ///
1265 | /// See the documentation for each individual command that uses this object for more details.
1266 | public struct RedisSortedSetAggregateMethod {
     |               `- note: consider making struct 'RedisSortedSetAggregateMethod' conform to the 'Sendable' protocol
1267 |     /// Add the score of all matching elements in the source SortedSets.
1268 |     public static let sum = RedisSortedSetAggregateMethod(.sum)
     |                       |- warning: static property 'sum' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'sum' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1269 |     /// Use the minimum score of the matching elements in the source SortedSets.
1270 |     public static let min = RedisSortedSetAggregateMethod(.min)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1270:23: warning: static property 'min' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
1264 | ///
1265 | /// See the documentation for each individual command that uses this object for more details.
1266 | public struct RedisSortedSetAggregateMethod {
     |               `- note: consider making struct 'RedisSortedSetAggregateMethod' conform to the 'Sendable' protocol
1267 |     /// Add the score of all matching elements in the source SortedSets.
1268 |     public static let sum = RedisSortedSetAggregateMethod(.sum)
1269 |     /// Use the minimum score of the matching elements in the source SortedSets.
1270 |     public static let min = RedisSortedSetAggregateMethod(.min)
     |                       |- warning: static property 'min' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'min' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1271 |     /// Use the maximum score of the matching elements in the source SortedSets.
1272 |     public static let max = RedisSortedSetAggregateMethod(.max)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1272:23: warning: static property 'max' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
1264 | ///
1265 | /// See the documentation for each individual command that uses this object for more details.
1266 | public struct RedisSortedSetAggregateMethod {
     |               `- note: consider making struct 'RedisSortedSetAggregateMethod' conform to the 'Sendable' protocol
1267 |     /// Add the score of all matching elements in the source SortedSets.
1268 |     public static let sum = RedisSortedSetAggregateMethod(.sum)
     :
1270 |     public static let min = RedisSortedSetAggregateMethod(.min)
1271 |     /// Use the maximum score of the matching elements in the source SortedSets.
1272 |     public static let max = RedisSortedSetAggregateMethod(.max)
     |                       |- warning: static property 'max' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'max' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1273 |
1274 |     internal var string: String { self.option.rawValue }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1347:36: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1345 | // MARK: - Shared implementations
1346 | extension RedisCommand {
1347 |     fileprivate static func _bzpop<ResultType>(
     |                                    `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1348 |         keyword: String,
1349 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1401:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1399 |     }
1400 |
1401 |     fileprivate static func _zpop<ResultType>(
     |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1402 |         keyword: String,
1403 |         _ count: Int?,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:410:23: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
406 | ///
407 | /// See [SET](https://redis.io/commands/set)
408 | public struct RedisSetCommandCondition: Hashable {
    |               `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
409 |     /// No condition is required to be met in order to set the key's value.
410 |     public static let none = RedisSetCommandCondition(.none)
    |                       |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'none' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
411 |
412 |     /// Only set the key if it already exists.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:415:23: warning: static property 'keyExists' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
406 | ///
407 | /// See [SET](https://redis.io/commands/set)
408 | public struct RedisSetCommandCondition: Hashable {
    |               `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
409 |     /// No condition is required to be met in order to set the key's value.
410 |     public static let none = RedisSetCommandCondition(.none)
    :
413 |     ///
414 |     /// Redis documentation refers to this as the option "XX".
415 |     public static let keyExists = RedisSetCommandCondition(.keyExists)
    |                       |- warning: static property 'keyExists' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'keyExists' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
416 |
417 |     /// Only set the key if it does not already exist.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:420:23: warning: static property 'keyDoesNotExist' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
406 | ///
407 | /// See [SET](https://redis.io/commands/set)
408 | public struct RedisSetCommandCondition: Hashable {
    |               `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
409 |     /// No condition is required to be met in order to set the key's value.
410 |     public static let none = RedisSetCommandCondition(.none)
    :
418 |     ///
419 |     /// Redis documentation refers to this as the option "NX".
420 |     public static let keyDoesNotExist = RedisSetCommandCondition(.keyDoesNotExist)
    |                       |- warning: static property 'keyDoesNotExist' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'keyDoesNotExist' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
421 |
422 |     private enum Condition: String, Hashable {
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:447:23: warning: static property 'keepExisting' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandExpiration' may have shared mutable state; this is an error in the Swift 6 language mode
440 | ///
441 | /// See [SET](https://redis.io/commands/set)
442 | public struct RedisSetCommandExpiration: Hashable {
    |               `- note: consider making struct 'RedisSetCommandExpiration' conform to the 'Sendable' protocol
443 |     /// Retain the existing expiration associated with the key, if one exists.
444 |     ///
445 |     /// Redis documentation refers to this as "KEEPTTL".
446 |     /// - Important: This is option is only available in Redis 6.0+. An error will be returned if this value is sent in lower versions of Redis.
447 |     public static let keepExisting = RedisSetCommandExpiration(.keepExisting)
    |                       |- warning: static property 'keepExisting' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandExpiration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'keepExisting' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
448 |
449 |     /// Expire the key after the given number of seconds.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:503:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
501 |
502 | extension RedisCommand {
503 |     fileprivate static func _mset<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
504 |         keyword: String,
505 |         _ operations: [RedisKey: RESPValueConvertible],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:127:17: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
125 |         } else {
126 |             self.loop.execute {
127 |                 self.refillConnections(logger: logger)
    |                 `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
128 |             }
129 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:139:17: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
137 |         } else {
138 |             self.loop.execute {
139 |                 self.closePool(promise: promise, logger: logger)
    |                 `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |             }
141 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:149:30: warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
147 |             return self._leaseConnection(logger: logger, deadline: deadline)
148 |         } else {
149 |             return self.loop.flatSubmit {
    |                              `- warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
150 |                 return self._leaseConnection(logger: logger, deadline: deadline)
151 |             }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:150:24: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
148 |         } else {
149 |             return self.loop.flatSubmit {
150 |                 return self._leaseConnection(logger: logger, deadline: deadline)
    |                        `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
151 |             }
152 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:160:17: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
158 |         } else {
159 |             return self.loop.execute {
160 |                 self._returnLeasedConnection(connection, logger: logger)
    |                 `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |             }
162 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:160:46: warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
158 |         } else {
159 |             return self.loop.execute {
160 |                 self._returnLeasedConnection(connection, logger: logger)
    |                                              `- warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |             }
162 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:196:13: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
194 |
195 |         self.loop.scheduleTask(in: delay) {
196 |             self.connectionFactory(self.loop)
    |             `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
197 |                 .whenComplete { result in
198 |                     self.loop.preconditionInEventLoop()
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:198:21: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
196 |             self.connectionFactory(self.loop)
197 |                 .whenComplete { result in
198 |                     self.loop.preconditionInEventLoop()
    |                     `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
199 |
200 |                     self.pendingConnectionCount -= 1
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:233:64: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
231 |             // Great, we want this. We'll be "returning" it to the pool. First,
232 |             // attach the close callback to it.
233 |             connection.channel.closeFuture.whenComplete { _ in self.poolConnectionClosed(connection, logger: logger) }
    |                                                                `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
234 |             self._returnConnection(connection, logger: logger)
235 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:233:90: warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
231 |             // Great, we want this. We'll be "returning" it to the pool. First,
232 |             // attach the close callback to it.
233 |             connection.channel.closeFuture.whenComplete { _ in self.poolConnectionClosed(connection, logger: logger) }
    |                                                                                          `- warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
234 |             self._returnConnection(connection, logger: logger)
235 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:493:70: warning: passing non-sendable parameter 'onTimeout' to function expecting a @Sendable closure
489 |         }
490 |
491 |         mutating func scheduleDeadline(loop: EventLoop, deadline: NIODeadline, _ onTimeout: @escaping () -> Void) {
    |                                                                                  `- note: parameter 'onTimeout' is implicitly non-sendable
492 |             assert(self.timeoutTask == nil)
493 |             self.timeoutTask = loop.scheduleTask(deadline: deadline, onTimeout)
    |                                                                      `- warning: passing non-sendable parameter 'onTimeout' to function expecting a @Sendable closure
494 |         }
495 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:498:25: warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
496 |         func succeed(_ connection: RedisConnection) {
497 |             self.timeoutTask?.cancel()
498 |             self.result.succeed(connection)
    |                         `- warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
499 |         }
500 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
[277/277] Compiling RediStack ConnectionPool.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1183:23: warning: static property 'allElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1179 | ///
1180 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options).
1181 | public struct RedisZaddInsertBehavior {
     |               `- note: consider making struct 'RedisZaddInsertBehavior' conform to the 'Sendable' protocol
1182 |     /// Insert new elements and update the score of existing elements.
1183 |     public static let allElements = RedisZaddInsertBehavior(nil)
     |                       |- warning: static property 'allElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'allElements' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1184 |     /// Only insert new elements; do not update the score of existing elements.
1185 |     public static let onlyNewElements = RedisZaddInsertBehavior(.nx)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1214:23: warning: static property 'insertedElementsCount' is not concurrency-safe because non-'Sendable' type 'RedisZaddReturnBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1208 | ///
1209 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options)
1210 | public struct RedisZaddReturnBehavior {
     |               `- note: consider making struct 'RedisZaddReturnBehavior' conform to the 'Sendable' protocol
1211 |     /// Count both new elements that were inserted into the SortedSet and existing elements that had their score updated.
1212 |     public static let changedElementsCount = RedisZaddReturnBehavior(.ch)
1213 |     /// Count only new elements that were inserted into the SortedSet.
1214 |     public static let insertedElementsCount = RedisZaddReturnBehavior(nil)
     |                       |- warning: static property 'insertedElementsCount' is not concurrency-safe because non-'Sendable' type 'RedisZaddReturnBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'insertedElementsCount' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1215 |
1216 |     @usableFromInline
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1185:23: warning: static property 'onlyNewElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1179 | ///
1180 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options).
1181 | public struct RedisZaddInsertBehavior {
     |               `- note: consider making struct 'RedisZaddInsertBehavior' conform to the 'Sendable' protocol
1182 |     /// Insert new elements and update the score of existing elements.
1183 |     public static let allElements = RedisZaddInsertBehavior(nil)
1184 |     /// Only insert new elements; do not update the score of existing elements.
1185 |     public static let onlyNewElements = RedisZaddInsertBehavior(.nx)
     |                       |- warning: static property 'onlyNewElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'onlyNewElements' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1186 |     /// Only update the score of existing elements; do not insert new elements.
1187 |     public static let onlyExistingElements = RedisZaddInsertBehavior(.xx)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1187:23: warning: static property 'onlyExistingElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1179 | ///
1180 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options).
1181 | public struct RedisZaddInsertBehavior {
     |               `- note: consider making struct 'RedisZaddInsertBehavior' conform to the 'Sendable' protocol
1182 |     /// Insert new elements and update the score of existing elements.
1183 |     public static let allElements = RedisZaddInsertBehavior(nil)
     :
1185 |     public static let onlyNewElements = RedisZaddInsertBehavior(.nx)
1186 |     /// Only update the score of existing elements; do not insert new elements.
1187 |     public static let onlyExistingElements = RedisZaddInsertBehavior(.xx)
     |                       |- warning: static property 'onlyExistingElements' is not concurrency-safe because non-'Sendable' type 'RedisZaddInsertBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'onlyExistingElements' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1188 |
1189 |     @usableFromInline
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1212:23: warning: static property 'changedElementsCount' is not concurrency-safe because non-'Sendable' type 'RedisZaddReturnBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
1208 | ///
1209 | /// See [ZADD Options](https://redis.io/commands/zadd#zadd-options)
1210 | public struct RedisZaddReturnBehavior {
     |               `- note: consider making struct 'RedisZaddReturnBehavior' conform to the 'Sendable' protocol
1211 |     /// Count both new elements that were inserted into the SortedSet and existing elements that had their score updated.
1212 |     public static let changedElementsCount = RedisZaddReturnBehavior(.ch)
     |                       |- warning: static property 'changedElementsCount' is not concurrency-safe because non-'Sendable' type 'RedisZaddReturnBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'changedElementsCount' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1213 |     /// Count only new elements that were inserted into the SortedSet.
1214 |     public static let insertedElementsCount = RedisZaddReturnBehavior(nil)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1268:23: warning: static property 'sum' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
1264 | ///
1265 | /// See the documentation for each individual command that uses this object for more details.
1266 | public struct RedisSortedSetAggregateMethod {
     |               `- note: consider making struct 'RedisSortedSetAggregateMethod' conform to the 'Sendable' protocol
1267 |     /// Add the score of all matching elements in the source SortedSets.
1268 |     public static let sum = RedisSortedSetAggregateMethod(.sum)
     |                       |- warning: static property 'sum' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'sum' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1269 |     /// Use the minimum score of the matching elements in the source SortedSets.
1270 |     public static let min = RedisSortedSetAggregateMethod(.min)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1270:23: warning: static property 'min' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
1264 | ///
1265 | /// See the documentation for each individual command that uses this object for more details.
1266 | public struct RedisSortedSetAggregateMethod {
     |               `- note: consider making struct 'RedisSortedSetAggregateMethod' conform to the 'Sendable' protocol
1267 |     /// Add the score of all matching elements in the source SortedSets.
1268 |     public static let sum = RedisSortedSetAggregateMethod(.sum)
1269 |     /// Use the minimum score of the matching elements in the source SortedSets.
1270 |     public static let min = RedisSortedSetAggregateMethod(.min)
     |                       |- warning: static property 'min' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'min' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1271 |     /// Use the maximum score of the matching elements in the source SortedSets.
1272 |     public static let max = RedisSortedSetAggregateMethod(.max)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1272:23: warning: static property 'max' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
1264 | ///
1265 | /// See the documentation for each individual command that uses this object for more details.
1266 | public struct RedisSortedSetAggregateMethod {
     |               `- note: consider making struct 'RedisSortedSetAggregateMethod' conform to the 'Sendable' protocol
1267 |     /// Add the score of all matching elements in the source SortedSets.
1268 |     public static let sum = RedisSortedSetAggregateMethod(.sum)
     :
1270 |     public static let min = RedisSortedSetAggregateMethod(.min)
1271 |     /// Use the maximum score of the matching elements in the source SortedSets.
1272 |     public static let max = RedisSortedSetAggregateMethod(.max)
     |                       |- warning: static property 'max' is not concurrency-safe because non-'Sendable' type 'RedisSortedSetAggregateMethod' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'max' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1273 |
1274 |     internal var string: String { self.option.rawValue }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1347:36: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1345 | // MARK: - Shared implementations
1346 | extension RedisCommand {
1347 |     fileprivate static func _bzpop<ResultType>(
     |                                    `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1348 |         keyword: String,
1349 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1401:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1399 |     }
1400 |
1401 |     fileprivate static func _zpop<ResultType>(
     |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1402 |         keyword: String,
1403 |         _ count: Int?,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:410:23: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
406 | ///
407 | /// See [SET](https://redis.io/commands/set)
408 | public struct RedisSetCommandCondition: Hashable {
    |               `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
409 |     /// No condition is required to be met in order to set the key's value.
410 |     public static let none = RedisSetCommandCondition(.none)
    |                       |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'none' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
411 |
412 |     /// Only set the key if it already exists.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:415:23: warning: static property 'keyExists' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
406 | ///
407 | /// See [SET](https://redis.io/commands/set)
408 | public struct RedisSetCommandCondition: Hashable {
    |               `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
409 |     /// No condition is required to be met in order to set the key's value.
410 |     public static let none = RedisSetCommandCondition(.none)
    :
413 |     ///
414 |     /// Redis documentation refers to this as the option "XX".
415 |     public static let keyExists = RedisSetCommandCondition(.keyExists)
    |                       |- warning: static property 'keyExists' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'keyExists' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
416 |
417 |     /// Only set the key if it does not already exist.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:420:23: warning: static property 'keyDoesNotExist' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
406 | ///
407 | /// See [SET](https://redis.io/commands/set)
408 | public struct RedisSetCommandCondition: Hashable {
    |               `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
409 |     /// No condition is required to be met in order to set the key's value.
410 |     public static let none = RedisSetCommandCondition(.none)
    :
418 |     ///
419 |     /// Redis documentation refers to this as the option "NX".
420 |     public static let keyDoesNotExist = RedisSetCommandCondition(.keyDoesNotExist)
    |                       |- warning: static property 'keyDoesNotExist' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandCondition' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'keyDoesNotExist' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
421 |
422 |     private enum Condition: String, Hashable {
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:447:23: warning: static property 'keepExisting' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandExpiration' may have shared mutable state; this is an error in the Swift 6 language mode
440 | ///
441 | /// See [SET](https://redis.io/commands/set)
442 | public struct RedisSetCommandExpiration: Hashable {
    |               `- note: consider making struct 'RedisSetCommandExpiration' conform to the 'Sendable' protocol
443 |     /// Retain the existing expiration associated with the key, if one exists.
444 |     ///
445 |     /// Redis documentation refers to this as "KEEPTTL".
446 |     /// - Important: This is option is only available in Redis 6.0+. An error will be returned if this value is sent in lower versions of Redis.
447 |     public static let keepExisting = RedisSetCommandExpiration(.keepExisting)
    |                       |- warning: static property 'keepExisting' is not concurrency-safe because non-'Sendable' type 'RedisSetCommandExpiration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'keepExisting' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
448 |
449 |     /// Expire the key after the given number of seconds.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:503:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
501 |
502 | extension RedisCommand {
503 |     fileprivate static func _mset<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
504 |         keyword: String,
505 |         _ operations: [RedisKey: RESPValueConvertible],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:127:17: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
125 |         } else {
126 |             self.loop.execute {
127 |                 self.refillConnections(logger: logger)
    |                 `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
128 |             }
129 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:139:17: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
137 |         } else {
138 |             self.loop.execute {
139 |                 self.closePool(promise: promise, logger: logger)
    |                 `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
140 |             }
141 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:149:30: warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
147 |             return self._leaseConnection(logger: logger, deadline: deadline)
148 |         } else {
149 |             return self.loop.flatSubmit {
    |                              `- warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
150 |                 return self._leaseConnection(logger: logger, deadline: deadline)
151 |             }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:150:24: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
148 |         } else {
149 |             return self.loop.flatSubmit {
150 |                 return self._leaseConnection(logger: logger, deadline: deadline)
    |                        `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
151 |             }
152 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:160:17: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
158 |         } else {
159 |             return self.loop.execute {
160 |                 self._returnLeasedConnection(connection, logger: logger)
    |                 `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |             }
162 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:160:46: warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
158 |         } else {
159 |             return self.loop.execute {
160 |                 self._returnLeasedConnection(connection, logger: logger)
    |                                              `- warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |             }
162 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:196:13: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
194 |
195 |         self.loop.scheduleTask(in: delay) {
196 |             self.connectionFactory(self.loop)
    |             `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
197 |                 .whenComplete { result in
198 |                     self.loop.preconditionInEventLoop()
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:198:21: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
196 |             self.connectionFactory(self.loop)
197 |                 .whenComplete { result in
198 |                     self.loop.preconditionInEventLoop()
    |                     `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
199 |
200 |                     self.pendingConnectionCount -= 1
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:233:64: warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// and being used, at the cost of incurring more reconnects under low load. Of course, when we're under low load we don't
 37 | /// really care how many reconnects there are.
 38 | internal final class ConnectionPool {
    |                      `- note: class 'ConnectionPool' does not conform to the 'Sendable' protocol
 39 |     /// A function used to create Redis connections.
 40 |     private let connectionFactory: (EventLoop) -> EventLoopFuture<RedisConnection>
    :
231 |             // Great, we want this. We'll be "returning" it to the pool. First,
232 |             // attach the close callback to it.
233 |             connection.channel.closeFuture.whenComplete { _ in self.poolConnectionClosed(connection, logger: logger) }
    |                                                                `- warning: capture of 'self' with non-sendable type 'ConnectionPool' in a `@Sendable` closure; this is an error in the Swift 6 language mode
234 |             self._returnConnection(connection, logger: logger)
235 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:233:90: warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
231 |             // Great, we want this. We'll be "returning" it to the pool. First,
232 |             // attach the close callback to it.
233 |             connection.channel.closeFuture.whenComplete { _ in self.poolConnectionClosed(connection, logger: logger) }
    |                                                                                          `- warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
234 |             self._returnConnection(connection, logger: logger)
235 |         }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:493:70: warning: passing non-sendable parameter 'onTimeout' to function expecting a @Sendable closure
489 |         }
490 |
491 |         mutating func scheduleDeadline(loop: EventLoop, deadline: NIODeadline, _ onTimeout: @escaping () -> Void) {
    |                                                                                  `- note: parameter 'onTimeout' is implicitly non-sendable
492 |             assert(self.timeoutTask == nil)
493 |             self.timeoutTask = loop.scheduleTask(deadline: deadline, onTimeout)
    |                                                                      `- warning: passing non-sendable parameter 'onTimeout' to function expecting a @Sendable closure
494 |         }
495 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/ConnectionPool.swift:498:25: warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
496 |         func succeed(_ connection: RedisConnection) {
497 |             self.timeoutTask?.cancel()
498 |             self.result.succeed(connection)
    |                         `- warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
499 |         }
500 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
[278/286] Emitting module RedisTypes
[279/286] Compiling RedisTypes RedisSet.swift
/Users/admin/builder/spi-builder-workspace/Sources/RedisTypes/RedisSet.swift:210:55: warning: type 'Element' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 58 | ///
 59 | /// See [https://redis.io/topics/data-types-intro#sets](https://redis.io/topics/data-types-intro#sets)
 60 | public struct RedisSet<Element> where Element: RESPValueConvertible {
    |                        `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 61 |     /// The key in Redis that this instance is a reference to.
 62 |     public var identifier: RedisKey { return self.id }
    :
208 |     public func popRandomElements(max count: Int) -> EventLoopFuture<[Element]> {
209 |         guard count >= 0 else { return self.eventLoop.makeFailedFuture(RedisError.indexOutOfRange) }
210 |         guard count >= 1 else { return self.eventLoop.makeSucceededFuture([]) }
    |                                                       `- warning: type 'Element' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
211 |         return self.send(.spop(from: self.id, max: count))
212 |             .map { return $0.compactMap(Element.init) }
[280/286] Compiling RediStackTestUtils _Deprecations.swift
[281/286] Compiling RediStackTestUtils RedisConnectionPoolIntegrationTestCase.swift
[282/286] Compiling RediStackTestUtils General.swift
[283/286] Compiling RediStackTestUtils RedisIntegrationTestCase.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStackTestUtils/RedisIntegrationTestCase.swift:69:37: warning: capture of 'self' with non-sendable type 'RedisIntegrationTestCase' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 | ///
22 | /// See `RedisConnection.make(configuration:boundEventLoop:)` to understand how connections are made.
23 | open class RedisIntegrationTestCase: XCTestCase {
   |            `- note: class 'RedisIntegrationTestCase' does not conform to the 'Sendable' protocol
24 |     /// An overridable value of the Redis instance's hostname to connect to for the test suite(s).
25 |     ///
   :
67 |             if self.connection.isConnected {
68 |                 _ = try self.connection.send(.flushall)
69 |                     .flatMap { _ in self.connection.close() }
   |                                     `- warning: capture of 'self' with non-sendable type 'RedisIntegrationTestCase' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 |                     .wait()
71 |             }
/Users/admin/builder/spi-builder-workspace/Sources/RediStackTestUtils/RedisIntegrationTestCase.swift:91:11: warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
89 |             ),
90 |             boundEventLoop: eventLoopGroup.next()
91 |         ).wait()
   |           `- warning: type 'RedisConnection' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 |     }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:99:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
 97 | ///
 98 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
 99 | public final class RedisConnection: RedisClient {
    |                    `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
100 |     /// A unique identifer to represent this connection.
101 |     public let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/RediStackTestUtils/RedisIntegrationTestCase.swift:17:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'RediStack'
15 | import NIOCore
16 | import NIOPosix
17 | import RediStack
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'RediStack'
18 | import XCTest
19 |
[284/286] Emitting module RediStackTestUtils
[285/286] Compiling RediStackTestUtils EmbeddedMockRedisServer.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStackTestUtils/EmbeddedMockRedisServer.swift:62:34: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 60 |             // We always allow this.
 61 |             let response = RESPValue.simpleString("OK".byteBuffer)
 62 |             data.responsePromise.succeed(response)
    |                                  `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 63 |
 64 |         default:
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 27 | ///
 28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
 29 | public enum RESPValue {
    |             `- note: enum 'RESPValue' does not conform to the 'Sendable' protocol
 30 |     case null
 31 |     case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStackTestUtils/EmbeddedMockRedisServer.swift:15:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'RediStack'
 13 | //===----------------------------------------------------------------------===//
 14 |
 15 | import RediStack
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'RediStack'
 16 | import XCTest
 17 | import NIOCore
/Users/admin/builder/spi-builder-workspace/Sources/RediStackTestUtils/EmbeddedMockRedisServer.swift:73:13: warning: capture of 'self' with non-sendable type 'EmbeddedMockRedisServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 26 | /// This is not really a Redis server: it's just something that lets us stub out the connection management in order to let
 27 | /// us test the connection pool.
 28 | internal final class EmbeddedMockRedisServer {
    |                      `- note: class 'EmbeddedMockRedisServer' does not conform to the 'Sendable' protocol
 29 |     var channels: ArraySlice<EmbeddedChannel> = []
 30 |     var loop: EmbeddedEventLoop = EmbeddedEventLoop()
    :
 71 |         let channel = EmbeddedChannel(handler: GracefulShutdownToCloseHandler(), loop: self.loop)
 72 |         channel.closeFuture.whenComplete { _ in
 73 |             self.channels.removeAll(where: { $0 === channel })
    |             `- warning: capture of 'self' with non-sendable type 'EmbeddedMockRedisServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 74 |         }
 75 |
[286/286] Compiling RediStackTestUtils RediStack.swift
Build complete! (46.24s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    },
    {
      "identity" : "swift-metrics",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-metrics.git"
    },
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.43.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-atomics",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.2",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-atomics.git"
    },
    {
      "identity" : "swift-service-discovery",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-service-discovery"
    }
  ],
  "manifest_display_name" : "RediStack",
  "name" : "RediStack",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "RediStack",
      "targets" : [
        "RediStack"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "RediStackTestUtils",
      "targets" : [
        "RediStackTestUtils"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "RedisTypes",
      "targets" : [
        "RedisTypes"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "RedisTypesTests",
      "module_type" : "SwiftTarget",
      "name" : "RedisTypesTests",
      "path" : "Tests/RedisTypesTests",
      "product_dependencies" : [
        "NIOCore"
      ],
      "sources" : [
        "RedisSetTests.swift",
        "RedisTypesIntegrationTestCase.swift"
      ],
      "target_dependencies" : [
        "RediStack",
        "RedisTypes",
        "RediStackTestUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RedisTypes",
      "module_type" : "SwiftTarget",
      "name" : "RedisTypes",
      "path" : "Sources/RedisTypes",
      "product_memberships" : [
        "RedisTypes"
      ],
      "sources" : [
        "RedisSet.swift"
      ],
      "target_dependencies" : [
        "RediStack"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RediStackTests",
      "module_type" : "SwiftTarget",
      "name" : "RediStackTests",
      "path" : "Tests/RediStackTests",
      "product_dependencies" : [
        "NIOCore",
        "NIOPosix",
        "NIOEmbedded",
        "NIOTestUtils"
      ],
      "sources" : [
        "ChannelHandlers/RedisByteDecoderTests.swift",
        "ChannelHandlers/RedisCommandHandlerTests.swift",
        "ChannelHandlers/RedisMessageEncoderTests.swift",
        "ConfigurationTests.swift",
        "ConnectionPoolTests.swift",
        "RESPTranslatorTests.swift",
        "RESPValueTests.swift",
        "RedisCommandTests.swift",
        "RedisConnectionTests.swift",
        "RedisKeyLifetime.swift"
      ],
      "target_dependencies" : [
        "RediStack",
        "RediStackTestUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RediStackTestUtils",
      "module_type" : "SwiftTarget",
      "name" : "RediStackTestUtils",
      "path" : "Sources/RediStackTestUtils",
      "product_dependencies" : [
        "NIOCore",
        "NIOPosix",
        "NIOEmbedded"
      ],
      "product_memberships" : [
        "RediStackTestUtils"
      ],
      "sources" : [
        "EmbeddedMockRedisServer.swift",
        "Extensions/General.swift",
        "Extensions/RediStack.swift",
        "RedisConnectionPoolIntegrationTestCase.swift",
        "RedisIntegrationTestCase.swift",
        "_Deprecations.swift"
      ],
      "target_dependencies" : [
        "RediStack"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RediStackIntegrationTests",
      "module_type" : "SwiftTarget",
      "name" : "RediStackIntegrationTests",
      "path" : "Tests/RediStackIntegrationTests",
      "product_dependencies" : [
        "NIO",
        "ServiceDiscovery"
      ],
      "sources" : [
        "Commands/ConnectionCommandsTests.swift",
        "Commands/HashCommandsTests.swift",
        "Commands/KeyCommandsTests.swift",
        "Commands/ListCommandsTests.swift",
        "Commands/PubSubCommandsTests.swift",
        "Commands/ServerCommandsTests.swift",
        "Commands/SetCommandsTests.swift",
        "Commands/SortedSetCommandsTests.swift",
        "Commands/StringCommandsTests.swift",
        "RediStackIntegrationTestCase.swift",
        "RedisConnectionPoolTests.swift",
        "RedisConnectionTests.swift",
        "RedisLoggingTests.swift",
        "RedisServiceDiscoveryTests.swift"
      ],
      "target_dependencies" : [
        "RediStack",
        "RediStackTestUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RediStack",
      "module_type" : "SwiftTarget",
      "name" : "RediStack",
      "path" : "Sources/RediStack",
      "product_dependencies" : [
        "Atomics",
        "NIOCore",
        "NIOPosix",
        "Logging",
        "Metrics",
        "ServiceDiscovery"
      ],
      "product_memberships" : [
        "RediStack",
        "RediStackTestUtils",
        "RedisTypes"
      ],
      "sources" : [
        "ChannelHandlers/RedisByteDecoder.swift",
        "ChannelHandlers/RedisCommandHandler.swift",
        "ChannelHandlers/RedisMessageEncoder.swift",
        "ChannelHandlers/RedisPubSubHandler.swift",
        "Commands/ConnectionCommands.swift",
        "Commands/HashCommands.swift",
        "Commands/KeyCommands.swift",
        "Commands/ListCommands.swift",
        "Commands/PubSubCommands.swift",
        "Commands/RedisCommand.swift",
        "Commands/ServerCommands.swift",
        "Commands/SetCommands.swift",
        "Commands/SortedSetCommands.swift",
        "Commands/StringCommands.swift",
        "ConnectionPool/ConnectionPool.swift",
        "ConnectionPool/ConnectionPoolErrors.swift",
        "Extensions/StandardLibrary.swift",
        "Extensions/SwiftNIO.swift",
        "RESP/RESPTranslator.swift",
        "RESP/RESPValue.swift",
        "RESP/RESPValueConvertible.swift",
        "RedisChannelName.swift",
        "RedisClient.swift",
        "RedisConnection+Configuration.swift",
        "RedisConnection.swift",
        "RedisConnectionPool+Configuration.swift",
        "RedisConnectionPool.swift",
        "RedisError.swift",
        "RedisKey+TTL.swift",
        "RedisKey.swift",
        "RedisLogging.swift",
        "RedisMetrics.swift",
        "_Deprecations.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/swift-server/redistack/2.0.0-gamma.1.1
Repository:               swift-server/RediStack
Swift version used:       6.0
Target:                   RediStack
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
 * branch            88815688627177b9716a01ca41da19397bd30e47 -> FETCH_HEAD
HEAD is now at 8881568 Update the artifact
Extracting symbol information for 'RediStack'...
Finished extracting symbol information for 'RediStack'. (8.04s)
Building documentation for 'RediStack'...
warning: Parameter 'key' not found in type method declaration
  --> ../Commands/ListCommands.swift:82:15-82:18
80 |     ///     It is **highly** recommended to set a reasonable `timeout` or to use the non-blocking `rpop` method where possible.
81 |     /// - Parameters:
82 +     ///     - key: The key of the list to pop from.
   |               ╰─suggestion: Replace 'key' with 'keys'
83 |     ///     - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
84 |     /// - Returns: The popped value and the key of its source list, otherwise `nil`.
warning: Parameter 'keys' is missing documentation
  --> ../Commands/ListCommands.swift:83:103-83:103
81 |     /// - Parameters:
82 |     ///     - key: The key of the list to pop from.
83 +     ///     - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
   |             ╰─suggestion: Document 'keys' parameter
84 |     /// - Returns: The popped value and the key of its source list, otherwise `nil`.
85 |     public static func brpop(from keys: [RedisKey], timeout: TimeAmount = .seconds(0)) -> RedisCommand<(RedisKey, RESPValue)?> {
warning: Parameter 'key' not found in type method declaration
  --> ../Commands/ListCommands.swift:95:15-95:18
93 |     ///     It is **highly** recommended to set a reasonable `timeout` or to use the non-blocking `rpop` method where possible.
94 |     /// - Parameters:
95 +     ///     - key: The key of the list to pop from.
   |               ╰─suggestion: Replace 'key' with 'keys'
96 |     ///     - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
97 |     /// - Returns: The popped value and the key of its source list, otherwise `nil`.
warning: Parameter 'keys' is missing documentation
  --> ../Commands/ListCommands.swift:96:103-96:103
94 |     /// - Parameters:
95 |     ///     - key: The key of the list to pop from.
96 +     ///     - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
   |             ╰─suggestion: Document 'keys' parameter
97 |     /// - Returns: The popped value and the key of its source list, otherwise `nil`.
98 |     public static func brpop(
warning: External name 'sources' used to document parameter
  --> ../Commands/SetCommands.swift:68:15-68:22
66 |     /// - Parameters:
67 |     ///     - destination: The key of the new set from the result.
68 +     ///     - sources: The list of source sets to calculate the difference of.
   |               ╰─suggestion: Replace 'sources' with 'keys'
69 |     public static func sdiffstore(as destination: RedisKey, sources keys: [RedisKey]) -> RedisCommand<Int> {
70 |         assert(!keys.isEmpty, "at least 1 key should be provided")
warning: External name 'sources' used to document parameter
  --> ../Commands/SetCommands.swift:95:15-95:22
93 |     /// - Parameters:
94 |     ///     - destination: The key of the new set from the result.
95 +     ///     - sources: A list of source sets to calculate the intersection of.
   |               ╰─suggestion: Replace 'sources' with 'keys'
96 |     public static func sinterstore(as destination: RedisKey, sources keys: [RedisKey]) -> RedisCommand<Int> {
97 |         assert(!keys.isEmpty, "at least 1 key should be provided")
warning: External name 'sources' used to document parameter
   --> ../Commands/SetCommands.swift:221:15-221:22
219 |     /// - Parameters:
220 |     ///     - destination: The key of the new set from the result.
221 +     ///     - sources: A list of source sets to calculate the union of.
    |               ╰─suggestion: Replace 'sources' with 'keys'
222 |     public static func sunionstore(as destination: RedisKey, sources keys: [RedisKey]) -> RedisCommand<Int> {
223 |         assert(!keys.isEmpty, "at least 1 key should be provided")
warning: Parameter 'key' not found in type method declaration
  --> ../Commands/SortedSetCommands.swift:87:15-87:18
85 |     ///     It is **highly** recommended to set a reasonable `timeout` or to use the non-blocking `zpopmax` method where possible.
86 |     /// - Parameters:
87 +     ///     - key: The key identifying the sorted set in Redis.
   |               ╰─suggestion: Replace 'key' with 'keys'
88 |     ///     - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
89 |     public static func bzpopmax(
warning: Parameter 'keys' is missing documentation
  --> ../Commands/SortedSetCommands.swift:88:103-88:103
86 |     /// - Parameters:
87 |     ///     - key: The key identifying the sorted set in Redis.
88 +     ///     - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
   |             ╰─suggestion: Document 'keys' parameter
89 |     public static func bzpopmax(
90 |         from keys: [RedisKey],
warning: Parameter 'key' not found in type method declaration
   --> ../Commands/SortedSetCommands.swift:100:15-100:18
98  |     ///     It is **highly** recommended to set a reasonable `timeout` or to use the non-blocking `zpopmax` method where possible.
99  |     /// - Parameters:
100 +     ///     - key: The key identifying the sorted set in Redis.
    |               ╰─suggestion: Replace 'key' with 'keys'
101 |     ///     - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
102 |     public static func bzpopmax(
warning: Parameter 'keys' is missing documentation
   --> ../Commands/SortedSetCommands.swift:101:103-101:103
99  |     /// - Parameters:
100 |     ///     - key: The key identifying the sorted set in Redis.
101 +     ///     - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
    |             ╰─suggestion: Document 'keys' parameter
102 |     public static func bzpopmax(
103 |         from keys: RedisKey...,
warning: External name 'aggregateMethod' used to document parameter
   --> ../Commands/SortedSetCommands.swift:266:15-266:30
264 |     ///     - sources: The list of sorted set keys to treat as the source of the intersection.
265 |     ///     - weights: The multiplying factor to apply to the corresponding `sources` key based on index of the two parameters.
266 +     ///     - aggregateMethod: The method of aggregating the values of the intersection. If one isn't specified, Redis will default to `.sum`.
    |               ╰─suggestion: Replace 'aggregateMethod' with 'aggregate'
267 |     public static func zinterstore(
268 |         as destination: RedisKey,
warning: External name 'limitBy' used to document parameter
   --> ../Commands/SortedSetCommands.swift:468:15-468:22
466 |     ///     - key: The key of the SortedSet that will be counted.
467 |     ///     - range: The min and max value bounds for filtering elements by.
468 +     ///     - limitBy: The optional offset and count of elements to query.
    |               ╰─suggestion: Replace 'limitBy' with 'limit'
469 |     @inlinable
470 |     public static func zrangebylex<Value: CustomStringConvertible>(
warning: Parameter 'minValue' not found in type method declaration
   --> ../Commands/SortedSetCommands.swift:503:15-503:23
501 |     /// - Parameters:
502 |     ///     - key: The key of the SortedSet.
503 +     ///     - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
    |               ╰─suggestion: Replace 'minValue' with 'maxValue'
504 |     ///     - limit: The optional offset and count of elements to query
505 |     @inlinable
warning: Parameter 'maxValue' is missing documentation
   --> ../Commands/SortedSetCommands.swift:504:72-504:72
502 |     ///     - key: The key of the SortedSet.
503 |     ///     - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
504 +     ///     - limit: The optional offset and count of elements to query
    |             ╰─suggestion: Document 'maxValue' parameter
505 |     @inlinable
506 |     public static func zrangebylex<Value: CustomStringConvertible>(
warning: External name 'limitBy' used to document parameter
   --> ../Commands/SortedSetCommands.swift:522:15-522:22
520 |     ///     - key: The key of the SortedSet that will be counted.
521 |     ///     - range: The min and max value bounds for filtering elements by.
522 +     ///     - limitBy: The optional offset and count of elements to query.
    |               ╰─suggestion: Replace 'limitBy' with 'limit'
523 |     @inlinable
524 |     public static func zrevrangebylex<Value: CustomStringConvertible>(
warning: Parameter 'minValue' not found in type method declaration
   --> ../Commands/SortedSetCommands.swift:557:15-557:23
555 |     /// - Parameters:
556 |     ///     - key: The key of the SortedSet.
557 +     ///     - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
    |               ╰─suggestion: Replace 'minValue' with 'maxValue'
558 |     ///     - limit: The optional offset and count of elements to query
559 |     @inlinable
warning: Parameter 'maxValue' is missing documentation
   --> ../Commands/SortedSetCommands.swift:558:72-558:72
556 |     ///     - key: The key of the SortedSet.
557 |     ///     - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
558 +     ///     - limit: The optional offset and count of elements to query
    |             ╰─suggestion: Document 'maxValue' parameter
559 |     @inlinable
560 |     public static func zrevrangebylex<Value: CustomStringConvertible>(
warning: Parameter 'range' not found in type method declaration
   --> ../Commands/SortedSetCommands.swift:641:13-641:117
639 |     /// - Parameters:
640 |     ///     - key: The key of the SortedSet.
641 +     ///     - range: The minimum score bound an element in the SortedSet should have to be included in the response.
    |             ╰─suggestion: Remove 'range' parameter documentation
642 |     ///     - limit: The optional offset and count of elements to query.
643 |     ///     - resultOption: What information should be returned in the result?
warning: Parameter 'minScore' is missing documentation
   --> ../Commands/SortedSetCommands.swift:643:79-643:79
641 |     ///     - range: The minimum score bound an element in the SortedSet should have to be included in the response.
642 |     ///     - limit: The optional offset and count of elements to query.
    |             ╰─suggestion: Document 'minScore' parameter
643 +     ///     - resultOption: What information should be returned in the result?
644 |     @inlinable
645 |     public static func zrangebyscore<T>(
warning: Parameter 'range' not found in type method declaration
   --> ../Commands/SortedSetCommands.swift:665:13-665:117
663 |     /// - Parameters:
664 |     ///     - key: The key of the SortedSet.
665 +     ///     - range: The maximum score bound an element in the SortedSet should have to be included in the response.
    |             ╰─suggestion: Remove 'range' parameter documentation
666 |     ///     - limit: The optional offset and count of elements to query.
667 |     ///     - resultOption: What information should be returned in the result?
warning: Parameter 'maxScore' is missing documentation
   --> ../Commands/SortedSetCommands.swift:667:79-667:79
665 |     ///     - range: The maximum score bound an element in the SortedSet should have to be included in the response.
666 |     ///     - limit: The optional offset and count of elements to query.
    |             ╰─suggestion: Document 'maxScore' parameter
667 +     ///     - resultOption: What information should be returned in the result?
668 |     @inlinable
669 |     public static func zrangebyscore<T>(
warning: Parameter 'minScore' not found in type method declaration
   --> ../Commands/SortedSetCommands.swift:865:15-865:23
863 |     /// - Parameters:
864 |     ///     - key: The key of the SortedSet to remove elements from.
865 +     ///     - minScore: The maximum score bound an element in the SortedSet should have to be removed.
    |               ╰─suggestion: Replace 'minScore' with 'maxScore'
866 |     public static func zremrangebyscore(from key: RedisKey, withMaximumScoreOf maxScore: RedisZScoreBound) -> RedisCommand<Int> {
867 |         return .zremrangebyscore(from: key, withScoresBetween: (.inclusive(-.infinity), maxScore))
warning: Parameter 'maxScore' is missing documentation
   --> ../Commands/SortedSetCommands.swift:865:103-865:103
863 |     /// - Parameters:
864 |     ///     - key: The key of the SortedSet to remove elements from.
865 +     ///     - minScore: The maximum score bound an element in the SortedSet should have to be removed.
    |                                                                                                       ╰─suggestion: Document 'maxScore' parameter
866 |     public static func zremrangebyscore(from key: RedisKey, withMaximumScoreOf maxScore: RedisZScoreBound) -> RedisCommand<Int> {
867 |         return .zremrangebyscore(from: key, withScoresBetween: (.inclusive(-.infinity), maxScore))
warning: Parameter 'range' not found in type method declaration
    --> ../Commands/SortedSetCommands.swift:1043:13-1043:117
1041 |     /// - Parameters:
1042 |     ///     - key: The key of the SortedSet.
1043 +     ///     - range: The minimum score bound an element in the SortedSet should have to be included in the response.
     |             ╰─suggestion: Remove 'range' parameter documentation
1044 |     ///     - limit: The optional offset and count of elements to query.
1045 |     ///     - resultOption: What information should be returned in the result?
warning: Parameter 'minScore' is missing documentation
    --> ../Commands/SortedSetCommands.swift:1045:79-1045:79
1043 |     ///     - range: The minimum score bound an element in the SortedSet should have to be included in the response.
1044 |     ///     - limit: The optional offset and count of elements to query.
     |             ╰─suggestion: Document 'minScore' parameter
1045 +     ///     - resultOption: What information should be returned in the result?
1046 |     @inlinable
1047 |     public static func zrevrangebyscore<T>(
warning: Parameter 'range' not found in type method declaration
    --> ../Commands/SortedSetCommands.swift:1067:13-1067:117
1065 |     /// - Parameters:
1066 |     ///     - key: The key of the SortedSet.
1067 +     ///     - range: The maximum score bound an element in the SortedSet should have to be included in the response.
     |             ╰─suggestion: Remove 'range' parameter documentation
1068 |     ///     - limit: The optional offset and count of elements to query.
1069 |     ///     - resultOption: What information should be returned in the result?
warning: Parameter 'maxScore' is missing documentation
    --> ../Commands/SortedSetCommands.swift:1069:79-1069:79
1067 |     ///     - range: The maximum score bound an element in the SortedSet should have to be included in the response.
1068 |     ///     - limit: The optional offset and count of elements to query.
     |             ╰─suggestion: Document 'maxScore' parameter
1069 +     ///     - resultOption: What information should be returned in the result?
1070 |     @inlinable
1071 |     public static func zrevrangebyscore<T>(
warning: External name 'aggregateMethod' used to document parameter
    --> ../Commands/SortedSetCommands.swift:1120:15-1120:30
1118 |     ///     - sources: The list of sorted set keys to treat as the source of the union.
1119 |     ///     - weights: The multiplying factor to apply to the corresponding `sources` key based on index of the two parameters.
1120 +     ///     - aggregateMethod: The method of aggregating the values of the union. If one isn't specified, Redis will default to `.sum`.
     |               ╰─suggestion: Replace 'aggregateMethod' with 'aggregate'
1121 |     public static func zunionstore(
1122 |         as destination: RedisKey,
warning: Parameter 'encoder' is missing documentation
   --> ../Commands/StringCommands.swift:381:95-381:95
379 |     ///     - expiration: The expiration to set on the `key` when setting the value. If `nil`, no expiration will be set.
380 |     ///     - eventLoop: An optional event loop to hop to for any further chaining on the returned event loop future.
    |             ╰─suggestion: Document 'encoder' parameter
381 +     ///     - logger: An optional logger instance to use for logs generated from this command.
382 |     /// - Returns: A `NIO.EventLoopFuture` indicating the result of the operation; `.ok` if successful and `.conditionNotMet` if the given `condition` was not meth.
383 |     ///
warning: Parameter 'encoder' is missing documentation
   --> ../Commands/StringCommands.swift:381:95-381:95
379 |     ///     - expiration: The expiration to set on the `key` when setting the value. If `nil`, no expiration will be set.
380 |     ///     - eventLoop: An optional event loop to hop to for any further chaining on the returned event loop future.
    |             ╰─suggestion: Document 'encoder' parameter
381 +     ///     - logger: An optional logger instance to use for logs generated from this command.
382 |     /// - Returns: A `NIO.EventLoopFuture` indicating the result of the operation; `.ok` if successful and `.conditionNotMet` if the given `condition` was not meth.
383 |     ///
warning: Parameter 'encoder' is missing documentation
   --> ../Commands/StringCommands.swift:381:95-381:95
379 |     ///     - expiration: The expiration to set on the `key` when setting the value. If `nil`, no expiration will be set.
380 |     ///     - eventLoop: An optional event loop to hop to for any further chaining on the returned event loop future.
    |             ╰─suggestion: Document 'encoder' parameter
381 +     ///     - logger: An optional logger instance to use for logs generated from this command.
382 |     /// - Returns: A `NIO.EventLoopFuture` indicating the result of the operation; `.ok` if successful and `.conditionNotMet` if the given `condition` was not meth.
383 |     ///
warning: 'DocumentationExtension' doesn't change default configuration and has no effect
 --> Symbol Extensions/RedisCommand.md:4:5-4:51
2 |
3 | @Metadata {
4 +     @DocumentationExtension(mergeBehavior: append)
  |     ╰─suggestion: Remove this 'DocumentationExtension' directive.
5 | }
6 |
warning: Parameter 'eventLoop' is missing documentation
   --> ../RedisConnection.swift:290:82-290:82
288 |     ///     - logger: An optional logger instance to use while trying to close the connection.
    |             ╰─suggestion: Document 'eventLoop' parameter
289 |     ///
290 +     ///       If one is not provided, the connection will use its default logger.
291 |     /// - Returns: A `NIO.EventLoopFuture` that resolves when the connection has been closed.
292 |     @discardableResultFinished building documentation for 'RediStack' (0.45s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/swift-server/redistack/2.0.0-gamma.1.1
Updating https://github.com/apple/swift-collections.git
Updating https://github.com/apple/swift-metrics.git
Updating https://github.com/apple/swift-log.git
Updating https://github.com/apple/swift-nio.git
Updating https://github.com/apple/swift-system.git
Updating https://github.com/apple/swift-service-discovery
Updating https://github.com/apple/swift-atomics.git
Updated https://github.com/apple/swift-metrics.git (0.49s)
Fetching https://github.com/swiftlang/swift-docc-plugin
Updated https://github.com/apple/swift-log.git (0.55s)
Updated https://github.com/apple/swift-service-discovery (0.55s)
Updated https://github.com/apple/swift-collections.git (0.60s)
Updated https://github.com/apple/swift-nio.git (0.74s)
Updated https://github.com/apple/swift-system.git (0.74s)
Updated https://github.com/apple/swift-atomics.git (0.74s)
[1/2038] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.25s)
Computing version for https://github.com/apple/swift-service-discovery
Computed https://github.com/apple/swift-service-discovery at 1.3.0 (0.53s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.43s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.77.0 (0.61s)
Computing version for https://github.com/apple/swift-metrics.git
Computed https://github.com/apple/swift-metrics.git at 2.5.0 (0.41s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.2 (0.41s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.4.0 (0.42s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.4 (0.62s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (0.55s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3186] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.32s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.57s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[0/8] Write sources
[3/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version--7754E27361AE5C74.txt
[6/53] Compiling SymbolKit DeclarationFragments.swift
[7/53] Compiling SymbolKit Fragment.swift
[8/53] Compiling SymbolKit FragmentKind.swift
[9/53] Compiling SymbolKit FunctionParameter.swift
[10/53] Compiling SymbolKit FunctionSignature.swift
[11/57] Compiling SymbolKit SemanticVersion.swift
[12/57] Compiling SymbolKit AccessControl.swift
[13/57] Compiling SymbolKit Availability.swift
[14/57] Compiling SymbolKit AvailabilityItem.swift
[15/57] Compiling SymbolKit Domain.swift
[16/57] Emitting module SymbolKit
[17/57] Compiling SymbolKit Names.swift
[18/57] Compiling SymbolKit SPI.swift
[19/57] Compiling SymbolKit Snippet.swift
[20/57] Compiling SymbolKit Extension.swift
[21/57] Compiling SymbolKit Mixin+Equals.swift
[22/57] Compiling SymbolKit Mixin+Hash.swift
[23/57] Compiling SymbolKit Mixin.swift
[24/57] Compiling SymbolKit LineList.swift
[25/57] Compiling SymbolKit Position.swift
[26/57] Compiling SymbolKit GenericConstraint.swift
[27/57] Compiling SymbolKit GenericParameter.swift
[28/57] Compiling SymbolKit Generics.swift
[29/57] Compiling SymbolKit Namespace.swift
[30/57] Compiling SymbolKit SourceRange.swift
[31/57] Compiling SymbolKit Metadata.swift
[32/57] Compiling SymbolKit Module.swift
[33/57] Compiling SymbolKit OperatingSystem.swift
[34/57] Compiling SymbolKit Platform.swift
[35/57] Compiling SymbolKit Relationship.swift
[36/57] Compiling SymbolKit RelationshipKind.swift
[37/57] Compiling SymbolKit SourceOrigin.swift
[38/57] Compiling SymbolKit GenericConstraints.swift
[39/57] Compiling SymbolKit Swift.swift
[40/57] Compiling SymbolKit Identifier.swift
[41/57] Compiling SymbolKit KindIdentifier.swift
[42/57] Compiling SymbolKit Location.swift
[43/57] Compiling SymbolKit Mutability.swift
[44/57] Compiling SymbolKit Symbol.swift
[45/57] Compiling SymbolKit SymbolKind.swift
[46/57] Compiling SymbolKit SymbolGraph.swift
[47/57] Compiling SymbolKit GraphCollector.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Compiling Snippets Snippet.swift
[53/57] Compiling Snippets SnippetParser.swift
[54/57] Emitting module Snippets
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.69s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/58] Compiling Atomics AtomicMemoryOrderings.swift
[3/58] Compiling Atomics DoubleWord.swift
[4/59] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[5/59] Compiling Atomics Primitives.shims.swift
[6/59] Compiling Atomics AtomicInteger.swift
[7/61] Compiling Logging MetadataProvider.swift
[8/61] Compiling Atomics ManagedAtomic.swift
[9/61] Compiling Atomics ManagedAtomicLazyReference.swift
[10/61] Compiling Atomics AtomicOptionalWrappable.swift
[11/61] Compiling Atomics AtomicReference.swift
[12/61] Compiling Atomics UnsafeAtomic.swift
[13/61] Compiling Atomics UnsafeAtomicLazyReference.swift
[16/61] Compiling Logging Locks.swift
[19/61] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[20/61] Emitting module Logging
[21/61] Compiling NIOConcurrencyHelpers NIOLock.swift
[22/61] Compiling Atomics OptionalRawRepresentable.swift
[23/61] Compiling Atomics RawRepresentable.swift
[24/61] Compiling Atomics AtomicBool.swift
[25/61] Compiling Atomics IntegerConformances.swift
[26/61] Compiling Atomics PointerConformances.swift
[27/61] Compiling Atomics Primitives.native.swift
[28/61] Compiling _NIOBase64 Base64.swift
[29/61] Emitting module _NIOBase64
[30/61] Compiling _NIODataStructures _TinyArray.swift
[31/61] Compiling _NIODataStructures PriorityQueue.swift
[32/61] Compiling _NIODataStructures Heap.swift
[33/61] Compiling Atomics IntegerOperations.swift
[34/61] Compiling Atomics Unmanaged extensions.swift
[35/61] Emitting module _NIODataStructures
[36/61] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[37/61] Compiling NIOConcurrencyHelpers lock.swift
[38/61] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[39/61] Compiling NIOConcurrencyHelpers atomics.swift
[40/61] Compiling Atomics AtomicStorage.swift
[41/61] Compiling Atomics AtomicValue.swift
[44/61] Emitting module NIOConcurrencyHelpers
[45/61] Emitting module InternalCollectionsUtilities
[50/61] Compiling CoreMetrics Locks.swift
[51/61] Compiling CoreMetrics Metrics.swift
[52/61] Emitting module CoreMetrics
[55/61] Compiling Logging LogHandler.swift
[56/61] Compiling Logging Logging.swift
[57/79] Compiling DequeModule Deque+Codable.swift
[58/79] Compiling DequeModule Deque+Collection.swift
[59/79] Compiling DequeModule Deque+Extras.swift
[60/79] Compiling DequeModule Deque+Hashable.swift
[61/79] Compiling DequeModule _DequeSlot.swift
[62/79] Compiling DequeModule _DequeBufferHeader.swift
[63/80] Emitting module Metrics
[64/80] Compiling Metrics Metrics.swift
[65/80] Compiling DequeModule _DequeBuffer.swift
[68/80] Compiling DequeModule Deque+Equatable.swift
[69/80] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[70/80] Compiling DequeModule Deque._UnsafeHandle.swift
[71/80] Compiling DequeModule Deque.swift
[72/80] Compiling DequeModule Deque+Testing.swift
[73/80] Compiling DequeModule Deque._Storage.swift
[74/80] Compiling DequeModule _UnsafeWrappedBuffer.swift
[75/80] Emitting module Atomics
[76/80] Emitting module DequeModule
[79/80] Compiling DequeModule Deque+CustomReflectable.swift
[80/80] Compiling DequeModule Deque+Descriptions.swift
[81/152] Emitting module ServiceDiscovery
[82/152] Compiling ServiceDiscovery ServiceDiscovery.swift
[83/152] Compiling ServiceDiscovery MapServiceServiceDiscovery.swift
[84/152] Compiling ServiceDiscovery ServiceDiscovery+TypeErased.swift
[85/152] Compiling ServiceDiscovery ServiceDiscovery+Combinators.swift
[86/152] Compiling ServiceDiscovery MapInstanceServiceDiscovery.swift
[87/152] Compiling ServiceDiscovery ServiceDiscovery+AsyncAwait.swift
[88/152] Compiling ServiceDiscovery HostPort.swift
[89/152] Compiling ServiceDiscovery FilterInstanceServiceDiscovery.swift
[90/152] Compiling ServiceDiscovery InMemoryServiceDiscovery.swift
[91/152] Compiling NIOCore Linux.swift
[92/152] Compiling NIOCore MarkedCircularBuffer.swift
[93/152] Compiling NIOCore MulticastChannel.swift
[94/152] Compiling NIOCore NIOAny.swift
[95/152] Compiling NIOCore NIOCloseOnErrorHandler.swift
[96/152] Compiling NIOCore NIOLoopBound.swift
[97/158] Compiling NIOCore GlobalSingletons.swift
[98/158] Compiling NIOCore IO.swift
[99/158] Compiling NIOCore IOData.swift
[100/158] Compiling NIOCore IPProtocol.swift
[101/158] Compiling NIOCore IntegerBitPacking.swift
[102/158] Compiling NIOCore IntegerTypes.swift
[103/158] Compiling NIOCore Interfaces.swift
[104/158] Compiling NIOCore SocketOptionProvider.swift
[105/158] Compiling NIOCore SystemCallHelpers.swift
[106/158] Compiling NIOCore TimeAmount+Duration.swift
[107/158] Compiling NIOCore TypeAssistedChannelHandler.swift
[108/158] Compiling NIOCore UniversalBootstrapSupport.swift
[109/158] Compiling NIOCore Utilities.swift
[110/158] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[111/158] Compiling NIOCore NIOAsyncWriter.swift
[112/158] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[113/158] Compiling NIOCore BSDSocketAPI.swift
[114/158] Compiling NIOCore ByteBuffer-aux.swift
[115/158] Compiling NIOCore ByteBuffer-binaryEncodedLengthPrefix.swift
[116/158] Compiling NIOCore ByteBuffer-conversions.swift
[117/158] Compiling NIOCore AddressedEnvelope.swift
[118/158] Compiling NIOCore AsyncAwaitSupport.swift
[119/158] Compiling NIOCore AsyncChannel.swift
[120/158] Compiling NIOCore AsyncChannelHandler.swift
[121/158] Compiling NIOCore AsyncChannelInboundStream.swift
[122/158] Compiling NIOCore AsyncChannelOutboundWriter.swift
[123/158] Compiling NIOCore NIOAsyncSequenceProducer.swift
[124/158] Compiling NIOCore NIOScheduledCallback.swift
[125/158] Compiling NIOCore NIOSendable.swift
[126/158] Compiling NIOCore PointerHelpers.swift
[127/158] Compiling NIOCore RecvByteBufferAllocator.swift
[128/158] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[129/158] Compiling NIOCore SocketAddresses.swift
[130/158] Compiling NIOCore Codec.swift
[131/158] Compiling NIOCore ConvenienceOptionSupport.swift
[132/158] Compiling NIOCore DeadChannel.swift
[133/158] Compiling NIOCore DispatchQueue+WithFuture.swift
[134/158] Compiling NIOCore EventLoop+Deprecated.swift
[135/158] Compiling NIOCore EventLoop+SerialExecutor.swift
[136/158] Compiling NIOCore EventLoop.swift
[137/158] Compiling NIOCore ByteBuffer-core.swift
[138/158] Compiling NIOCore ByteBuffer-hex.swift
[139/158] Compiling NIOCore ByteBuffer-int.swift
[140/158] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[141/158] Compiling NIOCore ByteBuffer-multi-int.swift
[142/158] Compiling NIOCore ByteBuffer-quicBinaryEncodingStrategy.swift
[143/158] Compiling NIOCore ByteBuffer-views.swift
[144/158] Compiling NIOCore Channel.swift
[145/158] Compiling NIOCore ChannelHandler.swift
[146/158] Compiling NIOCore ChannelHandlers.swift
[147/158] Compiling NIOCore ChannelInvoker.swift
[148/158] Compiling NIOCore ChannelOption.swift
[149/158] Compiling NIOCore ChannelPipeline.swift
[150/158] Compiling NIOCore CircularBuffer.swift
[151/158] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[152/158] Compiling NIOCore EventLoopFuture+Deprecated.swift
[153/158] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[154/158] Compiling NIOCore EventLoopFuture.swift
[155/158] Compiling NIOCore FileDescriptor.swift
[156/158] Compiling NIOCore FileHandle.swift
[157/158] Compiling NIOCore FileRegion.swift
[158/158] Emitting module NIOCore
[159/208] Compiling NIOPosix GetaddrinfoResolver.swift
[160/208] Compiling NIOPosix HappyEyeballs.swift
[161/208] Compiling NIOPosix IO.swift
[162/208] Compiling NIOPosix IntegerBitPacking.swift
[163/208] Compiling NIOPosix IntegerTypes.swift
[164/208] Compiling NIOPosix Linux.swift
[165/213] Compiling NIOPosix SocketProtocols.swift
[166/213] Compiling NIOPosix System.swift
[167/213] Compiling NIOPosix Thread.swift
[168/213] Compiling NIOPosix ThreadPosix.swift
[169/213] Compiling NIOPosix ThreadWindows.swift
[170/213] Compiling NIOPosix PendingWritesManager.swift
[171/213] Compiling NIOPosix PipeChannel.swift
[172/213] Compiling NIOPosix PipePair.swift
[173/213] Compiling NIOPosix PointerHelpers.swift
[174/213] Compiling NIOPosix Pool.swift
[175/213] Compiling NIOPosix Selectable.swift
[176/213] Compiling NIOPosix SelectableChannel.swift
[177/213] Compiling NIOPosix SelectableEventLoop.swift
[178/213] Compiling NIOPosix SelectorEpoll.swift
[179/213] Compiling NIOPosix SelectorGeneric.swift
[180/213] Compiling NIOPosix BSDSocketAPICommon.swift
[181/213] Compiling NIOPosix BSDSocketAPIPosix.swift
[182/213] Compiling NIOPosix BSDSocketAPIWindows.swift
[183/213] Compiling NIOPosix BaseSocket.swift
[184/213] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[185/213] Compiling NIOPosix BaseSocketChannel.swift
[186/213] Emitting module NIOPosix
[187/213] Compiling NIOPosix UnsafeTransfer.swift
[188/213] Compiling NIOPosix Utilities.swift
[189/213] Compiling NIOPosix VsockAddress.swift
[190/213] Compiling NIOPosix VsockChannelEvents.swift
[191/213] Compiling NIOPosix resource_bundle_accessor.swift
[192/213] Compiling NIOPosix BaseStreamSocketChannel.swift
[193/213] Compiling NIOPosix Bootstrap.swift
[194/213] Compiling NIOPosix ControlMessage.swift
[195/213] Compiling NIOPosix DatagramVectorReadManager.swift
[196/213] Compiling NIOPosix Errors+Any.swift
[197/213] Compiling NIOPosix FileDescriptor.swift
[198/213] Compiling NIOPosix PooledRecvBufferAllocator.swift
[199/213] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[200/213] Compiling NIOPosix PosixSingletons.swift
[201/213] Compiling NIOPosix RawSocketBootstrap.swift
[202/213] Compiling NIOPosix Resolver.swift
[203/213] Compiling NIOPosix SelectorKqueue.swift
[204/213] Compiling NIOPosix SelectorUring.swift
[205/213] Compiling NIOPosix ServerSocket.swift
[206/213] Compiling NIOPosix Socket.swift
[207/213] Compiling NIOPosix SocketChannel.swift
[208/213] Compiling NIOPosix LinuxCPUSet.swift
[209/213] Compiling NIOPosix LinuxUring.swift
[210/213] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[211/213] Compiling NIOPosix NIOThreadPool.swift
[212/213] Compiling NIOPosix NonBlockingFileIO.swift
[213/213] Compiling NIOPosix PendingDatagramWritesManager.swift
[214/244] Compiling RediStack RedisError.swift
[215/244] Compiling RediStack RedisKey+TTL.swift
[216/244] Compiling RediStack RedisKey.swift
[217/247] Compiling RediStack RedisChannelName.swift
[218/247] Compiling RediStack RedisClient.swift
[219/247] Compiling RediStack RedisConnection+Configuration.swift
[220/247] Compiling RediStack ConnectionCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/ListCommands.swift:546:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
544 | // MARK: - Shared implementations
545 | extension RedisCommand {
546 |     fileprivate static func _bpop<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
547 |         keyword: String,
548 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
[221/247] Compiling RediStack HashCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/ListCommands.swift:546:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
544 | // MARK: - Shared implementations
545 | extension RedisCommand {
546 |     fileprivate static func _bpop<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
547 |         keyword: String,
548 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
[222/247] Compiling RediStack KeyCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/ListCommands.swift:546:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
544 | // MARK: - Shared implementations
545 | extension RedisCommand {
546 |     fileprivate static func _bpop<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
547 |         keyword: String,
548 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
[223/247] Compiling RediStack ListCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/ListCommands.swift:546:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
544 | // MARK: - Shared implementations
545 | extension RedisCommand {
546 |     fileprivate static func _bpop<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
547 |         keyword: String,
548 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
[224/247] Compiling RediStack RedisByteDecoder.swift
[225/247] Compiling RediStack RedisCommandHandler.swift
[226/247] Compiling RediStack RedisMessageEncoder.swift
[227/247] Compiling RediStack RedisPubSubHandler.swift
[228/247] Emitting module RediStack
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/ListCommands.swift:546:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
544 | // MARK: - Shared implementations
545 | extension RedisCommand {
546 |     fileprivate static func _bpop<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
547 |         keyword: String,
548 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1347:36: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1345 | // MARK: - Shared implementations
1346 | extension RedisCommand {
1347 |     fileprivate static func _bzpop<ResultType>(
     |                                    `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1348 |         keyword: String,
1349 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1401:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1399 |     }
1400 |
1401 |     fileprivate static func _zpop<ResultType>(
     |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1402 |         keyword: String,
1403 |         _ count: Int?,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:503:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
501 |
502 | extension RedisCommand {
503 |     fileprivate static func _mset<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
504 |         keyword: String,
505 |         _ operations: [RedisKey: RESPValueConvertible],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
[229/247] Compiling RediStack ConnectionPoolErrors.swift
[230/247] Compiling RediStack StandardLibrary.swift
[231/247] Compiling RediStack SwiftNIO.swift
[232/247] Compiling RediStack RedisConnection.swift
[233/247] Compiling RediStack RedisConnectionPool+Configuration.swift
[234/247] Compiling RediStack RedisConnectionPool.swift
[235/247] Compiling RediStack RESPTranslator.swift
[236/247] Compiling RediStack RESPValue.swift
[237/247] Compiling RediStack RESPValueConvertible.swift
[238/247] Compiling RediStack PubSubCommands.swift
[239/247] Compiling RediStack RedisCommand.swift
[240/247] Compiling RediStack ServerCommands.swift
[241/247] Compiling RediStack SetCommands.swift
[242/247] Compiling RediStack RedisLogging.swift
[243/247] Compiling RediStack RedisMetrics.swift
[244/247] Compiling RediStack _Deprecations.swift
[245/247] Compiling RediStack SortedSetCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1347:36: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1345 | // MARK: - Shared implementations
1346 | extension RedisCommand {
1347 |     fileprivate static func _bzpop<ResultType>(
     |                                    `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1348 |         keyword: String,
1349 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1401:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1399 |     }
1400 |
1401 |     fileprivate static func _zpop<ResultType>(
     |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1402 |         keyword: String,
1403 |         _ count: Int?,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:503:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
501 |
502 | extension RedisCommand {
503 |     fileprivate static func _mset<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
504 |         keyword: String,
505 |         _ operations: [RedisKey: RESPValueConvertible],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
[246/247] Compiling RediStack StringCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1347:36: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1345 | // MARK: - Shared implementations
1346 | extension RedisCommand {
1347 |     fileprivate static func _bzpop<ResultType>(
     |                                    `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1348 |         keyword: String,
1349 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1401:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1399 |     }
1400 |
1401 |     fileprivate static func _zpop<ResultType>(
     |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1402 |         keyword: String,
1403 |         _ count: Int?,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:503:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
501 |
502 | extension RedisCommand {
503 |     fileprivate static func _mset<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
504 |         keyword: String,
505 |         _ operations: [RedisKey: RESPValueConvertible],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
[247/247] Compiling RediStack ConnectionPool.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1347:36: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1345 | // MARK: - Shared implementations
1346 | extension RedisCommand {
1347 |     fileprivate static func _bzpop<ResultType>(
     |                                    `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1348 |         keyword: String,
1349 |         _ keys: [RedisKey],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:1401:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1399 |     }
1400 |
1401 |     fileprivate static func _zpop<ResultType>(
     |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
1402 |         keyword: String,
1403 |         _ count: Int?,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:503:35: warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
501 |
502 | extension RedisCommand {
503 |     fileprivate static func _mset<ResultType>(
    |                                   `- warning: generic parameter 'ResultType' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
504 |         keyword: String,
505 |         _ operations: [RedisKey: RESPValueConvertible],
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/RedisCommand.swift:24:28: note: 'ResultType' previously declared here
 22 | ///
 23 | /// When creating a `RedisCommand`, a closure is provided for transforming an arbitrary `RESPValue` instance into the `ResultType`.
 24 | public struct RedisCommand<ResultType> {
    |                            `- note: 'ResultType' previously declared here
 25 |     public let keyword: String
 26 |     public let arguments: [RESPValue]
Build of target: 'RediStack' complete! (5.70s)
Target:                   RedisTypes
Extracting symbol information for 'RedisTypes'...
Finished extracting symbol information for 'RedisTypes'. (0.72s)
Building documentation for 'RedisTypes'...
warning: Parameter 'members' not found in instance method declaration
   --> Sources/RedisTypes/RedisSet.swift:154:21-154:28
152 |     ///
153 |     /// See `RediStack.RedisClient.srem(_:from:)`
154 +     /// - Parameter members: The element in the set to remove.
    |                     ╰─suggestion: Replace 'members' with 'member'
155 |     /// - Returns: A `NIO.EventLoopFuture<Bool>` resolving `true` if `member` was removed from the set; otherwise, `false`.
156 |     public func remove(_ member: Element) -> EventLoopFuture<Bool> {
warning: Parameter 'member' is missing documentation
   --> Sources/RedisTypes/RedisSet.swift:154:63-154:63
152 |     ///
153 |     /// See `RediStack.RedisClient.srem(_:from:)`
154 +     /// - Parameter members: The element in the set to remove.
    |                                                               ╰─suggestion: Document 'member' parameter
155 |     /// - Returns: A `NIO.EventLoopFuture<Bool>` resolving `true` if `member` was removed from the set; otherwise, `false`.
156 |     public func remove(_ member: Element) -> EventLoopFuture<Bool> {Finished building documentation for 'RedisTypes' (0.10s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/swift-server/redistack/2.0.0-gamma.1.1
Building for debugging...
[0/3] Write swift-version--7754E27361AE5C74.txt
Build of product 'snippet-extract' complete! (0.25s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/3] Emitting module RedisTypes
[3/3] Compiling RedisTypes RedisSet.swift
Build of target: 'RedisTypes' complete! (0.56s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/swift-server/redistack/2.0.0-gamma.1.1/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/swift-server/redistack/2.0.0-gamma.1.1/linkable-paths.json
Target:                   RediStackTestUtils
Extracting symbol information for 'RediStackTestUtils'...
Finished extracting symbol information for 'RediStackTestUtils'. (3.14s)
Building documentation for 'RediStackTestUtils'...
Finished building documentation for 'RediStackTestUtils' (0.05s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/swift-server/redistack/2.0.0-gamma.1.1
Building for debugging...
[0/3] Write swift-version--7754E27361AE5C74.txt
Build of product 'snippet-extract' complete! (0.24s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/5] Emitting module NIOEmbedded
[3/5] Compiling NIOEmbedded Embedded.swift
[4/5] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[5/5] Compiling NIOEmbedded AsyncTestingChannel.swift
[6/12] Compiling RediStackTestUtils _Deprecations.swift
[7/12] Compiling RediStackTestUtils RedisIntegrationTestCase.swift
[8/12] Compiling RediStackTestUtils RediStack.swift
[9/12] Compiling RediStackTestUtils RedisConnectionPoolIntegrationTestCase.swift
[10/12] Compiling RediStackTestUtils General.swift
[11/12] Emitting module RediStackTestUtils
[12/12] Compiling RediStackTestUtils EmbeddedMockRedisServer.swift
Build of target: 'RediStackTestUtils' complete! (1.24s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/swift-server/redistack/2.0.0-gamma.1.1/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/swift-server/redistack/2.0.0-gamma.1.1/linkable-paths.json
    1748
24	/Users/admin/builder/spi-builder-workspace/.docs/swift-server/redistack/2.0.0-gamma.1.1
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/swift-server/redistack/2.0.0-gamma.1.1
File count: 1748
Doc size:   24.0MB
Preparing doc bundle ...
Uploading prod-swift-server-redistack-2.0.0-gamma.1.1-22eb13de.zip to s3://spi-docs-inbox/prod-swift-server-redistack-2.0.0-gamma.1.1-22eb13de.zip
Copying... [11%]
Copying... [21%]
Copying... [30%]
Copying... [42%]
Copying... [51%]
Copying... [61%]
Copying... [70%]
Copying... [81%]
Copying... [91%]
Copying... [100%]
Done.