Build Information
Successful build of RediStack, reference 1.6.2 (622ce4
), with Swift 6.0 for macOS (SPM) on 28 Nov 2024 15:44:17 UTC.
Swift 6 data race errors: 9
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
85 |
86 | // Redis guarantees that the response format is [channel1Name, channel1Count, channel2Name, ...]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisChannelName.swift:23:15: note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
21 | /// let channel: RedisChannelName = "channel1" // or "\(channelNameVariable)"
22 | /// ```
23 | public struct RedisChannelName:
| `- note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
24 | RESPValueConvertible,
25 | RawRepresentable,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:149:54: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
147 | assert(count >= 0, "A negative max count is nonsense.")
148 |
149 | guard count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
150 |
151 | let args: [RESPValue] = [
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:189:55: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
187 | /// - Returns: The elements randomly selected from the set.
188 | public func srandmember(from key: RedisKey, max count: Int = 1) -> EventLoopFuture<[RESPValue]> {
189 | guard count != 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
190 |
191 | let args: [RESPValue] = [
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:296:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | /// - Returns: A list of elements resulting from the difference.
295 | public func sdiff(of keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
296 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
297 |
298 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:365:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
363 | /// - Returns: A list of elements resulting from the intersection.
364 | public func sinter(of keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
365 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
366 |
367 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:434:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
432 | /// - Returns: A list of elements resulting from the union.
433 | public func sunion(of keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
434 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
435 |
436 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:608:55: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
606 |
607 | if let c = count {
608 | guard c != 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
609 |
610 | args.append(.init(bulk: c))
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:119: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
117 | extension RedisSetCommandCondition {
118 | /// No condition is required to be met in order to set the key's value.
119 | 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
120 |
121 | /// Only set the key if it already exists.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:124: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
122 | ///
123 | /// Redis documentation refers to this as the option "XX".
124 | 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
125 |
126 | /// Only set the key if it does not already exist.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:129: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
127 | ///
128 | /// Redis documentation refers to this as the option "NX".
129 | 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
130 | }
131 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:166: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
133 | ///
134 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
135 | public struct RedisSetCommandExpiration: Hashable {
| `- note: consider making struct 'RedisSetCommandExpiration' conform to the 'Sendable' protocol
136 | private enum Expiration: Hashable {
137 | case keepExisting
:
164 | /// Redis documentation refers to this as "KEEPTTL".
165 | /// - 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.
166 | 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
167 |
168 | /// Expire the key after the given number of seconds.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:52:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | /// - Returns: The values stored at the keys provided, matching the same order.
51 | public func mget(_ keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
52 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 |
54 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
[725/728] Compiling RediStack SetCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/PubSubCommands.swift:76:63: warning: type 'RedisChannelName' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
74 | /// - Returns: A mapping of channel names and their (non-pattern) subscriber count.
75 | public func subscriberCount(forChannels channels: [RedisChannelName]) -> EventLoopFuture<[RedisChannelName: Int]> {
76 | guard channels.count > 0 else { return self.eventLoop.makeSucceededFuture([:]) }
| `- warning: type 'RedisChannelName' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 |
78 | var args: [RESPValue] = [.init(bulk: "NUMSUB")]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisChannelName.swift:23:15: note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
21 | /// let channel: RedisChannelName = "channel1" // or "\(channelNameVariable)"
22 | /// ```
23 | public struct RedisChannelName:
| `- note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
24 | RESPValueConvertible,
25 | RawRepresentable,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/PubSubCommands.swift:84:42: warning: capture of 'channels' with non-sendable type '[RedisChannelName]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
82 | .tryConverting(to: [RESPValue].self)
83 | .flatMapThrowing { response in
84 | assert(response.count == channels.count * 2, "Unexpected response size!")
| `- warning: capture of 'channels' with non-sendable type '[RedisChannelName]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
85 |
86 | // Redis guarantees that the response format is [channel1Name, channel1Count, channel2Name, ...]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisChannelName.swift:23:15: note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
21 | /// let channel: RedisChannelName = "channel1" // or "\(channelNameVariable)"
22 | /// ```
23 | public struct RedisChannelName:
| `- note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
24 | RESPValueConvertible,
25 | RawRepresentable,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/PubSubCommands.swift:84:42: warning: implicit capture of 'channels' requires that '[RedisChannelName]' conforms to `Sendable`; this is an error in the Swift 6 language mode
82 | .tryConverting(to: [RESPValue].self)
83 | .flatMapThrowing { response in
84 | assert(response.count == channels.count * 2, "Unexpected response size!")
| `- warning: implicit capture of 'channels' requires that '[RedisChannelName]' conforms to `Sendable`; this is an error in the Swift 6 language mode
85 |
86 | // Redis guarantees that the response format is [channel1Name, channel1Count, channel2Name, ...]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisChannelName.swift:23:15: note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
21 | /// let channel: RedisChannelName = "channel1" // or "\(channelNameVariable)"
22 | /// ```
23 | public struct RedisChannelName:
| `- note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
24 | RESPValueConvertible,
25 | RawRepresentable,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:149:54: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
147 | assert(count >= 0, "A negative max count is nonsense.")
148 |
149 | guard count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
150 |
151 | let args: [RESPValue] = [
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:189:55: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
187 | /// - Returns: The elements randomly selected from the set.
188 | public func srandmember(from key: RedisKey, max count: Int = 1) -> EventLoopFuture<[RESPValue]> {
189 | guard count != 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
190 |
191 | let args: [RESPValue] = [
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:296:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | /// - Returns: A list of elements resulting from the difference.
295 | public func sdiff(of keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
296 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
297 |
298 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:365:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
363 | /// - Returns: A list of elements resulting from the intersection.
364 | public func sinter(of keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
365 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
366 |
367 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:434:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
432 | /// - Returns: A list of elements resulting from the union.
433 | public func sunion(of keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
434 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
435 |
436 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:608:55: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
606 |
607 | if let c = count {
608 | guard c != 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
609 |
610 | args.append(.init(bulk: c))
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:119: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
117 | extension RedisSetCommandCondition {
118 | /// No condition is required to be met in order to set the key's value.
119 | 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
120 |
121 | /// Only set the key if it already exists.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:124: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
122 | ///
123 | /// Redis documentation refers to this as the option "XX".
124 | 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
125 |
126 | /// Only set the key if it does not already exist.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:129: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
127 | ///
128 | /// Redis documentation refers to this as the option "NX".
129 | 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
130 | }
131 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:166: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
133 | ///
134 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
135 | public struct RedisSetCommandExpiration: Hashable {
| `- note: consider making struct 'RedisSetCommandExpiration' conform to the 'Sendable' protocol
136 | private enum Expiration: Hashable {
137 | case keepExisting
:
164 | /// Redis documentation refers to this as "KEEPTTL".
165 | /// - 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.
166 | 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
167 |
168 | /// Expire the key after the given number of seconds.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:52:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | /// - Returns: The values stored at the keys provided, matching the same order.
51 | public func mget(_ keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
52 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 |
54 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
[726/728] Compiling RediStack SortedSetCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/PubSubCommands.swift:76:63: warning: type 'RedisChannelName' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
74 | /// - Returns: A mapping of channel names and their (non-pattern) subscriber count.
75 | public func subscriberCount(forChannels channels: [RedisChannelName]) -> EventLoopFuture<[RedisChannelName: Int]> {
76 | guard channels.count > 0 else { return self.eventLoop.makeSucceededFuture([:]) }
| `- warning: type 'RedisChannelName' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 |
78 | var args: [RESPValue] = [.init(bulk: "NUMSUB")]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisChannelName.swift:23:15: note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
21 | /// let channel: RedisChannelName = "channel1" // or "\(channelNameVariable)"
22 | /// ```
23 | public struct RedisChannelName:
| `- note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
24 | RESPValueConvertible,
25 | RawRepresentable,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/PubSubCommands.swift:84:42: warning: capture of 'channels' with non-sendable type '[RedisChannelName]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
82 | .tryConverting(to: [RESPValue].self)
83 | .flatMapThrowing { response in
84 | assert(response.count == channels.count * 2, "Unexpected response size!")
| `- warning: capture of 'channels' with non-sendable type '[RedisChannelName]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
85 |
86 | // Redis guarantees that the response format is [channel1Name, channel1Count, channel2Name, ...]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisChannelName.swift:23:15: note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
21 | /// let channel: RedisChannelName = "channel1" // or "\(channelNameVariable)"
22 | /// ```
23 | public struct RedisChannelName:
| `- note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
24 | RESPValueConvertible,
25 | RawRepresentable,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/PubSubCommands.swift:84:42: warning: implicit capture of 'channels' requires that '[RedisChannelName]' conforms to `Sendable`; this is an error in the Swift 6 language mode
82 | .tryConverting(to: [RESPValue].self)
83 | .flatMapThrowing { response in
84 | assert(response.count == channels.count * 2, "Unexpected response size!")
| `- warning: implicit capture of 'channels' requires that '[RedisChannelName]' conforms to `Sendable`; this is an error in the Swift 6 language mode
85 |
86 | // Redis guarantees that the response format is [channel1Name, channel1Count, channel2Name, ...]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisChannelName.swift:23:15: note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
21 | /// let channel: RedisChannelName = "channel1" // or "\(channelNameVariable)"
22 | /// ```
23 | public struct RedisChannelName:
| `- note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
24 | RESPValueConvertible,
25 | RawRepresentable,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:149:54: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
147 | assert(count >= 0, "A negative max count is nonsense.")
148 |
149 | guard count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
150 |
151 | let args: [RESPValue] = [
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:189:55: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
187 | /// - Returns: The elements randomly selected from the set.
188 | public func srandmember(from key: RedisKey, max count: Int = 1) -> EventLoopFuture<[RESPValue]> {
189 | guard count != 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
190 |
191 | let args: [RESPValue] = [
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:296:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | /// - Returns: A list of elements resulting from the difference.
295 | public func sdiff(of keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
296 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
297 |
298 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:365:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
363 | /// - Returns: A list of elements resulting from the intersection.
364 | public func sinter(of keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
365 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
366 |
367 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:434:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
432 | /// - Returns: A list of elements resulting from the union.
433 | public func sunion(of keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
434 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
435 |
436 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:608:55: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
606 |
607 | if let c = count {
608 | guard c != 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
609 |
610 | args.append(.init(bulk: c))
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:119: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
117 | extension RedisSetCommandCondition {
118 | /// No condition is required to be met in order to set the key's value.
119 | 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
120 |
121 | /// Only set the key if it already exists.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:124: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
122 | ///
123 | /// Redis documentation refers to this as the option "XX".
124 | 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
125 |
126 | /// Only set the key if it does not already exist.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:129: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
127 | ///
128 | /// Redis documentation refers to this as the option "NX".
129 | 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
130 | }
131 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:166: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
133 | ///
134 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
135 | public struct RedisSetCommandExpiration: Hashable {
| `- note: consider making struct 'RedisSetCommandExpiration' conform to the 'Sendable' protocol
136 | private enum Expiration: Hashable {
137 | case keepExisting
:
164 | /// Redis documentation refers to this as "KEEPTTL".
165 | /// - 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.
166 | 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
167 |
168 | /// Expire the key after the given number of seconds.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:52:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | /// - Returns: The values stored at the keys provided, matching the same order.
51 | public func mget(_ keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
52 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 |
54 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
[727/728] Compiling RediStack StringCommands.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/PubSubCommands.swift:76:63: warning: type 'RedisChannelName' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
74 | /// - Returns: A mapping of channel names and their (non-pattern) subscriber count.
75 | public func subscriberCount(forChannels channels: [RedisChannelName]) -> EventLoopFuture<[RedisChannelName: Int]> {
76 | guard channels.count > 0 else { return self.eventLoop.makeSucceededFuture([:]) }
| `- warning: type 'RedisChannelName' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 |
78 | var args: [RESPValue] = [.init(bulk: "NUMSUB")]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisChannelName.swift:23:15: note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
21 | /// let channel: RedisChannelName = "channel1" // or "\(channelNameVariable)"
22 | /// ```
23 | public struct RedisChannelName:
| `- note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
24 | RESPValueConvertible,
25 | RawRepresentable,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/PubSubCommands.swift:84:42: warning: capture of 'channels' with non-sendable type '[RedisChannelName]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
82 | .tryConverting(to: [RESPValue].self)
83 | .flatMapThrowing { response in
84 | assert(response.count == channels.count * 2, "Unexpected response size!")
| `- warning: capture of 'channels' with non-sendable type '[RedisChannelName]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
85 |
86 | // Redis guarantees that the response format is [channel1Name, channel1Count, channel2Name, ...]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisChannelName.swift:23:15: note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
21 | /// let channel: RedisChannelName = "channel1" // or "\(channelNameVariable)"
22 | /// ```
23 | public struct RedisChannelName:
| `- note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
24 | RESPValueConvertible,
25 | RawRepresentable,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/PubSubCommands.swift:84:42: warning: implicit capture of 'channels' requires that '[RedisChannelName]' conforms to `Sendable`; this is an error in the Swift 6 language mode
82 | .tryConverting(to: [RESPValue].self)
83 | .flatMapThrowing { response in
84 | assert(response.count == channels.count * 2, "Unexpected response size!")
| `- warning: implicit capture of 'channels' requires that '[RedisChannelName]' conforms to `Sendable`; this is an error in the Swift 6 language mode
85 |
86 | // Redis guarantees that the response format is [channel1Name, channel1Count, channel2Name, ...]
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisChannelName.swift:23:15: note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
21 | /// let channel: RedisChannelName = "channel1" // or "\(channelNameVariable)"
22 | /// ```
23 | public struct RedisChannelName:
| `- note: consider making struct 'RedisChannelName' conform to the 'Sendable' protocol
24 | RESPValueConvertible,
25 | RawRepresentable,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:149:54: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
147 | assert(count >= 0, "A negative max count is nonsense.")
148 |
149 | guard count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
150 |
151 | let args: [RESPValue] = [
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:189:55: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
187 | /// - Returns: The elements randomly selected from the set.
188 | public func srandmember(from key: RedisKey, max count: Int = 1) -> EventLoopFuture<[RESPValue]> {
189 | guard count != 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
190 |
191 | let args: [RESPValue] = [
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:296:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
294 | /// - Returns: A list of elements resulting from the difference.
295 | public func sdiff(of keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
296 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
297 |
298 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:365:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
363 | /// - Returns: A list of elements resulting from the intersection.
364 | public func sinter(of keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
365 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
366 |
367 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SetCommands.swift:434:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
432 | /// - Returns: A list of elements resulting from the union.
433 | public func sunion(of keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
434 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
435 |
436 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/SortedSetCommands.swift:608:55: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
606 |
607 | if let c = count {
608 | guard c != 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
609 |
610 | args.append(.init(bulk: c))
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:119: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
117 | extension RedisSetCommandCondition {
118 | /// No condition is required to be met in order to set the key's value.
119 | 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
120 |
121 | /// Only set the key if it already exists.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:124: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
122 | ///
123 | /// Redis documentation refers to this as the option "XX".
124 | 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
125 |
126 | /// Only set the key if it does not already exist.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:129: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
127 | ///
128 | /// Redis documentation refers to this as the option "NX".
129 | 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
130 | }
131 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:166: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
133 | ///
134 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
135 | public struct RedisSetCommandExpiration: Hashable {
| `- note: consider making struct 'RedisSetCommandExpiration' conform to the 'Sendable' protocol
136 | private enum Expiration: Hashable {
137 | case keepExisting
:
164 | /// Redis documentation refers to this as "KEEPTTL".
165 | /// - 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.
166 | 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
167 |
168 | /// Expire the key after the given number of seconds.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:52:59: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | /// - Returns: The values stored at the keys provided, matching the same order.
51 | public func mget(_ keys: [RedisKey]) -> EventLoopFuture<[RESPValue]> {
52 | guard keys.count > 0 else { return self.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 |
54 | let args = keys.map(RESPValue.init)
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:29:13: note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
27 | ///
28 | /// See: [https://redis.io/topics/protocol](https://redis.io/topics/protocol)
29 | public enum RESPValue {
| `- note: consider making enum 'RESPValue' conform to the 'Sendable' protocol
30 | case null
31 | case simpleString(ByteBuffer)
[728/728] Emitting module RediStack
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:119: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
117 | extension RedisSetCommandCondition {
118 | /// No condition is required to be met in order to set the key's value.
119 | 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
120 |
121 | /// Only set the key if it already exists.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:124: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
122 | ///
123 | /// Redis documentation refers to this as the option "XX".
124 | 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
125 |
126 | /// Only set the key if it does not already exist.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:129: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
97 | ///
98 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
99 | public struct RedisSetCommandCondition: Hashable {
| `- note: consider making struct 'RedisSetCommandCondition' conform to the 'Sendable' protocol
100 | private enum Condition: String, Hashable {
101 | case keyExists = "XX"
:
127 | ///
128 | /// Redis documentation refers to this as the option "NX".
129 | 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
130 | }
131 |
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/StringCommands.swift:166: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
133 | ///
134 | /// See [https://redis.io/commands/set](https://redis.io/commands/set)
135 | public struct RedisSetCommandExpiration: Hashable {
| `- note: consider making struct 'RedisSetCommandExpiration' conform to the 'Sendable' protocol
136 | private enum Expiration: Hashable {
137 | case keepExisting
:
164 | /// Redis documentation refers to this as "KEEPTTL".
165 | /// - 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.
166 | 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
167 |
168 | /// Expire the key after the given number of seconds.
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/RedisConnectionPool.swift:161: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
159 |
160 | return operation(connection)
161 | .always { _ in returnConnection(connection, context) }
| |- 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'
162 | },
163 | preferredConnection: nil,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/ConnectionPool/RedisConnectionPool.swift:161:53: warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
159 |
160 | return operation(connection)
161 | .always { _ in returnConnection(connection, context) }
| `- warning: capture of 'connection' with non-sendable type 'RedisConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 | },
163 | preferredConnection: nil,
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RedisConnection.swift:86:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
84 | ///
85 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
86 | public final class RedisConnection: RedisClient, RedisClientWithUserContext {
| `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
87 | /// A unique identifer to represent this connection.
88 | 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)
[729/737] Compiling RedisTypes RedisSet.swift
/Users/admin/builder/spi-builder-workspace/Sources/RedisTypes/RedisSet.swift:199:62: warning: type 'Element' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
57 | ///
58 | /// See [https://redis.io/topics/data-types-intro#sets](https://redis.io/topics/data-types-intro#sets)
59 | public struct RedisSet<Element> where Element: RESPValueConvertible {
| `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
60 | /// The key in Redis that this instance is a reference to.
61 | public var identifier: RedisKey { return self.id }
:
197 | public func popRandomElements(max count: Int) -> EventLoopFuture<[Element]> {
198 | guard count >= 0 else { return self.client.eventLoop.makeFailedFuture(RedisError.indexOutOfRange) }
199 | guard count >= 1 else { return self.client.eventLoop.makeSucceededFuture([]) }
| `- warning: type 'Element' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
200 | return self.client.spop(from: self.id, max: count)
201 | .map { return $0.compactMap(Element.init) }
[730/737] Emitting module RedisTypes
[731/737] Compiling RediStackTestUtils _Deprecations.swift
[732/737] Compiling RediStackTestUtils RedisConnectionPoolIntegrationTestCase.swift
/Users/admin/builder/spi-builder-workspace/Sources/RediStackTestUtils/RedisConnectionPoolIntegrationTestCase.swift:67:57: warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
65 | open override func tearDown() {
66 | do {
67 | _ = try self.pool.send(command: "FLUSHALL").wait()
| `- warning: type 'RESPValue' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
68 | } catch let err as RedisConnectionPoolError where err == .poolClosed {
69 | // Ok, this is fine.
/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/RedisConnectionPoolIntegrationTestCase.swift:16:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'RediStack'
14 |
15 | import NIOCore
16 | import RediStack
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'RediStack'
17 | import XCTest
18 | import NIOPosix
[733/737] Compiling RediStackTestUtils RediStack.swift
[734/737] 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(command: "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:86:20: note: class 'RedisConnection' does not conform to the 'Sendable' protocol
84 | ///
85 | /// Note: `wait()` is used in the example for simplicity. Never call `wait()` on an event loop.
86 | public final class RedisConnection: RedisClient, RedisClientWithUserContext {
| `- note: class 'RedisConnection' does not conform to the 'Sendable' protocol
87 | /// A unique identifer to represent this connection.
88 | public let id = UUID()
/Users/admin/builder/spi-builder-workspace/Sources/RediStackTestUtils/RedisIntegrationTestCase.swift:16:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'RediStack'
14 |
15 | import NIOCore
16 | import RediStack
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'RediStack'
17 | import NIOPosix
18 | import XCTest
[735/737] Compiling RediStackTestUtils General.swift
[736/737] 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 |
[737/737] Emitting module RediStackTestUtils
Build complete! (40.85s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-atomics",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-atomics.git"
},
{
"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-nio-ssl",
"requirement" : {
"range" : [
{
"lower_bound" : "2.23.1",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio-ssl.git"
}
],
"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" : [
"NIO"
],
"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" : [
"Atomics",
"NIO",
"NIOTestUtils"
],
"sources" : [
"ChannelHandlers/RedisByteDecoderTests.swift",
"ChannelHandlers/RedisCommandHandlerTests.swift",
"ChannelHandlers/RedisMessageEncoderTests.swift",
"Cluster/RedisClusterNodeDescriptionProtocolTests.swift",
"ConfigurationTests.swift",
"ConnectionPoolTests.swift",
"Helpers/MockNodeDescription.swift",
"Helpers/RedisErrorTests.swift",
"RESPTranslatorTests.swift",
"RESPValueTests.swift",
"RedisCommandEncoderTests.swift",
"RedisConnection+ConfigurationTests.swift",
"RedisConnectionTests.swift",
"RedisHashSlotTests.swift",
"RedisKeyLifetime.swift"
],
"target_dependencies" : [
"RediStack",
"RediStackTestUtils"
],
"type" : "test"
},
{
"c99name" : "RediStackTestUtils",
"module_type" : "SwiftTarget",
"name" : "RediStackTestUtils",
"path" : "Sources/RediStackTestUtils",
"product_dependencies" : [
"NIOCore",
"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"
],
"sources" : [
"Commands/BasicCommandsTests.swift",
"Commands/HashCommandsTests.swift",
"Commands/ListCommandsTests.swift",
"Commands/PubSubCommandsTests.swift",
"Commands/SetCommandsTests.swift",
"Commands/SortedSetCommandsTests.swift",
"Commands/StringCommandsTests.swift",
"RediStackIntegrationTestCase.swift",
"RedisConnectionPoolTests.swift",
"RedisConnectionTests.swift",
"RedisLoggingTests.swift"
],
"target_dependencies" : [
"RediStack",
"RediStackTestUtils"
],
"type" : "test"
},
{
"c99name" : "RediStack",
"module_type" : "SwiftTarget",
"name" : "RediStack",
"path" : "Sources/RediStack",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"NIO",
"NIOConcurrencyHelpers",
"NIOSSL",
"Atomics",
"Logging",
"Metrics"
],
"product_memberships" : [
"RediStack",
"RediStackTestUtils",
"RedisTypes"
],
"sources" : [
"ChannelHandlers/RedisByteDecoder.swift",
"ChannelHandlers/RedisCommandHandler.swift",
"ChannelHandlers/RedisMessageEncoder.swift",
"ChannelHandlers/RedisPubSubHandler.swift",
"Cluster/RedisClusterNodeDescriptionProtocol.swift",
"Cluster/RedisClusterNodeID.swift",
"Cluster/RedisClusterShardDescriptionProtocol.swift",
"Cluster/RedisHashSlot.swift",
"Cluster/SwiftPolyfill.swift",
"Commands/BasicCommands.swift",
"Commands/HashCommands.swift",
"Commands/ListCommands.swift",
"Commands/PubSubCommands.swift",
"Commands/SetCommands.swift",
"Commands/SortedSetCommands.swift",
"Commands/StringCommands.swift",
"ConnectionPool/ConnectionPool.swift",
"ConnectionPool/RedisConnectionPool+Configuration.swift",
"ConnectionPool/RedisConnectionPool.swift",
"ConnectionPool/RedisConnectionPoolError.swift",
"Extensions/StandardLibrary.swift",
"Extensions/SwiftNIO.swift",
"RESP/RESPTranslator.swift",
"RESP/RESPValue.swift",
"RESP/RESPValueConvertible.swift",
"RedisChannelName.swift",
"RedisClient.swift",
"RedisCommandEncoder-multi-encode.swift",
"RedisCommandEncoder.swift",
"RedisConnection+Configuration.swift",
"RedisConnection.swift",
"RedisError.swift",
"RedisKey+TTL.swift",
"RedisKey.swift",
"RedisLogging.swift",
"RedisMetrics.swift",
"_Deprecations.swift"
],
"type" : "library"
},
{
"c99name" : "RESP3Tests",
"module_type" : "SwiftTarget",
"name" : "RESP3Tests",
"path" : "Tests/RESP3Tests",
"product_dependencies" : [
"NIOCore",
"NIOEmbedded",
"NIOTestUtils"
],
"sources" : [
"RESP3TokenTests.swift"
],
"target_dependencies" : [
"RESP3"
],
"type" : "test"
},
{
"c99name" : "RESP3",
"module_type" : "SwiftTarget",
"name" : "RESP3",
"path" : "Sources/RESP3",
"product_dependencies" : [
"NIOCore"
],
"sources" : [
"RESP3Error.swift",
"RESP3Token.swift",
"RESP3TokenDecoder.swift",
"RESP3TypeIdentifier.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/swift-server/redistack/1.6.2
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'. (10.58s)
Building documentation for 'RediStack'...
warning: 'HashSlot' doesn't exist at '/RediStack/RedisHashSlot/init(key:)'
--> Sources/RediStack/Cluster/RedisHashSlot.swift:96:47-96:55
94 |
95 | extension RedisHashSlot {
96 + /// Creates a slot for a given `key`. A ``HashSlot`` is used to determine which shard to connect to.
97 | /// - Parameter key: The key used in a redis command
98 | public init(key: String) {
warning: Parameter 'type' not found in instance method declaration
--> Sources/RediStack/Commands/ListCommands.swift:548:13-548:54
546 | /// - source: The key of the list to pop from.
547 | /// - dest: The key of the list to push to.
548 + /// - type: The type to convert the value to.
| ╰─suggestion: Remove 'type' parameter documentation
549 | /// - Returns: The element that was moved. This value is `nil` if the `RESPValue` conversion failed.
550 | @inlinable
warning: Parameter 'type' not found in instance method declaration
--> Sources/RediStack/Commands/ListCommands.swift:548:13-548:54
546 | /// - source: The key of the list to pop from.
547 | /// - dest: The key of the list to push to.
548 + /// - type: The type to convert the value to.
| ╰─suggestion: Remove 'type' parameter documentation
549 | /// - Returns: The element that was moved. This value is `nil` if the `RESPValue` conversion failed.
550 | @inlinable
warning: Parameter 'type' not found in instance method declaration
--> Sources/RediStack/Commands/ListCommands.swift:548:13-548:54
546 | /// - source: The key of the list to pop from.
547 | /// - dest: The key of the list to push to.
548 + /// - type: The type to convert the value to.
| ╰─suggestion: Remove 'type' parameter documentation
549 | /// - Returns: The element that was moved. This value is `nil` if the `RESPValue` conversion failed.
550 | @inlinable
warning: Parameter 'valueType' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:548:54-548:54
546 | /// - source: The key of the list to pop from.
547 | /// - dest: The key of the list to push to.
548 + /// - type: The type to convert the value to.
| ╰─suggestion: Document 'valueType' parameter
549 | /// - Returns: The element that was moved. This value is `nil` if the `RESPValue` conversion failed.
550 | @inlinable
warning: Parameter 'valueType' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:548:54-548:54
546 | /// - source: The key of the list to pop from.
547 | /// - dest: The key of the list to push to.
548 + /// - type: The type to convert the value to.
| ╰─suggestion: Document 'valueType' parameter
549 | /// - Returns: The element that was moved. This value is `nil` if the `RESPValue` conversion failed.
550 | @inlinable
warning: Parameter 'valueType' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:548:54-548:54
546 | /// - source: The key of the list to pop from.
547 | /// - dest: The key of the list to push to.
548 + /// - type: The type to convert the value to.
| ╰─suggestion: Document 'valueType' parameter
549 | /// - Returns: The element that was moved. This value is `nil` if the `RESPValue` conversion failed.
550 | @inlinable
warning: Parameter 'type' not found in instance method declaration
--> Sources/RediStack/Commands/ListCommands.swift:605:13-605:54
603 | /// - dest: The key of the list to push to.
604 | /// - timeout: The max time to wait for a value to use. `0` seconds means to wait indefinitely.
605 + /// - type: The type to convert the value to.
| ╰─suggestion: Remove 'type' parameter documentation
606 | /// - Returns: The element popped from the source list and pushed to the destination.
607 | /// If the timeout was reached or `RESPValue` conversion failed, the returned value will be `nil`.
warning: Parameter 'type' not found in instance method declaration
--> Sources/RediStack/Commands/ListCommands.swift:605:13-605:54
603 | /// - dest: The key of the list to push to.
604 | /// - timeout: The max time to wait for a value to use. `0` seconds means to wait indefinitely.
605 + /// - type: The type to convert the value to.
| ╰─suggestion: Remove 'type' parameter documentation
606 | /// - Returns: The element popped from the source list and pushed to the destination.
607 | /// If the timeout was reached or `RESPValue` conversion failed, the returned value will be `nil`.
warning: Parameter 'type' not found in instance method declaration
--> Sources/RediStack/Commands/ListCommands.swift:605:13-605:54
603 | /// - dest: The key of the list to push to.
604 | /// - timeout: The max time to wait for a value to use. `0` seconds means to wait indefinitely.
605 + /// - type: The type to convert the value to.
| ╰─suggestion: Remove 'type' parameter documentation
606 | /// - Returns: The element popped from the source list and pushed to the destination.
607 | /// If the timeout was reached or `RESPValue` conversion failed, the returned value will be `nil`.
warning: Parameter 'valueType' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:605:54-605:54
603 | /// - dest: The key of the list to push to.
604 | /// - timeout: The max time to wait for a value to use. `0` seconds means to wait indefinitely.
605 + /// - type: The type to convert the value to.
| ╰─suggestion: Document 'valueType' parameter
606 | /// - Returns: The element popped from the source list and pushed to the destination.
607 | /// If the timeout was reached or `RESPValue` conversion failed, the returned value will be `nil`.
warning: Parameter 'valueType' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:605:54-605:54
603 | /// - dest: The key of the list to push to.
604 | /// - timeout: The max time to wait for a value to use. `0` seconds means to wait indefinitely.
605 + /// - type: The type to convert the value to.
| ╰─suggestion: Document 'valueType' parameter
606 | /// - Returns: The element popped from the source list and pushed to the destination.
607 | /// If the timeout was reached or `RESPValue` conversion failed, the returned value will be `nil`.
warning: Parameter 'valueType' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:605:54-605:54
603 | /// - dest: The key of the list to push to.
604 | /// - timeout: The max time to wait for a value to use. `0` seconds means to wait indefinitely.
605 + /// - type: The type to convert the value to.
| ╰─suggestion: Document 'valueType' parameter
606 | /// - Returns: The element popped from the source list and pushed to the destination.
607 | /// If the timeout was reached or `RESPValue` conversion failed, the returned value will be `nil`.
warning: Parameter 'type' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:768:58-768:58
766 | ///
767 | /// See [https://redis.io/commands/rpop](https://redis.io/commands/rpop)
768 + /// - Parameter key: The key of the list to pop from.
| ╰─suggestion: Document 'type' parameter
769 | /// - Returns: The element that was popped from the list. If the list is empty or the `RESPValue` conversion fails, this value is `nil`.
770 | @inlinable
warning: Parameter 'type' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:768:58-768:58
766 | ///
767 | /// See [https://redis.io/commands/rpop](https://redis.io/commands/rpop)
768 + /// - Parameter key: The key of the list to pop from.
| ╰─suggestion: Document 'type' parameter
769 | /// - Returns: The element that was popped from the list. If the list is empty or the `RESPValue` conversion fails, this value is `nil`.
770 | @inlinable
warning: Parameter 'type' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:768:58-768:58
766 | ///
767 | /// See [https://redis.io/commands/rpop](https://redis.io/commands/rpop)
768 + /// - Parameter key: The key of the list to pop from.
| ╰─suggestion: Document 'type' parameter
769 | /// - Returns: The element that was popped from the list. If the list is empty or the `RESPValue` conversion fails, this value is `nil`.
770 | @inlinable
warning: Parameter 'valueType' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:1052:103-1052:103
1050 | /// - Parameters:
1051 | /// - keys: The keys of lists in Redis that should be popped from.
1052 + /// - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
| ╰─suggestion: Document 'valueType' parameter
1053 | /// - Returns:
1054 | /// If timeout was reached or `RESPValue` conversion failed, `nil`.
warning: Parameter 'valueType' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:1052:103-1052:103
1050 | /// - Parameters:
1051 | /// - keys: The keys of lists in Redis that should be popped from.
1052 + /// - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
| ╰─suggestion: Document 'valueType' parameter
1053 | /// - Returns:
1054 | /// If timeout was reached or `RESPValue` conversion failed, `nil`.
warning: Parameter 'valueType' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:1052:103-1052:103
1050 | /// - Parameters:
1051 | /// - keys: The keys of lists in Redis that should be popped from.
1052 + /// - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
| ╰─suggestion: Document 'valueType' parameter
1053 | /// - Returns:
1054 | /// If timeout was reached or `RESPValue` conversion failed, `nil`.
warning: Parameter 'valueType' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:1106:103-1106:103
1104 | /// - Parameters:
1105 | /// - keys: The keys of lists in Redis that should be popped from.
1106 + /// - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
| ╰─suggestion: Document 'valueType' parameter
1107 | /// - Returns:
1108 | /// If timeout was reached or `RESPValue` conversion failed, `nil`.
warning: Parameter 'valueType' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:1106:103-1106:103
1104 | /// - Parameters:
1105 | /// - keys: The keys of lists in Redis that should be popped from.
1106 + /// - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
| ╰─suggestion: Document 'valueType' parameter
1107 | /// - Returns:
1108 | /// If timeout was reached or `RESPValue` conversion failed, `nil`.
warning: Parameter 'valueType' is missing documentation
--> Sources/RediStack/Commands/ListCommands.swift:1106:103-1106:103
1104 | /// - Parameters:
1105 | /// - keys: The keys of lists in Redis that should be popped from.
1106 + /// - timeout: The max time to wait for a value to use. `0`seconds means to wait indefinitely.
| ╰─suggestion: Document 'valueType' parameter
1107 | /// - Returns:
1108 | /// If timeout was reached or `RESPValue` conversion failed, `nil`.
warning: Parameter 'type' is missing documentation
--> Sources/RediStack/Commands/SetCommands.swift:205:72-205:72
203 | /// - key: The key of the set.
204 | /// - type; The type to convert the values to.
205 + /// - count: The max number of elements to select from the set.
| ╰─suggestion: Document 'type' parameter
206 | /// - Returns: The elements randomly selected from the set. Elements that fail the `RESPValue` conversion will be `nil`.
207 | @inlinable
warning: Parameter 'type' is missing documentation
--> Sources/RediStack/Commands/SetCommands.swift:205:72-205:72
203 | /// - key: The key of the set.
204 | /// - type; The type to convert the values to.
205 + /// - count: The max number of elements to select from the set.
| ╰─suggestion: Document 'type' parameter
206 | /// - Returns: The elements randomly selected from the set. Elements that fail the `RESPValue` conversion will be `nil`.
207 | @inlinable
warning: Parameter 'type' is missing documentation
--> Sources/RediStack/Commands/SetCommands.swift:205:72-205:72
203 | /// - key: The key of the set.
204 | /// - type; The type to convert the values to.
205 + /// - count: The max number of elements to select from the set.
| ╰─suggestion: Document 'type' parameter
206 | /// - Returns: The elements randomly selected from the set. Elements that fail the `RESPValue` conversion will be `nil`.
207 | @inlinable
warning: External name 'sources' used to document parameter
--> Sources/RediStack/Commands/SetCommands.swift:343:15-343:22
341 | /// - Parameters:
342 | /// - destination: The key of the new set from the result.
343 + /// - sources: The list of source sets to calculate the difference of.
| ╰─suggestion: Replace 'sources' with 'keys'
344 | /// - Returns: The number of elements in the difference result.
345 | public func sdiffstore(as destination: RedisKey, sources keys: [RedisKey]) -> EventLoopFuture<Int> {
warning: External name 'sources' used to document parameter
--> Sources/RediStack/Commands/SetCommands.swift:343:15-343:22
341 | /// - Parameters:
342 | /// - destination: The key of the new set from the result.
343 + /// - sources: The list of source sets to calculate the difference of.
| ╰─suggestion: Replace 'sources' with 'keys'
344 | /// - Returns: The number of elements in the difference result.
345 | public func sdiffstore(as destination: RedisKey, sources keys: [RedisKey]) -> EventLoopFuture<Int> {
warning: External name 'sources' used to document parameter
--> Sources/RediStack/Commands/SetCommands.swift:343:15-343:22
341 | /// - Parameters:
342 | /// - destination: The key of the new set from the result.
343 + /// - sources: The list of source sets to calculate the difference of.
| ╰─suggestion: Replace 'sources' with 'keys'
344 | /// - Returns: The number of elements in the difference result.
345 | public func sdiffstore(as destination: RedisKey, sources keys: [RedisKey]) -> EventLoopFuture<Int> {
warning: External name 'sources' used to document parameter
--> Sources/RediStack/Commands/SetCommands.swift:412:15-412:22
410 | /// - Parameters:
411 | /// - destination: The key of the new set from the result.
412 + /// - sources: A list of source sets to calculate the intersection of.
| ╰─suggestion: Replace 'sources' with 'keys'
413 | /// - Returns: The number of elements in the intersection result.
414 | public func sinterstore(as destination: RedisKey, sources keys: [RedisKey]) -> EventLoopFuture<Int> {
warning: External name 'sources' used to document parameter
--> Sources/RediStack/Commands/SetCommands.swift:412:15-412:22
410 | /// - Parameters:
411 | /// - destination: The key of the new set from the result.
412 + /// - sources: A list of source sets to calculate the intersection of.
| ╰─suggestion: Replace 'sources' with 'keys'
413 | /// - Returns: The number of elements in the intersection result.
414 | public func sinterstore(as destination: RedisKey, sources keys: [RedisKey]) -> EventLoopFuture<Int> {
warning: External name 'sources' used to document parameter
--> Sources/RediStack/Commands/SetCommands.swift:412:15-412:22
410 | /// - Parameters:
411 | /// - destination: The key of the new set from the result.
412 + /// - sources: A list of source sets to calculate the intersection of.
| ╰─suggestion: Replace 'sources' with 'keys'
413 | /// - Returns: The number of elements in the intersection result.
414 | public func sinterstore(as destination: RedisKey, sources keys: [RedisKey]) -> EventLoopFuture<Int> {
warning: External name 'sources' used to document parameter
--> Sources/RediStack/Commands/SetCommands.swift:481:15-481:22
479 | /// - Parameters:
480 | /// - destination: The key of the new set from the result.
481 + /// - sources: A list of source sets to calculate the union of.
| ╰─suggestion: Replace 'sources' with 'keys'
482 | /// - Returns: The number of elements in the union result.
483 | public func sunionstore(as destination: RedisKey, sources keys: [RedisKey]) -> EventLoopFuture<Int> {
warning: External name 'sources' used to document parameter
--> Sources/RediStack/Commands/SetCommands.swift:481:15-481:22
479 | /// - Parameters:
480 | /// - destination: The key of the new set from the result.
481 + /// - sources: A list of source sets to calculate the union of.
| ╰─suggestion: Replace 'sources' with 'keys'
482 | /// - Returns: The number of elements in the union result.
483 | public func sunionstore(as destination: RedisKey, sources keys: [RedisKey]) -> EventLoopFuture<Int> {
warning: External name 'sources' used to document parameter
--> Sources/RediStack/Commands/SetCommands.swift:481:15-481:22
479 | /// - Parameters:
480 | /// - destination: The key of the new set from the result.
481 + /// - sources: A list of source sets to calculate the union of.
| ╰─suggestion: Replace 'sources' with 'keys'
482 | /// - Returns: The number of elements in the union result.
483 | public func sunionstore(as destination: RedisKey, sources keys: [RedisKey]) -> EventLoopFuture<Int> {
warning: Parameter 'exclusive' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:428:13-428:137
426 | /// - key: The key of the SortedSet that will be counted.
427 | /// - maxScore: The maximum score bound an element in the SortedSet should have in order to be counted.
428 + /// - exclusive: Should the `maxScore` provided be exclusive? If `true`, scores matching the `maxScore` will **not** be counted.
| ╰─suggestion: Remove 'exclusive' parameter documentation
429 | /// - Returns: The count of elements in the SortedSet below the `maxScore` threshold.
430 | public func zcount(of key: RedisKey, withMaximumScoreOf maxScore: RedisZScoreBound) -> EventLoopFuture<Int> {
warning: Parameter 'exclusive' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:428:13-428:137
426 | /// - key: The key of the SortedSet that will be counted.
427 | /// - maxScore: The maximum score bound an element in the SortedSet should have in order to be counted.
428 + /// - exclusive: Should the `maxScore` provided be exclusive? If `true`, scores matching the `maxScore` will **not** be counted.
| ╰─suggestion: Remove 'exclusive' parameter documentation
429 | /// - Returns: The count of elements in the SortedSet below the `maxScore` threshold.
430 | public func zcount(of key: RedisKey, withMaximumScoreOf maxScore: RedisZScoreBound) -> EventLoopFuture<Int> {
warning: Parameter 'exclusive' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:428:13-428:137
426 | /// - key: The key of the SortedSet that will be counted.
427 | /// - maxScore: The maximum score bound an element in the SortedSet should have in order to be counted.
428 + /// - exclusive: Should the `maxScore` provided be exclusive? If `true`, scores matching the `maxScore` will **not** be counted.
| ╰─suggestion: Remove 'exclusive' parameter documentation
429 | /// - Returns: The count of elements in the SortedSet below the `maxScore` threshold.
430 | public func zcount(of key: RedisKey, withMaximumScoreOf maxScore: RedisZScoreBound) -> EventLoopFuture<Int> {
warning: External name 'aggregateMethod' used to document parameter
--> Sources/RediStack/Commands/SortedSetCommands.swift:811:15-811:30
809 | /// - sources: The list of sorted set keys to treat as the source of the union.
810 | /// - weights: The multiplying factor to apply to the corresponding `sources` key based on index of the two parameters.
811 + /// - 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'
812 | /// - Returns: The number of elements in the new sorted set.
813 | public func zunionstore(
warning: External name 'aggregateMethod' used to document parameter
--> Sources/RediStack/Commands/SortedSetCommands.swift:811:15-811:30
809 | /// - sources: The list of sorted set keys to treat as the source of the union.
810 | /// - weights: The multiplying factor to apply to the corresponding `sources` key based on index of the two parameters.
811 + /// - 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'
812 | /// - Returns: The number of elements in the new sorted set.
813 | public func zunionstore(
warning: External name 'aggregateMethod' used to document parameter
--> Sources/RediStack/Commands/SortedSetCommands.swift:811:15-811:30
809 | /// - sources: The list of sorted set keys to treat as the source of the union.
810 | /// - weights: The multiplying factor to apply to the corresponding `sources` key based on index of the two parameters.
811 + /// - 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'
812 | /// - Returns: The number of elements in the new sorted set.
813 | public func zunionstore(
warning: External name 'aggregateMethod' used to document parameter
--> Sources/RediStack/Commands/SortedSetCommands.swift:830:15-830:30
828 | /// - sources: The list of sorted set keys to treat as the source of the intersection.
829 | /// - weights: The multiplying factor to apply to the corresponding `sources` key based on index of the two parameters.
830 + /// - 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'
831 | /// - Returns: The number of elements in the new sorted set.
832 | public func zinterstore(
warning: External name 'aggregateMethod' used to document parameter
--> Sources/RediStack/Commands/SortedSetCommands.swift:830:15-830:30
828 | /// - sources: The list of sorted set keys to treat as the source of the intersection.
829 | /// - weights: The multiplying factor to apply to the corresponding `sources` key based on index of the two parameters.
830 + /// - 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'
831 | /// - Returns: The number of elements in the new sorted set.
832 | public func zinterstore(
warning: External name 'aggregateMethod' used to document parameter
--> Sources/RediStack/Commands/SortedSetCommands.swift:830:15-830:30
828 | /// - sources: The list of sorted set keys to treat as the source of the intersection.
829 | /// - weights: The multiplying factor to apply to the corresponding `sources` key based on index of the two parameters.
830 + /// - 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'
831 | /// - Returns: The number of elements in the new sorted set.
832 | public func zinterstore(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:886:101-886:101
884 | /// - key: The key of the SortedSet
885 | /// - firstIndex: The index of the first element to include in the range of elements returned.
886 + /// - lastIndex: The index of the last element to include in the range of elements returned.
| ╰─suggestion: Document 'includeScores' parameter
887 | /// - Returns: An array of elements found within the range specified.
888 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:886:101-886:101
884 | /// - key: The key of the SortedSet
885 | /// - firstIndex: The index of the first element to include in the range of elements returned.
886 + /// - lastIndex: The index of the last element to include in the range of elements returned.
| ╰─suggestion: Document 'includeScores' parameter
887 | /// - Returns: An array of elements found within the range specified.
888 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:886:101-886:101
884 | /// - key: The key of the SortedSet
885 | /// - firstIndex: The index of the first element to include in the range of elements returned.
886 + /// - lastIndex: The index of the last element to include in the range of elements returned.
| ╰─suggestion: Document 'includeScores' parameter
887 | /// - Returns: An array of elements found within the range specified.
888 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:929:72-929:72
927 | /// - Parameters:
928 | /// - key: The key of the SortedSet to return elements from.
929 + /// - range: The range of inclusive indices of elements to get.
| ╰─suggestion: Document 'includeScores' parameter
930 | /// - Returns: An array of elements found within the range specified.
931 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:929:72-929:72
927 | /// - Parameters:
928 | /// - key: The key of the SortedSet to return elements from.
929 + /// - range: The range of inclusive indices of elements to get.
| ╰─suggestion: Document 'includeScores' parameter
930 | /// - Returns: An array of elements found within the range specified.
931 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:929:72-929:72
927 | /// - Parameters:
928 | /// - key: The key of the SortedSet to return elements from.
929 + /// - range: The range of inclusive indices of elements to get.
| ╰─suggestion: Document 'includeScores' parameter
930 | /// - Returns: An array of elements found within the range specified.
931 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:971:94-971:94
969 | /// - Parameters:
970 | /// - key: The key of the SortedSet to return elements from.
971 + /// - range: The range of indices (inclusive lower, exclusive upper) elements to get.
| ╰─suggestion: Document 'includeScores' parameter
972 | /// - Returns: An array of elements found within the range specified.
973 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:971:94-971:94
969 | /// - Parameters:
970 | /// - key: The key of the SortedSet to return elements from.
971 + /// - range: The range of indices (inclusive lower, exclusive upper) elements to get.
| ╰─suggestion: Document 'includeScores' parameter
972 | /// - Returns: An array of elements found within the range specified.
973 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:971:94-971:94
969 | /// - Parameters:
970 | /// - key: The key of the SortedSet to return elements from.
971 + /// - range: The range of indices (inclusive lower, exclusive upper) elements to get.
| ╰─suggestion: Document 'includeScores' parameter
972 | /// - Returns: An array of elements found within the range specified.
973 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:999:89-999:89
997 | /// - Parameters:
998 | /// - key: The key of the SortedSet to return elements from.
999 + /// - index: The index of the first element that will be in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1000 | /// - Returns: An array of elements from the SortedSet between the index and the end.
1001 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:999:89-999:89
997 | /// - Parameters:
998 | /// - key: The key of the SortedSet to return elements from.
999 + /// - index: The index of the first element that will be in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1000 | /// - Returns: An array of elements from the SortedSet between the index and the end.
1001 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:999:89-999:89
997 | /// - Parameters:
998 | /// - key: The key of the SortedSet to return elements from.
999 + /// - index: The index of the first element that will be in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1000 | /// - Returns: An array of elements from the SortedSet between the index and the end.
1001 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1027:88-1027:88
1025 | /// - Parameters:
1026 | /// - key: The key of the SortedSet to return elements from.
1027 + /// - index: The index of the last element that will be in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1028 | /// - Returns: An array of elements from the start of a SortedSet to the index.
1029 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1027:88-1027:88
1025 | /// - Parameters:
1026 | /// - key: The key of the SortedSet to return elements from.
1027 + /// - index: The index of the last element that will be in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1028 | /// - Returns: An array of elements from the start of a SortedSet to the index.
1029 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1027:88-1027:88
1025 | /// - Parameters:
1026 | /// - key: The key of the SortedSet to return elements from.
1027 + /// - index: The index of the last element that will be in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1028 | /// - Returns: An array of elements from the start of a SortedSet to the index.
1029 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1055:90-1055:90
1053 | /// - Parameters:
1054 | /// - key: The key of the SortedSet to return elements from.
1055 + /// - index: The index of the last element to not include in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1056 | /// - Returns: An array of elements from the start of the SortedSet and up to the index.
1057 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1055:90-1055:90
1053 | /// - Parameters:
1054 | /// - key: The key of the SortedSet to return elements from.
1055 + /// - index: The index of the last element to not include in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1056 | /// - Returns: An array of elements from the start of the SortedSet and up to the index.
1057 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1055:90-1055:90
1053 | /// - Parameters:
1054 | /// - key: The key of the SortedSet to return elements from.
1055 + /// - index: The index of the last element to not include in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1056 | /// - Returns: An array of elements from the start of the SortedSet and up to the index.
1057 | public func zrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1074:101-1074:101
1072 | /// - key: The key of the SortedSet
1073 | /// - firstIndex: The index of the first element to include in the range of elements returned.
1074 + /// - lastIndex: The index of the last element to include in the range of elements returned.
| ╰─suggestion: Document 'includeScores' parameter
1075 | /// - Returns: An array of elements found within the range specified.
1076 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1074:101-1074:101
1072 | /// - key: The key of the SortedSet
1073 | /// - firstIndex: The index of the first element to include in the range of elements returned.
1074 + /// - lastIndex: The index of the last element to include in the range of elements returned.
| ╰─suggestion: Document 'includeScores' parameter
1075 | /// - Returns: An array of elements found within the range specified.
1076 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1074:101-1074:101
1072 | /// - key: The key of the SortedSet
1073 | /// - firstIndex: The index of the first element to include in the range of elements returned.
1074 + /// - lastIndex: The index of the last element to include in the range of elements returned.
| ╰─suggestion: Document 'includeScores' parameter
1075 | /// - Returns: An array of elements found within the range specified.
1076 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1117:72-1117:72
1115 | /// - Parameters:
1116 | /// - key: The key of the SortedSet to return elements from.
1117 + /// - range: The range of inclusive indices of elements to get.
| ╰─suggestion: Document 'includeScores' parameter
1118 | /// - Returns: An array of elements found within the range specified.
1119 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1117:72-1117:72
1115 | /// - Parameters:
1116 | /// - key: The key of the SortedSet to return elements from.
1117 + /// - range: The range of inclusive indices of elements to get.
| ╰─suggestion: Document 'includeScores' parameter
1118 | /// - Returns: An array of elements found within the range specified.
1119 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1117:72-1117:72
1115 | /// - Parameters:
1116 | /// - key: The key of the SortedSet to return elements from.
1117 + /// - range: The range of inclusive indices of elements to get.
| ╰─suggestion: Document 'includeScores' parameter
1118 | /// - Returns: An array of elements found within the range specified.
1119 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1159:94-1159:94
1157 | /// - Parameters:
1158 | /// - key: The key of the SortedSet to return elements from.
1159 + /// - range: The range of indices (inclusive lower, exclusive upper) elements to get.
| ╰─suggestion: Document 'includeScores' parameter
1160 | /// - Returns: An array of elements found within the range specified.
1161 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1159:94-1159:94
1157 | /// - Parameters:
1158 | /// - key: The key of the SortedSet to return elements from.
1159 + /// - range: The range of indices (inclusive lower, exclusive upper) elements to get.
| ╰─suggestion: Document 'includeScores' parameter
1160 | /// - Returns: An array of elements found within the range specified.
1161 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1159:94-1159:94
1157 | /// - Parameters:
1158 | /// - key: The key of the SortedSet to return elements from.
1159 + /// - range: The range of indices (inclusive lower, exclusive upper) elements to get.
| ╰─suggestion: Document 'includeScores' parameter
1160 | /// - Returns: An array of elements found within the range specified.
1161 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1187:89-1187:89
1185 | /// - Parameters:
1186 | /// - key: The key of the SortedSet to return elements from.
1187 + /// - index: The index of the first element that will be in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1188 | /// - Returns: An array of elements from the SortedSet between the index and the end.
1189 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1187:89-1187:89
1185 | /// - Parameters:
1186 | /// - key: The key of the SortedSet to return elements from.
1187 + /// - index: The index of the first element that will be in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1188 | /// - Returns: An array of elements from the SortedSet between the index and the end.
1189 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1187:89-1187:89
1185 | /// - Parameters:
1186 | /// - key: The key of the SortedSet to return elements from.
1187 + /// - index: The index of the first element that will be in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1188 | /// - Returns: An array of elements from the SortedSet between the index and the end.
1189 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1215:88-1215:88
1213 | /// - Parameters:
1214 | /// - key: The key of the SortedSet to return elements from.
1215 + /// - index: The index of the last element that will be in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1216 | /// - Returns: An array of elements from the start of a SortedSet to the index.
1217 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1215:88-1215:88
1213 | /// - Parameters:
1214 | /// - key: The key of the SortedSet to return elements from.
1215 + /// - index: The index of the last element that will be in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1216 | /// - Returns: An array of elements from the start of a SortedSet to the index.
1217 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1215:88-1215:88
1213 | /// - Parameters:
1214 | /// - key: The key of the SortedSet to return elements from.
1215 + /// - index: The index of the last element that will be in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1216 | /// - Returns: An array of elements from the start of a SortedSet to the index.
1217 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1243:90-1243:90
1241 | /// - Parameters:
1242 | /// - key: The key of the SortedSet to return elements from.
1243 + /// - index: The index of the last element to not include in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1244 | /// - Returns: An array of elements from the start of the SortedSet and up to the index.
1245 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1243:90-1243:90
1241 | /// - Parameters:
1242 | /// - key: The key of the SortedSet to return elements from.
1243 + /// - index: The index of the last element to not include in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1244 | /// - Returns: An array of elements from the start of the SortedSet and up to the index.
1245 | public func zrevrange(
warning: Parameter 'includeScores' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1243:90-1243:90
1241 | /// - Parameters:
1242 | /// - key: The key of the SortedSet to return elements from.
1243 + /// - index: The index of the last element to not include in the returned values.
| ╰─suggestion: Document 'includeScores' parameter
1244 | /// - Returns: An array of elements from the start of the SortedSet and up to the index.
1245 | public func zrevrange(
warning: Parameter 'range' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1357:13-1357:117
1355 | /// - Parameters:
1356 | /// - key: The key of the SortedSet.
1357 + /// - range: The minimum score bound an element in the SortedSet should have to be included in the response.
| ╰─suggestion: Remove 'range' parameter documentation
1358 | /// - limit: The optional offset and count of elements to query.
1359 | /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
warning: Parameter 'range' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1357:13-1357:117
1355 | /// - Parameters:
1356 | /// - key: The key of the SortedSet.
1357 + /// - range: The minimum score bound an element in the SortedSet should have to be included in the response.
| ╰─suggestion: Remove 'range' parameter documentation
1358 | /// - limit: The optional offset and count of elements to query.
1359 | /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
warning: Parameter 'range' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1357:13-1357:117
1355 | /// - Parameters:
1356 | /// - key: The key of the SortedSet.
1357 + /// - range: The minimum score bound an element in the SortedSet should have to be included in the response.
| ╰─suggestion: Remove 'range' parameter documentation
1358 | /// - limit: The optional offset and count of elements to query.
1359 | /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
warning: Parameter 'minScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1359:179-1359:179
1357 | /// - range: The minimum score bound an element in the SortedSet should have to be included in the response.
1358 | /// - limit: The optional offset and count of elements to query.
| ╰─suggestion: Document 'minScore' parameter
1359 + /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
1360 | /// - Returns: An array of elements from the SortedSet that were within the range provided, and optionally their scores.
1361 | public func zrangebyscore(
warning: Parameter 'minScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1359:179-1359:179
1357 | /// - range: The minimum score bound an element in the SortedSet should have to be included in the response.
1358 | /// - limit: The optional offset and count of elements to query.
| ╰─suggestion: Document 'minScore' parameter
1359 + /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
1360 | /// - Returns: An array of elements from the SortedSet that were within the range provided, and optionally their scores.
1361 | public func zrangebyscore(
warning: Parameter 'minScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1359:179-1359:179
1357 | /// - range: The minimum score bound an element in the SortedSet should have to be included in the response.
1358 | /// - limit: The optional offset and count of elements to query.
| ╰─suggestion: Document 'minScore' parameter
1359 + /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
1360 | /// - Returns: An array of elements from the SortedSet that were within the range provided, and optionally their scores.
1361 | public func zrangebyscore(
warning: Parameter 'range' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1383:13-1383:117
1381 | /// - Parameters:
1382 | /// - key: The key of the SortedSet.
1383 + /// - range: The maximum score bound an element in the SortedSet should have to be included in the response.
| ╰─suggestion: Remove 'range' parameter documentation
1384 | /// - limit: The optional offset and count of elements to query.
1385 | /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
warning: Parameter 'range' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1383:13-1383:117
1381 | /// - Parameters:
1382 | /// - key: The key of the SortedSet.
1383 + /// - range: The maximum score bound an element in the SortedSet should have to be included in the response.
| ╰─suggestion: Remove 'range' parameter documentation
1384 | /// - limit: The optional offset and count of elements to query.
1385 | /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
warning: Parameter 'range' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1383:13-1383:117
1381 | /// - Parameters:
1382 | /// - key: The key of the SortedSet.
1383 + /// - range: The maximum score bound an element in the SortedSet should have to be included in the response.
| ╰─suggestion: Remove 'range' parameter documentation
1384 | /// - limit: The optional offset and count of elements to query.
1385 | /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
warning: Parameter 'maxScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1385:179-1385:179
1383 | /// - range: The maximum score bound an element in the SortedSet should have to be included in the response.
1384 | /// - limit: The optional offset and count of elements to query.
| ╰─suggestion: Document 'maxScore' parameter
1385 + /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
1386 | /// - Returns: An array of elements from the SortedSet that were within the range provided, and optionally their scores.
1387 | public func zrangebyscore(
warning: Parameter 'maxScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1385:179-1385:179
1383 | /// - range: The maximum score bound an element in the SortedSet should have to be included in the response.
1384 | /// - limit: The optional offset and count of elements to query.
| ╰─suggestion: Document 'maxScore' parameter
1385 + /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
1386 | /// - Returns: An array of elements from the SortedSet that were within the range provided, and optionally their scores.
1387 | public func zrangebyscore(
warning: Parameter 'maxScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1385:179-1385:179
1383 | /// - range: The maximum score bound an element in the SortedSet should have to be included in the response.
1384 | /// - limit: The optional offset and count of elements to query.
| ╰─suggestion: Document 'maxScore' parameter
1385 + /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
1386 | /// - Returns: An array of elements from the SortedSet that were within the range provided, and optionally their scores.
1387 | public func zrangebyscore(
warning: Parameter 'range' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1482:13-1482:117
1480 | /// - Parameters:
1481 | /// - key: The key of the SortedSet.
1482 + /// - range: The minimum score bound an element in the SortedSet should have to be included in the response.
| ╰─suggestion: Remove 'range' parameter documentation
1483 | /// - limit: The optional offset and count of elements to query.
1484 | /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
warning: Parameter 'range' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1482:13-1482:117
1480 | /// - Parameters:
1481 | /// - key: The key of the SortedSet.
1482 + /// - range: The minimum score bound an element in the SortedSet should have to be included in the response.
| ╰─suggestion: Remove 'range' parameter documentation
1483 | /// - limit: The optional offset and count of elements to query.
1484 | /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
warning: Parameter 'range' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1482:13-1482:117
1480 | /// - Parameters:
1481 | /// - key: The key of the SortedSet.
1482 + /// - range: The minimum score bound an element in the SortedSet should have to be included in the response.
| ╰─suggestion: Remove 'range' parameter documentation
1483 | /// - limit: The optional offset and count of elements to query.
1484 | /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
warning: Parameter 'minScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1484:179-1484:179
1482 | /// - range: The minimum score bound an element in the SortedSet should have to be included in the response.
1483 | /// - limit: The optional offset and count of elements to query.
| ╰─suggestion: Document 'minScore' parameter
1484 + /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
1485 | /// - Returns: An array of elements from the SortedSet that were within the range provided, and optionally their scores.
1486 | public func zrevrangebyscore(
warning: Parameter 'minScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1484:179-1484:179
1482 | /// - range: The minimum score bound an element in the SortedSet should have to be included in the response.
1483 | /// - limit: The optional offset and count of elements to query.
| ╰─suggestion: Document 'minScore' parameter
1484 + /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
1485 | /// - Returns: An array of elements from the SortedSet that were within the range provided, and optionally their scores.
1486 | public func zrevrangebyscore(
warning: Parameter 'minScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1484:179-1484:179
1482 | /// - range: The minimum score bound an element in the SortedSet should have to be included in the response.
1483 | /// - limit: The optional offset and count of elements to query.
| ╰─suggestion: Document 'minScore' parameter
1484 + /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
1485 | /// - Returns: An array of elements from the SortedSet that were within the range provided, and optionally their scores.
1486 | public func zrevrangebyscore(
warning: Parameter 'range' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1508:13-1508:117
1506 | /// - Parameters:
1507 | /// - key: The key of the SortedSet.
1508 + /// - range: The maximum score bound an element in the SortedSet should have to be included in the response.
| ╰─suggestion: Remove 'range' parameter documentation
1509 | /// - limit: The optional offset and count of elements to query.
1510 | /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
warning: Parameter 'range' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1508:13-1508:117
1506 | /// - Parameters:
1507 | /// - key: The key of the SortedSet.
1508 + /// - range: The maximum score bound an element in the SortedSet should have to be included in the response.
| ╰─suggestion: Remove 'range' parameter documentation
1509 | /// - limit: The optional offset and count of elements to query.
1510 | /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
warning: Parameter 'range' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1508:13-1508:117
1506 | /// - Parameters:
1507 | /// - key: The key of the SortedSet.
1508 + /// - range: The maximum score bound an element in the SortedSet should have to be included in the response.
| ╰─suggestion: Remove 'range' parameter documentation
1509 | /// - limit: The optional offset and count of elements to query.
1510 | /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
warning: Parameter 'maxScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1510:179-1510:179
1508 | /// - range: The maximum score bound an element in the SortedSet should have to be included in the response.
1509 | /// - limit: The optional offset and count of elements to query.
| ╰─suggestion: Document 'maxScore' parameter
1510 + /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
1511 | /// - Returns: An array of elements from the SortedSet that were within the range provided, and optionally their scores.
1512 | public func zrevrangebyscore(
warning: Parameter 'maxScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1510:179-1510:179
1508 | /// - range: The maximum score bound an element in the SortedSet should have to be included in the response.
1509 | /// - limit: The optional offset and count of elements to query.
| ╰─suggestion: Document 'maxScore' parameter
1510 + /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
1511 | /// - Returns: An array of elements from the SortedSet that were within the range provided, and optionally their scores.
1512 | public func zrevrangebyscore(
warning: Parameter 'maxScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1510:179-1510:179
1508 | /// - range: The maximum score bound an element in the SortedSet should have to be included in the response.
1509 | /// - limit: The optional offset and count of elements to query.
| ╰─suggestion: Document 'maxScore' parameter
1510 + /// - includeScores: Should the response array contain the elements AND their scores? If `true`, the response array will follow the pattern [Item_1, Score_1, Item_2, ...]
1511 | /// - Returns: An array of elements from the SortedSet that were within the range provided, and optionally their scores.
1512 | public func zrevrangebyscore(
warning: External name 'limitBy' used to document parameter
--> Sources/RediStack/Commands/SortedSetCommands.swift:1571:15-1571:22
1569 | /// - key: The key of the SortedSet that will be counted.
1570 | /// - range: The min and max value bounds for filtering elements by.
1571 + /// - limitBy: The optional offset and count of elements to query.
| ╰─suggestion: Replace 'limitBy' with 'limit'
1572 | /// - Returns: An array of elements from the SortedSet that were within the range provided.
1573 | @inlinable
warning: External name 'limitBy' used to document parameter
--> Sources/RediStack/Commands/SortedSetCommands.swift:1571:15-1571:22
1569 | /// - key: The key of the SortedSet that will be counted.
1570 | /// - range: The min and max value bounds for filtering elements by.
1571 + /// - limitBy: The optional offset and count of elements to query.
| ╰─suggestion: Replace 'limitBy' with 'limit'
1572 | /// - Returns: An array of elements from the SortedSet that were within the range provided.
1573 | @inlinable
warning: External name 'limitBy' used to document parameter
--> Sources/RediStack/Commands/SortedSetCommands.swift:1571:15-1571:22
1569 | /// - key: The key of the SortedSet that will be counted.
1570 | /// - range: The min and max value bounds for filtering elements by.
1571 + /// - limitBy: The optional offset and count of elements to query.
| ╰─suggestion: Replace 'limitBy' with 'limit'
1572 | /// - Returns: An array of elements from the SortedSet that were within the range provided.
1573 | @inlinable
warning: Parameter 'minValue' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1624:15-1624:23
1622 | /// - Parameters:
1623 | /// - key: The key of the SortedSet.
1624 + /// - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
| ╰─suggestion: Replace 'minValue' with 'maxValue'
1625 | /// - limit: The optional offset and count of elements to query
1626 | /// - Returns: An array of elements from the SortedSet below the `maxValue` threshold.
warning: Parameter 'minValue' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1624:15-1624:23
1622 | /// - Parameters:
1623 | /// - key: The key of the SortedSet.
1624 + /// - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
| ╰─suggestion: Replace 'minValue' with 'maxValue'
1625 | /// - limit: The optional offset and count of elements to query
1626 | /// - Returns: An array of elements from the SortedSet below the `maxValue` threshold.
warning: Parameter 'minValue' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1624:15-1624:23
1622 | /// - Parameters:
1623 | /// - key: The key of the SortedSet.
1624 + /// - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
| ╰─suggestion: Replace 'minValue' with 'maxValue'
1625 | /// - limit: The optional offset and count of elements to query
1626 | /// - Returns: An array of elements from the SortedSet below the `maxValue` threshold.
warning: Parameter 'maxValue' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1625:72-1625:72
1623 | /// - key: The key of the SortedSet.
1624 | /// - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
1625 + /// - limit: The optional offset and count of elements to query
| ╰─suggestion: Document 'maxValue' parameter
1626 | /// - Returns: An array of elements from the SortedSet below the `maxValue` threshold.
1627 | @inlinable
warning: Parameter 'maxValue' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1625:72-1625:72
1623 | /// - key: The key of the SortedSet.
1624 | /// - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
1625 + /// - limit: The optional offset and count of elements to query
| ╰─suggestion: Document 'maxValue' parameter
1626 | /// - Returns: An array of elements from the SortedSet below the `maxValue` threshold.
1627 | @inlinable
warning: Parameter 'maxValue' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1625:72-1625:72
1623 | /// - key: The key of the SortedSet.
1624 | /// - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
1625 + /// - limit: The optional offset and count of elements to query
| ╰─suggestion: Document 'maxValue' parameter
1626 | /// - Returns: An array of elements from the SortedSet below the `maxValue` threshold.
1627 | @inlinable
warning: External name 'limitBy' used to document parameter
--> Sources/RediStack/Commands/SortedSetCommands.swift:1653:15-1653:22
1651 | /// - key: The key of the SortedSet that will be counted.
1652 | /// - range: The min and max value bounds for filtering elements by.
1653 + /// - limitBy: The optional offset and count of elements to query.
| ╰─suggestion: Replace 'limitBy' with 'limit'
1654 | /// - Returns: An array of elements from the SortedSet that were within the range provided.
1655 | @inlinable
warning: External name 'limitBy' used to document parameter
--> Sources/RediStack/Commands/SortedSetCommands.swift:1653:15-1653:22
1651 | /// - key: The key of the SortedSet that will be counted.
1652 | /// - range: The min and max value bounds for filtering elements by.
1653 + /// - limitBy: The optional offset and count of elements to query.
| ╰─suggestion: Replace 'limitBy' with 'limit'
1654 | /// - Returns: An array of elements from the SortedSet that were within the range provided.
1655 | @inlinable
warning: External name 'limitBy' used to document parameter
--> Sources/RediStack/Commands/SortedSetCommands.swift:1653:15-1653:22
1651 | /// - key: The key of the SortedSet that will be counted.
1652 | /// - range: The min and max value bounds for filtering elements by.
1653 + /// - limitBy: The optional offset and count of elements to query.
| ╰─suggestion: Replace 'limitBy' with 'limit'
1654 | /// - Returns: An array of elements from the SortedSet that were within the range provided.
1655 | @inlinable
warning: Parameter 'minValue' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1706:15-1706:23
1704 | /// - Parameters:
1705 | /// - key: The key of the SortedSet.
1706 + /// - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
| ╰─suggestion: Replace 'minValue' with 'maxValue'
1707 | /// - limit: The optional offset and count of elements to query
1708 | /// - Returns: An array of elements from the SortedSet below the `maxValue` threshold.
warning: Parameter 'minValue' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1706:15-1706:23
1704 | /// - Parameters:
1705 | /// - key: The key of the SortedSet.
1706 + /// - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
| ╰─suggestion: Replace 'minValue' with 'maxValue'
1707 | /// - limit: The optional offset and count of elements to query
1708 | /// - Returns: An array of elements from the SortedSet below the `maxValue` threshold.
warning: Parameter 'minValue' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:1706:15-1706:23
1704 | /// - Parameters:
1705 | /// - key: The key of the SortedSet.
1706 + /// - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
| ╰─suggestion: Replace 'minValue' with 'maxValue'
1707 | /// - limit: The optional offset and count of elements to query
1708 | /// - Returns: An array of elements from the SortedSet below the `maxValue` threshold.
warning: Parameter 'maxValue' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1707:72-1707:72
1705 | /// - key: The key of the SortedSet.
1706 | /// - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
1707 + /// - limit: The optional offset and count of elements to query
| ╰─suggestion: Document 'maxValue' parameter
1708 | /// - Returns: An array of elements from the SortedSet below the `maxValue` threshold.
1709 | @inlinable
warning: Parameter 'maxValue' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1707:72-1707:72
1705 | /// - key: The key of the SortedSet.
1706 | /// - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
1707 + /// - limit: The optional offset and count of elements to query
| ╰─suggestion: Document 'maxValue' parameter
1708 | /// - Returns: An array of elements from the SortedSet below the `maxValue` threshold.
1709 | @inlinable
warning: Parameter 'maxValue' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:1707:72-1707:72
1705 | /// - key: The key of the SortedSet.
1706 | /// - minValue: The maximum lexiographical value an element in the SortedSet should have to be included in the result set.
1707 + /// - limit: The optional offset and count of elements to query
| ╰─suggestion: Document 'maxValue' parameter
1708 | /// - Returns: An array of elements from the SortedSet below the `maxValue` threshold.
1709 | @inlinable
warning: Parameter 'minScore' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:2003:15-2003:23
2001 | /// - Parameters:
2002 | /// - key: The key of the SortedSet to remove elements from.
2003 + /// - minScore: The maximum score bound an element in the SortedSet should have to be removed.
| ╰─suggestion: Replace 'minScore' with 'maxScore'
2004 | /// - Returns: The count of elements that were removed from the SortedSet.
2005 | public func zremrangebyscore(from key: RedisKey, withMaximumScoreOf maxScore: RedisZScoreBound) -> EventLoopFuture<Int> {
warning: Parameter 'minScore' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:2003:15-2003:23
2001 | /// - Parameters:
2002 | /// - key: The key of the SortedSet to remove elements from.
2003 + /// - minScore: The maximum score bound an element in the SortedSet should have to be removed.
| ╰─suggestion: Replace 'minScore' with 'maxScore'
2004 | /// - Returns: The count of elements that were removed from the SortedSet.
2005 | public func zremrangebyscore(from key: RedisKey, withMaximumScoreOf maxScore: RedisZScoreBound) -> EventLoopFuture<Int> {
warning: Parameter 'minScore' not found in instance method declaration
--> Sources/RediStack/Commands/SortedSetCommands.swift:2003:15-2003:23
2001 | /// - Parameters:
2002 | /// - key: The key of the SortedSet to remove elements from.
2003 + /// - minScore: The maximum score bound an element in the SortedSet should have to be removed.
| ╰─suggestion: Replace 'minScore' with 'maxScore'
2004 | /// - Returns: The count of elements that were removed from the SortedSet.
2005 | public func zremrangebyscore(from key: RedisKey, withMaximumScoreOf maxScore: RedisZScoreBound) -> EventLoopFuture<Int> {
warning: Parameter 'maxScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:2003:103-2003:103
2001 | /// - Parameters:
2002 | /// - key: The key of the SortedSet to remove elements from.
2003 + /// - minScore: The maximum score bound an element in the SortedSet should have to be removed.
| ╰─suggestion: Document 'maxScore' parameter
2004 | /// - Returns: The count of elements that were removed from the SortedSet.
2005 | public func zremrangebyscore(from key: RedisKey, withMaximumScoreOf maxScore: RedisZScoreBound) -> EventLoopFuture<Int> {
warning: Parameter 'maxScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:2003:103-2003:103
2001 | /// - Parameters:
2002 | /// - key: The key of the SortedSet to remove elements from.
2003 + /// - minScore: The maximum score bound an element in the SortedSet should have to be removed.
| ╰─suggestion: Document 'maxScore' parameter
2004 | /// - Returns: The count of elements that were removed from the SortedSet.
2005 | public func zremrangebyscore(from key: RedisKey, withMaximumScoreOf maxScore: RedisZScoreBound) -> EventLoopFuture<Int> {
warning: Parameter 'maxScore' is missing documentation
--> Sources/RediStack/Commands/SortedSetCommands.swift:2003:103-2003:103
2001 | /// - Parameters:
2002 | /// - key: The key of the SortedSet to remove elements from.
2003 + /// - minScore: The maximum score bound an element in the SortedSet should have to be removed.
| ╰─suggestion: Document 'maxScore' parameter
2004 | /// - Returns: The count of elements that were removed from the SortedSet.
2005 | public func zremrangebyscore(from key: RedisKey, withMaximumScoreOf maxScore: RedisZScoreBound) -> EventLoopFuture<Int> {
warning: Parameter 'onUnexpectedConnectionClose' is missing documentation
--> Sources/RediStack/ConnectionPool/RedisConnectionPool+Configuration.swift:119:86-119:86
117 | /// - connectionRetryTimeout: The max time to wait for a connection to be available before failing a particular command or connection operation.
118 | /// The default is 60 seconds.
119 + /// - poolDefaultLogger: The `Logger` used by the connection pool itself.
| ╰─suggestion: Document 'onUnexpectedConnectionClose' parameter
120 | public init(
121 | initialServerConnectionAddresses: [SocketAddress],Finished building documentation for 'RediStack' (0.66s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/swift-server/redistack/1.6.2
Updating https://github.com/apple/swift-collections.git
Updating https://github.com/apple/swift-nio-ssl.git
Updating https://github.com/apple/swift-metrics.git
Updating https://github.com/apple/swift-system.git
Updating https://github.com/apple/swift-log.git
Updating https://github.com/apple/swift-atomics.git
Updating https://github.com/apple/swift-nio.git
Updated https://github.com/apple/swift-system.git (0.46s)
Fetching https://github.com/swiftlang/swift-docc-plugin
Updated https://github.com/apple/swift-metrics.git (0.50s)
Updated https://github.com/apple/swift-collections.git (0.58s)
Updated https://github.com/apple/swift-nio-ssl.git (0.58s)
Updated https://github.com/apple/swift-log.git (0.73s)
Updated https://github.com/apple/swift-atomics.git (0.73s)
Updated https://github.com/apple/swift-nio.git (0.73s)
[1/2038] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.26s)
Computing version for https://github.com/apple/swift-nio-ssl.git
Computed https://github.com/apple/swift-nio-ssl.git at 2.29.0 (0.55s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.77.0 (0.62s)
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.40s)
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-system.git
Computed https://github.com/apple/swift-system.git at 1.4.0 (0.41s)
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.53s)
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.24s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.54s)
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
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
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 SemanticVersion.swift
[7/53] Compiling SymbolKit AccessControl.swift
[8/53] Compiling SymbolKit Availability.swift
[9/53] Compiling SymbolKit AvailabilityItem.swift
[10/53] Compiling SymbolKit Domain.swift
[11/57] Compiling SymbolKit DeclarationFragments.swift
[12/57] Compiling SymbolKit Fragment.swift
[13/57] Compiling SymbolKit FragmentKind.swift
[14/57] Compiling SymbolKit FunctionParameter.swift
[15/57] Compiling SymbolKit FunctionSignature.swift
[16/57] Emitting module SymbolKit
[17/57] Compiling SymbolKit Mixin+Equals.swift
[18/57] Compiling SymbolKit Mixin+Hash.swift
[19/57] Compiling SymbolKit Mixin.swift
[20/57] Compiling SymbolKit LineList.swift
[21/57] Compiling SymbolKit Position.swift
[22/57] Compiling SymbolKit Names.swift
[23/57] Compiling SymbolKit SPI.swift
[24/57] Compiling SymbolKit Snippet.swift
[25/57] Compiling SymbolKit Extension.swift
[26/57] Compiling SymbolKit Identifier.swift
[27/57] Compiling SymbolKit KindIdentifier.swift
[28/57] Compiling SymbolKit Location.swift
[29/57] Compiling SymbolKit Mutability.swift
[30/57] Compiling SymbolKit GenericConstraint.swift
[31/57] Compiling SymbolKit GenericParameter.swift
[32/57] Compiling SymbolKit Generics.swift
[33/57] Compiling SymbolKit Namespace.swift
[34/57] Compiling SymbolKit SourceRange.swift
[35/57] Compiling SymbolKit Metadata.swift
[36/57] Compiling SymbolKit Module.swift
[37/57] Compiling SymbolKit OperatingSystem.swift
[38/57] Compiling SymbolKit Platform.swift
[39/57] Compiling SymbolKit Relationship.swift
[40/57] Compiling SymbolKit RelationshipKind.swift
[41/57] Compiling SymbolKit SourceOrigin.swift
[42/57] Compiling SymbolKit GenericConstraints.swift
[43/57] Compiling SymbolKit Swift.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 SnippetParser.swift
[53/57] Compiling Snippets Snippet.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! (4.67s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/58] Compiling Atomics ManagedAtomic.swift
[3/58] Compiling Atomics ManagedAtomicLazyReference.swift
[4/58] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[5/59] Compiling Atomics OptionalRawRepresentable.swift
[6/59] Compiling Atomics RawRepresentable.swift
[7/59] Compiling Atomics AtomicStorage.swift
[8/59] Compiling Atomics AtomicValue.swift
[9/59] Compiling Atomics AtomicMemoryOrderings.swift
[10/59] Compiling Atomics DoubleWord.swift
[13/61] Compiling Atomics UnsafeAtomic.swift
[14/61] Compiling Atomics UnsafeAtomicLazyReference.swift
[15/61] Compiling Logging MetadataProvider.swift
[20/61] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[21/61] Compiling NIOConcurrencyHelpers NIOLock.swift
[22/61] Compiling Atomics AtomicBool.swift
[23/61] Compiling Atomics IntegerConformances.swift
[24/61] Compiling Atomics PointerConformances.swift
[25/61] Compiling Atomics Primitives.native.swift
[26/61] Emitting module Logging
[27/61] Compiling Atomics IntegerOperations.swift
[28/61] Compiling Atomics Unmanaged extensions.swift
[29/61] Emitting module _NIOBase64
[30/61] Compiling _NIOBase64 Base64.swift
[31/61] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[32/61] Compiling NIOConcurrencyHelpers lock.swift
[33/61] Compiling _NIODataStructures _TinyArray.swift
[34/61] Compiling _NIODataStructures PriorityQueue.swift
[35/61] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[36/61] Compiling NIOConcurrencyHelpers atomics.swift
[37/61] Compiling Atomics Primitives.shims.swift
[38/61] Compiling Atomics AtomicInteger.swift
[39/61] Compiling Atomics AtomicOptionalWrappable.swift
[40/61] Compiling Atomics AtomicReference.swift
[41/61] Compiling _NIODataStructures Heap.swift
[42/61] Emitting module _NIODataStructures
[43/61] Emitting module NIOConcurrencyHelpers
[44/61] Emitting module InternalCollectionsUtilities
[51/61] Compiling CoreMetrics Locks.swift
[52/61] Emitting module CoreMetrics
[53/61] Compiling CoreMetrics Metrics.swift
[54/61] Compiling Logging LogHandler.swift
[55/61] Compiling Logging Logging.swift
[56/61] Compiling Logging Locks.swift
[57/79] Compiling DequeModule Deque+CustomReflectable.swift
[58/79] Compiling DequeModule Deque+Descriptions.swift
[59/79] Compiling DequeModule Deque+Equatable.swift
[60/79] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[61/79] Compiling DequeModule _DequeSlot.swift
[62/79] Compiling DequeModule _DequeBufferHeader.swift
[63/80] Compiling Metrics Metrics.swift
[64/80] Emitting module Metrics
[65/80] Compiling DequeModule _UnsafeWrappedBuffer.swift
[66/80] Compiling DequeModule Deque+Testing.swift
[67/80] Compiling DequeModule Deque._Storage.swift
[68/80] Compiling DequeModule Deque+Extras.swift
[69/80] Compiling DequeModule Deque+Hashable.swift
[70/80] Compiling DequeModule _DequeBuffer.swift
[75/80] Compiling DequeModule Deque._UnsafeHandle.swift
[76/80] Compiling DequeModule Deque.swift
[77/80] Emitting module Atomics
[78/80] Compiling DequeModule Deque+Codable.swift
[79/80] Compiling DequeModule Deque+Collection.swift
[80/80] Emitting module DequeModule
[81/142] Compiling NIOCore Linux.swift
[82/142] Compiling NIOCore MarkedCircularBuffer.swift
[83/142] Compiling NIOCore MulticastChannel.swift
[84/142] Compiling NIOCore NIOAny.swift
[85/142] Compiling NIOCore NIOCloseOnErrorHandler.swift
[86/142] Compiling NIOCore NIOLoopBound.swift
[87/148] Compiling NIOCore AddressedEnvelope.swift
[88/148] Compiling NIOCore AsyncAwaitSupport.swift
[89/148] Compiling NIOCore AsyncChannel.swift
[90/148] Compiling NIOCore AsyncChannelHandler.swift
[91/148] Compiling NIOCore AsyncChannelInboundStream.swift
[92/148] Compiling NIOCore AsyncChannelOutboundWriter.swift
[93/148] Compiling NIOCore NIOAsyncSequenceProducer.swift
[94/148] Compiling NIOCore GlobalSingletons.swift
[95/148] Compiling NIOCore IO.swift
[96/148] Compiling NIOCore IOData.swift
[97/148] Compiling NIOCore IPProtocol.swift
[98/148] Compiling NIOCore IntegerBitPacking.swift
[99/148] Compiling NIOCore IntegerTypes.swift
[100/148] Compiling NIOCore Interfaces.swift
[101/148] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[102/148] Compiling NIOCore EventLoopFuture+Deprecated.swift
[103/148] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[104/148] Compiling NIOCore EventLoopFuture.swift
[105/148] Compiling NIOCore FileDescriptor.swift
[106/148] Compiling NIOCore FileHandle.swift
[107/148] Compiling NIOCore FileRegion.swift
[108/148] Compiling NIOCore Codec.swift
[109/148] Compiling NIOCore ConvenienceOptionSupport.swift
[110/148] Compiling NIOCore DeadChannel.swift
[111/148] Compiling NIOCore DispatchQueue+WithFuture.swift
[112/148] Compiling NIOCore EventLoop+Deprecated.swift
[113/148] Compiling NIOCore EventLoop+SerialExecutor.swift
[114/148] Compiling NIOCore EventLoop.swift
[115/148] Compiling NIOCore NIOScheduledCallback.swift
[116/148] Compiling NIOCore NIOSendable.swift
[117/148] Compiling NIOCore PointerHelpers.swift
[118/148] Compiling NIOCore RecvByteBufferAllocator.swift
[119/148] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[120/148] Compiling NIOCore SocketAddresses.swift
[121/148] Compiling NIOCore SocketOptionProvider.swift
[122/148] Compiling NIOCore SystemCallHelpers.swift
[123/148] Compiling NIOCore TimeAmount+Duration.swift
[124/148] Compiling NIOCore TypeAssistedChannelHandler.swift
[125/148] Compiling NIOCore UniversalBootstrapSupport.swift
[126/148] Compiling NIOCore Utilities.swift
[127/148] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[128/148] Compiling NIOCore NIOAsyncWriter.swift
[129/148] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[130/148] Compiling NIOCore BSDSocketAPI.swift
[131/148] Compiling NIOCore ByteBuffer-aux.swift
[132/148] Compiling NIOCore ByteBuffer-binaryEncodedLengthPrefix.swift
[133/148] Compiling NIOCore ByteBuffer-conversions.swift
[134/148] Compiling NIOCore Channel.swift
[135/148] Compiling NIOCore ChannelHandler.swift
[136/148] Compiling NIOCore ChannelHandlers.swift
[137/148] Compiling NIOCore ChannelInvoker.swift
[138/148] Compiling NIOCore ChannelOption.swift
[139/148] Compiling NIOCore ChannelPipeline.swift
[140/148] Compiling NIOCore CircularBuffer.swift
[141/148] Compiling NIOCore ByteBuffer-core.swift
[142/148] Compiling NIOCore ByteBuffer-hex.swift
[143/148] Compiling NIOCore ByteBuffer-int.swift
[144/148] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[145/148] Compiling NIOCore ByteBuffer-multi-int.swift
[146/148] Compiling NIOCore ByteBuffer-quicBinaryEncodingStrategy.swift
[147/148] Compiling NIOCore ByteBuffer-views.swift
[148/148] Emitting module NIOCore
[149/202] Emitting module NIOEmbedded
[150/202] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[151/202] Compiling NIOEmbedded Embedded.swift
[152/202] Compiling NIOEmbedded AsyncTestingChannel.swift
[153/202] Compiling NIOPosix PendingWritesManager.swift
[154/202] Compiling NIOPosix PipeChannel.swift
[155/202] Compiling NIOPosix PipePair.swift
[156/202] Compiling NIOPosix PointerHelpers.swift
[157/202] Compiling NIOPosix Pool.swift
[158/202] Compiling NIOPosix SocketProtocols.swift
[159/202] Compiling NIOPosix System.swift
[160/202] Compiling NIOPosix Thread.swift
[161/202] Compiling NIOPosix ThreadPosix.swift
[162/202] Compiling NIOPosix ThreadWindows.swift
[163/207] Compiling NIOPosix Selectable.swift
[164/207] Compiling NIOPosix SelectableChannel.swift
[165/207] Compiling NIOPosix SelectableEventLoop.swift
[166/207] Compiling NIOPosix SelectorEpoll.swift
[167/207] Compiling NIOPosix SelectorGeneric.swift
[168/207] Compiling NIOPosix BSDSocketAPICommon.swift
[169/207] Compiling NIOPosix BSDSocketAPIPosix.swift
[170/207] Compiling NIOPosix BSDSocketAPIWindows.swift
[171/207] Compiling NIOPosix BaseSocket.swift
[172/207] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[173/207] Compiling NIOPosix BaseSocketChannel.swift
[174/207] Emitting module NIOPosix
[175/207] Compiling NIOPosix SelectorKqueue.swift
[176/207] Compiling NIOPosix SelectorUring.swift
[177/207] Compiling NIOPosix ServerSocket.swift
[178/207] Compiling NIOPosix Socket.swift
[179/207] Compiling NIOPosix SocketChannel.swift
[180/207] Compiling NIOPosix GetaddrinfoResolver.swift
[181/207] Compiling NIOPosix HappyEyeballs.swift
[182/207] Compiling NIOPosix IO.swift
[183/207] Compiling NIOPosix IntegerBitPacking.swift
[184/207] Compiling NIOPosix IntegerTypes.swift
[185/207] Compiling NIOPosix Linux.swift
[186/207] Compiling NIOPosix PooledRecvBufferAllocator.swift
[187/207] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[188/207] Compiling NIOPosix PosixSingletons.swift
[189/207] Compiling NIOPosix RawSocketBootstrap.swift
[190/207] Compiling NIOPosix Resolver.swift
[191/207] Compiling NIOPosix BaseStreamSocketChannel.swift
[192/207] Compiling NIOPosix Bootstrap.swift
[193/207] Compiling NIOPosix ControlMessage.swift
[194/207] Compiling NIOPosix DatagramVectorReadManager.swift
[195/207] Compiling NIOPosix Errors+Any.swift
[196/207] Compiling NIOPosix FileDescriptor.swift
[197/207] Compiling NIOPosix LinuxCPUSet.swift
[198/207] Compiling NIOPosix LinuxUring.swift
[199/207] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[200/207] Compiling NIOPosix NIOThreadPool.swift
[201/207] Compiling NIOPosix NonBlockingFileIO.swift
[202/207] Compiling NIOPosix PendingDatagramWritesManager.swift
[203/207] Compiling NIOPosix UnsafeTransfer.swift
[204/207] Compiling NIOPosix Utilities.swift
[205/207] Compiling NIOPosix VsockAddress.swift
[206/207] Compiling NIOPosix VsockChannelEvents.swift
[207/207] Compiling NIOPosix resource_bundle_accessor.swift
[208/209] Emitting module NIO
[209/209] Compiling NIO Exports.swift
[210/215] Compiling NIOTLS TLSEvents.swift
[211/215] Compiling NIOTLS ProtocolNegotiationHandlerStateMachine.swift
[212/215] Compiling NIOTLS ApplicationProtocolNegotiationHandler.swift
[213/215] Compiling NIOTLS NIOTypedApplicationProtocolNegotiationHandler.swift
[214/215] Compiling NIOTLS SNIHandler.swift
[215/215] Emitting module NIOTLS
[216/244] Compiling NIOSSL LinuxCABundle.swift
[217/244] Compiling NIOSSL NIOSSLClientHandler.swift
[218/244] Compiling NIOSSL NIOSSLHandler+Configuration.swift
[219/247] Compiling NIOSSL AndroidCABundle.swift
[220/247] Compiling NIOSSL ByteBufferBIO.swift
[221/247] Compiling NIOSSL CustomPrivateKey.swift
[222/247] Compiling NIOSSL IdentityVerification.swift
[223/247] Compiling NIOSSL NIOSSLHandler.swift
[224/247] Compiling NIOSSL NIOSSLServerHandler.swift
[225/247] Compiling NIOSSL ObjectIdentifier.swift
[226/247] Compiling NIOSSL RNG.swift
[227/247] Compiling NIOSSL SafeCompare.swift
[228/247] Compiling NIOSSL Zeroization.swift
[229/247] Compiling NIOSSL String+unsafeUninitializedCapacity.swift
[230/247] Compiling NIOSSL SubjectAlternativeName.swift
[231/247] Compiling NIOSSL NIOSSLSecureBytes.swift
[232/247] Compiling NIOSSL SSLPrivateKey.swift
[233/247] Compiling NIOSSL SSLPublicKey.swift
[234/247] Compiling NIOSSL SecurityFrameworkCertificateVerification.swift
[235/247] Compiling NIOSSL PosixPort.swift
[236/247] Compiling NIOSSL SSLCallbacks.swift
[237/247] Compiling NIOSSL SSLCertificate.swift
[238/247] Emitting module NIOSSL
[239/247] Compiling NIOSSL SSLErrors.swift
[240/247] Compiling NIOSSL SSLInit.swift
[241/247] Compiling NIOSSL SSLPKCS12Bundle.swift
[242/247] Compiling NIOSSL SSLCertificateExtensions.swift
[243/247] Compiling NIOSSL SSLConnection.swift
[244/247] Compiling NIOSSL SSLContext.swift
[245/247] Compiling NIOSSL TLSConfiguration.swift
[246/247] Compiling NIOSSL UniversalBootstrapSupport.swift
[247/247] Compiling NIOSSL resource_bundle_accessor.swift
[248/282] Compiling RediStack RedisError.swift
[249/282] Compiling RediStack RedisKey+TTL.swift
[250/282] Compiling RediStack RedisKey.swift
[251/285] Compiling RediStack RESPValueConvertible.swift
[252/285] Compiling RediStack RedisChannelName.swift
[253/285] Compiling RediStack RedisClient.swift
[254/285] Compiling RediStack RedisCommandEncoder-multi-encode.swift
[255/285] Compiling RediStack RedisCommandEncoder.swift
[256/285] Compiling RediStack RedisConnection+Configuration.swift
[257/285] Compiling RediStack RedisConnection.swift
[258/285] Compiling RediStack RedisByteDecoder.swift
[259/285] Compiling RediStack RedisCommandHandler.swift
[260/285] Compiling RediStack RedisMessageEncoder.swift
[261/285] Compiling RediStack RedisPubSubHandler.swift
[262/285] Compiling RediStack RedisClusterNodeDescriptionProtocol.swift
[263/285] Compiling RediStack RedisClusterNodeID.swift
[264/285] Compiling RediStack RedisClusterShardDescriptionProtocol.swift
[265/285] Compiling RediStack RedisHashSlot.swift
[266/285] Compiling RediStack ConnectionPool.swift
[267/285] Compiling RediStack RedisConnectionPool+Configuration.swift
[268/285] Compiling RediStack RedisConnectionPool.swift
[269/285] Compiling RediStack RedisConnectionPoolError.swift
[270/285] Emitting module RediStack
[271/285] Compiling RediStack StandardLibrary.swift
[272/285] Compiling RediStack SwiftNIO.swift
[273/285] Compiling RediStack RESPTranslator.swift
[274/285] Compiling RediStack RESPValue.swift
[275/285] Compiling RediStack SwiftPolyfill.swift
[276/285] Compiling RediStack BasicCommands.swift
[277/285] Compiling RediStack HashCommands.swift
[278/285] Compiling RediStack ListCommands.swift
[279/285] Compiling RediStack RedisLogging.swift
[280/285] Compiling RediStack RedisMetrics.swift
[281/285] Compiling RediStack _Deprecations.swift
[282/285] Compiling RediStack PubSubCommands.swift
[283/285] Compiling RediStack SetCommands.swift
[284/285] Compiling RediStack SortedSetCommands.swift
[285/285] Compiling RediStack StringCommands.swift
Build of target: 'RediStack' complete! (8.34s)
Target: RedisTypes
Extracting symbol information for 'RedisTypes'...
Finished extracting symbol information for 'RedisTypes'. (1.50s)
Building documentation for 'RedisTypes'...
warning: Parameter 'members' not found in instance method declaration
--> Sources/RedisTypes/RedisSet.swift:143:21-143:28
141 | ///
142 | /// See `RediStack.RedisClient.srem(_:from:)`
143 + /// - Parameter members: The element in the set to remove.
| ╰─suggestion: Replace 'members' with 'member'
144 | /// - Returns: A `NIO.EventLoopFuture<Bool>` resolving `true` if `member` was removed from the set; otherwise, `false`.
145 | public func remove(_ member: Element) -> EventLoopFuture<Bool> {
warning: Parameter 'member' is missing documentation
--> Sources/RedisTypes/RedisSet.swift:143:63-143:63
141 | ///
142 | /// See `RediStack.RedisClient.srem(_:from:)`
143 + /// - Parameter members: The element in the set to remove.
| ╰─suggestion: Document 'member' parameter
144 | /// - Returns: A `NIO.EventLoopFuture<Bool>` resolving `true` if `member` was removed from the set; otherwise, `false`.
145 | public func remove(_ member: Element) -> EventLoopFuture<Bool> {Finished building documentation for 'RedisTypes' (0.05s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/swift-server/redistack/1.6.2
Building for debugging...
[0/3] Write swift-version--7754E27361AE5C74.txt
Build of product 'snippet-extract' complete! (1.01s)
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! (1.31s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/swift-server/redistack/1.6.2/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/swift-server/redistack/1.6.2/linkable-paths.json
Target: RediStackTestUtils
Extracting symbol information for 'RediStackTestUtils'...
Finished extracting symbol information for 'RediStackTestUtils'. (3.31s)
Building documentation for 'RediStackTestUtils'...
warning: Parameter 'host' is missing documentation
--> Sources/RediStackTestUtils/_Deprecations.swift:30:44-30:44
28 | /// - Parameters:
29 | /// - eventLoop: The event loop that the connection should execute on.
30 + /// - port: The port to connect on.
| ╰─suggestion: Document 'host' parameter
31 | /// - Returns: A `NIO.EventLoopFuture` that resolves with the new connection.
32 | @available(*, deprecated, message: "Use RedisConnection.make(configuration:boundEventLoop:) method")
warning: Parameter 'password' is missing documentation
--> Sources/RediStackTestUtils/_Deprecations.swift:30:44-30:44
28 | /// - Parameters:
29 | /// - eventLoop: The event loop that the connection should execute on.
30 + /// - port: The port to connect on.
| ╰─suggestion: Document 'password' parameter
31 | /// - Returns: A `NIO.EventLoopFuture` that resolves with the new connection.
32 | @available(*, deprecated, message: "Use RedisConnection.make(configuration:boundEventLoop:) method")Finished building documentation for 'RediStackTestUtils' (0.05s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/swift-server/redistack/1.6.2
Building for debugging...
[0/3] Write swift-version--7754E27361AE5C74.txt
Build of product 'snippet-extract' complete! (1.00s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/8] Compiling RediStackTestUtils _Deprecations.swift
[3/8] Compiling RediStackTestUtils RedisIntegrationTestCase.swift
[4/8] Compiling RediStackTestUtils General.swift
[5/8] Compiling RediStackTestUtils RedisConnectionPoolIntegrationTestCase.swift
[6/8] Compiling RediStackTestUtils RediStack.swift
[7/8] Compiling RediStackTestUtils EmbeddedMockRedisServer.swift
[8/8] Emitting module RediStackTestUtils
Build of target: 'RediStackTestUtils' complete! (1.48s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/swift-server/redistack/1.6.2/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/swift-server/redistack/1.6.2/linkable-paths.json
2558
18 /Users/admin/builder/spi-builder-workspace/.docs/swift-server/redistack/1.6.2
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/swift-server/redistack/1.6.2
File count: 2558
Doc size: 18.0MB
Preparing doc bundle ...
Uploading prod-swift-server-redistack-1.6.2-1d6ea0ed.zip to s3://spi-docs-inbox/prod-swift-server-redistack-1.6.2-1d6ea0ed.zip
Copying... [10%]
Copying... [20%]
Copying... [31%]
Copying... [41%]
Copying... [51%]
Copying... [61%]
Copying... [72%]
Copying... [80%]
Copying... [90%]
Copying... [100%]
Done.