The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Franz, reference 1.0.2 (c859f1), with Swift 6.3 for Linux on 10 Apr 2026 10:00:57 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kellanburket/franz.git
Reference: 1.0.2
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/kellanburket/franz
 * tag               1.0.2      -> FETCH_HEAD
HEAD is now at c859f1a Update podspec
Cloned https://github.com/kellanburket/franz.git
Revision (git rev-parse @):
c859f1a584ea949000b82d85b301b6bc25fad90e
SUCCESS checkout https://github.com/kellanburket/franz.git at 1.0.2
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.3
Building package at path:  $PWD
https://github.com/kellanburket/franz.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:5a7d791d2ead8a924b1292cb31bf3288eabcfe8880e0b005b00b45b71a5bc36a
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/25] Emitting module Franz
/host/spi-builder-workspace/Sources/Franz/Connection.swift:101:39: error: cannot find type 'CFReadStream' in scope
 99 |     private var clientId: String
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
102 |     private var writeStream: Unmanaged<CFWriteStream>?
103 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:102:40: error: cannot find type 'CFWriteStream' in scope
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
102 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
103 |
104 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:42:3: error: Objective-C interoperability is disabled
 40 |
 41 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 42 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 43 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 44 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit, clientId: cluster.clientId)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:47:3: error: Objective-C interoperability is disabled
 45 | 	}
 46 |
 47 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 48 | 		guard let groupId = self.membership?.group.id,
 49 | 			let generationId = self.membership?.group.generationId,
/host/spi-builder-workspace/Sources/Franz/Crypt/CRC32.swift:145:9: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
143 |     private(set) var crc: UInt32 = 0
144 |
145 |     var hashValue: Int {
    |         `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
146 |         return Int(crc)
147 |     }
/host/spi-builder-workspace/Sources/Franz/Group.swift:72:2: warning: 'internal(set)' modifier is redundant for an internal property
 70 |
 71 | 	var topics = Set<TopicName>()
 72 | 	internal(set) var assignedPartitions = [TopicName: [PartitionId]]()
    |  `- warning: 'internal(set)' modifier is redundant for an internal property
 73 | }
 74 |
/host/spi-builder-workspace/Sources/Franz/GroupMembershipAPI.swift:411:24: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
361 | typealias MemberId = String
362 |
363 | class SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                               `- note: 'T' previously declared here
364 |
365 |     private var _groupId: String
    :
409 |
410 |
411 | 	class GroupAssignment<T: KafkaMetadata>: KafkaType {
    |                        `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
412 |
413 | 		let memberId: String
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:13:2: error: Objective-C interoperability is disabled
 11 | Base consumer delegate. Used by SimpleConsumer.
 12 | */
 13 | @objc public protocol ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 14 | 	/**
 15 | 	Called when the consumer has consumed a new Message
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:3: error: Objective-C interoperability is disabled
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |   `- error: Objective-C interoperability is disabled
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:3: error: Objective-C interoperability is disabled
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |   `- error: Objective-C interoperability is disabled
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:3: error: Objective-C interoperability is disabled
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |   `- error: Objective-C interoperability is disabled
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:76:2: error: Objective-C interoperability is disabled
 74 | High-level consumer delegate. Used by HighLevelConsumer.
 75 | */
 76 | @objc public protocol HighLevelConsumerDelegate: ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 77 | 	/**
 78 | 	Called after messages have been pulled for server.
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:3: error: Objective-C interoperability is disabled
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |   `- error: Objective-C interoperability is disabled
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:3: error: Objective-C interoperability is disabled
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |   `- error: Objective-C interoperability is disabled
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:3: error: Objective-C interoperability is disabled
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |   `- error: Objective-C interoperability is disabled
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:3: error: Objective-C interoperability is disabled
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |   `- error: Objective-C interoperability is disabled
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:3: error: Objective-C interoperability is disabled
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |   `- error: Objective-C interoperability is disabled
131 | }
132 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[4/28] Compiling Franz ProduceAPI.swift
[5/28] Compiling Franz Topic.swift
[6/28] Compiling Franz Variables.swift
[7/28] Compiling Franz OffsetFetchAPI.swift
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:13:2: error: Objective-C interoperability is disabled
 11 | Base consumer delegate. Used by SimpleConsumer.
 12 | */
 13 | @objc public protocol ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 14 | 	/**
 15 | 	Called when the consumer has consumed a new Message
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:8: error: 'optional' can only be applied to members of an '@objc' protocol
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:8: error: 'optional' can only be applied to members of an '@objc' protocol
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:8: error: 'optional' can only be applied to members of an '@objc' protocol
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:76:2: error: Objective-C interoperability is disabled
 74 | High-level consumer delegate. Used by HighLevelConsumer.
 75 | */
 76 | @objc public protocol HighLevelConsumerDelegate: ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 77 | 	/**
 78 | 	Called after messages have been pulled for server.
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:8: error: 'optional' can only be applied to members of an '@objc' protocol
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:8: error: 'optional' can only be applied to members of an '@objc' protocol
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:8: error: 'optional' can only be applied to members of an '@objc' protocol
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:8: error: 'optional' can only be applied to members of an '@objc' protocol
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:8: error: 'optional' can only be applied to members of an '@objc' protocol
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
131 | }
132 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
131 | }
132 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:189:65: error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
187 | 				print("Failed polling with a non-kafka error")
188 | 			case .kafkaError(let errorCode):
189 | 				if errorCode.retriable, self.delegate.shouldRetryFailedFetch?(self._topic, partition: self._partition, errorId: errorCode.code, errorDescription: errorCode.description) ?? true {
    |                                                                 `- error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
190 | 					self.poll(offset)
191 | 				}
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:244:85: error: cannot force unwrap value of non-optional type '(String, Int32, Int64) -> Bool'
242 | 			}
243 |
244 | 			guard self.delegate.shouldCommitOffset != nil && self.delegate.shouldCommitOffset!(self._topic, partition: self._partition, offset: offset) else {
    |                                                                                     `- error: cannot force unwrap value of non-optional type '(String, Int32, Int64) -> Bool'
245 | 				return
246 | 			}
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:258:65: error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
256 | 				print("Failed polling with a non-kafka error")
257 | 			case .kafkaError(let errorCode):
258 | 				if errorCode.retriable, self.delegate.shouldRetryFailedFetch?(self._topic, partition: self._partition, errorId: errorCode.code, errorDescription: errorCode.description) ?? true {
    |                                                                 `- error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
259 | 					self.poll()
260 | 				}
[8/28] Compiling Franz OldConsumers.swift
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:13:2: error: Objective-C interoperability is disabled
 11 | Base consumer delegate. Used by SimpleConsumer.
 12 | */
 13 | @objc public protocol ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 14 | 	/**
 15 | 	Called when the consumer has consumed a new Message
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:8: error: 'optional' can only be applied to members of an '@objc' protocol
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:8: error: 'optional' can only be applied to members of an '@objc' protocol
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:8: error: 'optional' can only be applied to members of an '@objc' protocol
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:76:2: error: Objective-C interoperability is disabled
 74 | High-level consumer delegate. Used by HighLevelConsumer.
 75 | */
 76 | @objc public protocol HighLevelConsumerDelegate: ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 77 | 	/**
 78 | 	Called after messages have been pulled for server.
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:8: error: 'optional' can only be applied to members of an '@objc' protocol
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:8: error: 'optional' can only be applied to members of an '@objc' protocol
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:8: error: 'optional' can only be applied to members of an '@objc' protocol
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:8: error: 'optional' can only be applied to members of an '@objc' protocol
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:8: error: 'optional' can only be applied to members of an '@objc' protocol
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
131 | }
132 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
131 | }
132 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:189:65: error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
187 | 				print("Failed polling with a non-kafka error")
188 | 			case .kafkaError(let errorCode):
189 | 				if errorCode.retriable, self.delegate.shouldRetryFailedFetch?(self._topic, partition: self._partition, errorId: errorCode.code, errorDescription: errorCode.description) ?? true {
    |                                                                 `- error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
190 | 					self.poll(offset)
191 | 				}
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:244:85: error: cannot force unwrap value of non-optional type '(String, Int32, Int64) -> Bool'
242 | 			}
243 |
244 | 			guard self.delegate.shouldCommitOffset != nil && self.delegate.shouldCommitOffset!(self._topic, partition: self._partition, offset: offset) else {
    |                                                                                     `- error: cannot force unwrap value of non-optional type '(String, Int32, Int64) -> Bool'
245 | 				return
246 | 			}
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:258:65: error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
256 | 				print("Failed polling with a non-kafka error")
257 | 			case .kafkaError(let errorCode):
258 | 				if errorCode.retriable, self.delegate.shouldRetryFailedFetch?(self._topic, partition: self._partition, errorId: errorCode.code, errorDescription: errorCode.description) ?? true {
    |                                                                 `- error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
259 | 					self.poll()
260 | 				}
[9/28] Compiling Franz Partition.swift
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:13:2: error: Objective-C interoperability is disabled
 11 | Base consumer delegate. Used by SimpleConsumer.
 12 | */
 13 | @objc public protocol ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 14 | 	/**
 15 | 	Called when the consumer has consumed a new Message
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:8: error: 'optional' can only be applied to members of an '@objc' protocol
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:8: error: 'optional' can only be applied to members of an '@objc' protocol
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:8: error: 'optional' can only be applied to members of an '@objc' protocol
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:76:2: error: Objective-C interoperability is disabled
 74 | High-level consumer delegate. Used by HighLevelConsumer.
 75 | */
 76 | @objc public protocol HighLevelConsumerDelegate: ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 77 | 	/**
 78 | 	Called after messages have been pulled for server.
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:8: error: 'optional' can only be applied to members of an '@objc' protocol
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:8: error: 'optional' can only be applied to members of an '@objc' protocol
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:8: error: 'optional' can only be applied to members of an '@objc' protocol
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:8: error: 'optional' can only be applied to members of an '@objc' protocol
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:8: error: 'optional' can only be applied to members of an '@objc' protocol
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
131 | }
132 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
131 | }
132 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:189:65: error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
187 | 				print("Failed polling with a non-kafka error")
188 | 			case .kafkaError(let errorCode):
189 | 				if errorCode.retriable, self.delegate.shouldRetryFailedFetch?(self._topic, partition: self._partition, errorId: errorCode.code, errorDescription: errorCode.description) ?? true {
    |                                                                 `- error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
190 | 					self.poll(offset)
191 | 				}
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:244:85: error: cannot force unwrap value of non-optional type '(String, Int32, Int64) -> Bool'
242 | 			}
243 |
244 | 			guard self.delegate.shouldCommitOffset != nil && self.delegate.shouldCommitOffset!(self._topic, partition: self._partition, offset: offset) else {
    |                                                                                     `- error: cannot force unwrap value of non-optional type '(String, Int32, Int64) -> Bool'
245 | 				return
246 | 			}
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:258:65: error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
256 | 				print("Failed polling with a non-kafka error")
257 | 			case .kafkaError(let errorCode):
258 | 				if errorCode.retriable, self.delegate.shouldRetryFailedFetch?(self._topic, partition: self._partition, errorId: errorCode.code, errorDescription: errorCode.description) ?? true {
    |                                                                 `- error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
259 | 					self.poll()
260 | 				}
[10/28] Compiling Franz GroupCoordinatorAPI.swift
/host/spi-builder-workspace/Sources/Franz/GroupMembershipAPI.swift:411:24: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
361 | typealias MemberId = String
362 |
363 | class SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                               `- note: 'T' previously declared here
364 |
365 |     private var _groupId: String
    :
409 |
410 |
411 | 	class GroupAssignment<T: KafkaMetadata>: KafkaType {
    |                        `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
412 |
413 | 		let memberId: String
[11/28] Compiling Franz GroupMembershipAPI.swift
/host/spi-builder-workspace/Sources/Franz/GroupMembershipAPI.swift:411:24: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
361 | typealias MemberId = String
362 |
363 | class SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                               `- note: 'T' previously declared here
364 |
365 |     private var _groupId: String
    :
409 |
410 |
411 | 	class GroupAssignment<T: KafkaMetadata>: KafkaType {
    |                        `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
412 |
413 | 		let memberId: String
[12/28] Compiling Franz KafkaProtocol.swift
/host/spi-builder-workspace/Sources/Franz/GroupMembershipAPI.swift:411:24: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
361 | typealias MemberId = String
362 |
363 | class SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                               `- note: 'T' previously declared here
364 |
365 |     private var _groupId: String
    :
409 |
410 |
411 | 	class GroupAssignment<T: KafkaMetadata>: KafkaType {
    |                        `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
412 |
413 | 		let memberId: String
[13/28] Compiling Franz Connection.swift
/host/spi-builder-workspace/Sources/Franz/Connection.swift:101:39: error: cannot find type 'CFReadStream' in scope
 99 |     private var clientId: String
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
102 |     private var writeStream: Unmanaged<CFWriteStream>?
103 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:102:40: error: cannot find type 'CFWriteStream' in scope
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
102 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
103 |
104 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:132:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
130 |         super.init()
131 |
132 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
133 |             kCFAllocatorDefault,
134 |             ipv4 as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:133:13: error: cannot find 'kCFAllocatorDefault' in scope
131 |
132 |         CFStreamCreatePairWithSocketToHost(
133 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
134 |             ipv4 as CFString,
135 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:134:21: error: cannot find type 'CFString' in scope
132 |         CFStreamCreatePairWithSocketToHost(
133 |             kCFAllocatorDefault,
134 |             ipv4 as CFString,
    |                     `- error: cannot find type 'CFString' in scope
135 |             UInt32(port),
136 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:147:14: error: cannot find 'RunLoopMode' in scope
145 | 			self.inputStream?.schedule(
146 | 				in: RunLoop.current,
147 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
148 | 			)
149 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:153:14: error: cannot find 'RunLoopMode' in scope
151 | 			self.outputStream?.schedule(
152 | 				in: RunLoop.current,
153 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
154 | 			)
155 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:233:14: warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
231 |
232 | 					data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
233 | 						stream.write(bytes, maxLength: data.count)
    |              `- warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
234 | 					}
235 | //					let bytesPtr = (data as NSData).bytes
/host/spi-builder-workspace/Sources/Franz/Connection.swift:262:23: warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
260 |             var buffer = Array<UInt8>(repeating: 0, count: Int(length))
261 |             if activeInputStream.hasBytesAvailable {
262 | 				activeInputStream.read(&buffer, maxLength: Int(length))
    |                       `- warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
263 |             } else {
264 |                 throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:326:59: warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
324 |                     if _writeRequestBlocks.count > 0 {
325 |                         let block = _writeRequestBlocks.removeFirst()
326 |                         _outputStreamQueue.async(execute: block)
    |                                                           `- warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
327 |                     }
328 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:42:3: error: Objective-C interoperability is disabled
 40 |
 41 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 42 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 43 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 44 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit, clientId: cluster.clientId)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:47:3: error: Objective-C interoperability is disabled
 45 | 	}
 46 |
 47 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 48 | 		guard let groupId = self.membership?.group.id,
 49 | 			let generationId = self.membership?.group.generationId,
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:28:10: warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
 26 |
 27 | 		if #available(OSX 10.12, iOS 10, tvOS 10, watchOS 3, *) {
 28 | 			Timer.scheduledTimer(withTimeInterval: 5, repeats: true) { _ in self.commitGroupoffsets() }
    |          `- warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
 29 | 			Timer.scheduledTimer(withTimeInterval: 3, repeats: true) { _ in
 30 | 				self.sendHeartbeat()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:29:10: warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
 27 | 		if #available(OSX 10.12, iOS 10, tvOS 10, watchOS 3, *) {
 28 | 			Timer.scheduledTimer(withTimeInterval: 5, repeats: true) { _ in self.commitGroupoffsets() }
 29 | 			Timer.scheduledTimer(withTimeInterval: 3, repeats: true) { _ in
    |          `- warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
 30 | 				self.sendHeartbeat()
 31 | 			}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:34:66: error: '#selector' can only be used with the Objective-C runtime
 32 | 		} else {
 33 | 			// Fallback on earlier versions
 34 | 			Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
    |                                                                  `- error: '#selector' can only be used with the Objective-C runtime
 35 | 			Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
 36 | 		}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:35:66: error: '#selector' can only be used with the Objective-C runtime
 33 | 			// Fallback on earlier versions
 34 | 			Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
 35 | 			Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
    |                                                                  `- error: '#selector' can only be used with the Objective-C runtime
 36 | 		}
 37 | 	}
/host/spi-builder-workspace/Sources/Franz/Crypt/CRC32.swift:145:9: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
143 |     private(set) var crc: UInt32 = 0
144 |
145 |     var hashValue: Int {
    |         `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
146 |         return Int(crc)
147 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[14/28] Compiling Franz Consumer.swift
/host/spi-builder-workspace/Sources/Franz/Connection.swift:101:39: error: cannot find type 'CFReadStream' in scope
 99 |     private var clientId: String
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
102 |     private var writeStream: Unmanaged<CFWriteStream>?
103 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:102:40: error: cannot find type 'CFWriteStream' in scope
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
102 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
103 |
104 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:132:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
130 |         super.init()
131 |
132 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
133 |             kCFAllocatorDefault,
134 |             ipv4 as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:133:13: error: cannot find 'kCFAllocatorDefault' in scope
131 |
132 |         CFStreamCreatePairWithSocketToHost(
133 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
134 |             ipv4 as CFString,
135 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:134:21: error: cannot find type 'CFString' in scope
132 |         CFStreamCreatePairWithSocketToHost(
133 |             kCFAllocatorDefault,
134 |             ipv4 as CFString,
    |                     `- error: cannot find type 'CFString' in scope
135 |             UInt32(port),
136 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:147:14: error: cannot find 'RunLoopMode' in scope
145 | 			self.inputStream?.schedule(
146 | 				in: RunLoop.current,
147 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
148 | 			)
149 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:153:14: error: cannot find 'RunLoopMode' in scope
151 | 			self.outputStream?.schedule(
152 | 				in: RunLoop.current,
153 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
154 | 			)
155 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:233:14: warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
231 |
232 | 					data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
233 | 						stream.write(bytes, maxLength: data.count)
    |              `- warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
234 | 					}
235 | //					let bytesPtr = (data as NSData).bytes
/host/spi-builder-workspace/Sources/Franz/Connection.swift:262:23: warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
260 |             var buffer = Array<UInt8>(repeating: 0, count: Int(length))
261 |             if activeInputStream.hasBytesAvailable {
262 | 				activeInputStream.read(&buffer, maxLength: Int(length))
    |                       `- warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
263 |             } else {
264 |                 throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:326:59: warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
324 |                     if _writeRequestBlocks.count > 0 {
325 |                         let block = _writeRequestBlocks.removeFirst()
326 |                         _outputStreamQueue.async(execute: block)
    |                                                           `- warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
327 |                     }
328 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:42:3: error: Objective-C interoperability is disabled
 40 |
 41 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 42 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 43 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 44 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit, clientId: cluster.clientId)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:47:3: error: Objective-C interoperability is disabled
 45 | 	}
 46 |
 47 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 48 | 		guard let groupId = self.membership?.group.id,
 49 | 			let generationId = self.membership?.group.generationId,
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:28:10: warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
 26 |
 27 | 		if #available(OSX 10.12, iOS 10, tvOS 10, watchOS 3, *) {
 28 | 			Timer.scheduledTimer(withTimeInterval: 5, repeats: true) { _ in self.commitGroupoffsets() }
    |          `- warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
 29 | 			Timer.scheduledTimer(withTimeInterval: 3, repeats: true) { _ in
 30 | 				self.sendHeartbeat()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:29:10: warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
 27 | 		if #available(OSX 10.12, iOS 10, tvOS 10, watchOS 3, *) {
 28 | 			Timer.scheduledTimer(withTimeInterval: 5, repeats: true) { _ in self.commitGroupoffsets() }
 29 | 			Timer.scheduledTimer(withTimeInterval: 3, repeats: true) { _ in
    |          `- warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
 30 | 				self.sendHeartbeat()
 31 | 			}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:34:66: error: '#selector' can only be used with the Objective-C runtime
 32 | 		} else {
 33 | 			// Fallback on earlier versions
 34 | 			Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
    |                                                                  `- error: '#selector' can only be used with the Objective-C runtime
 35 | 			Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
 36 | 		}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:35:66: error: '#selector' can only be used with the Objective-C runtime
 33 | 			// Fallback on earlier versions
 34 | 			Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
 35 | 			Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
    |                                                                  `- error: '#selector' can only be used with the Objective-C runtime
 36 | 		}
 37 | 	}
/host/spi-builder-workspace/Sources/Franz/Crypt/CRC32.swift:145:9: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
143 |     private(set) var crc: UInt32 = 0
144 |
145 |     var hashValue: Int {
    |         `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
146 |         return Int(crc)
147 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[15/28] Compiling Franz CRC32.swift
/host/spi-builder-workspace/Sources/Franz/Connection.swift:101:39: error: cannot find type 'CFReadStream' in scope
 99 |     private var clientId: String
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
102 |     private var writeStream: Unmanaged<CFWriteStream>?
103 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:102:40: error: cannot find type 'CFWriteStream' in scope
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
102 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
103 |
104 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:132:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
130 |         super.init()
131 |
132 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
133 |             kCFAllocatorDefault,
134 |             ipv4 as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:133:13: error: cannot find 'kCFAllocatorDefault' in scope
131 |
132 |         CFStreamCreatePairWithSocketToHost(
133 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
134 |             ipv4 as CFString,
135 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:134:21: error: cannot find type 'CFString' in scope
132 |         CFStreamCreatePairWithSocketToHost(
133 |             kCFAllocatorDefault,
134 |             ipv4 as CFString,
    |                     `- error: cannot find type 'CFString' in scope
135 |             UInt32(port),
136 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:147:14: error: cannot find 'RunLoopMode' in scope
145 | 			self.inputStream?.schedule(
146 | 				in: RunLoop.current,
147 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
148 | 			)
149 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:153:14: error: cannot find 'RunLoopMode' in scope
151 | 			self.outputStream?.schedule(
152 | 				in: RunLoop.current,
153 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
154 | 			)
155 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:233:14: warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
231 |
232 | 					data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
233 | 						stream.write(bytes, maxLength: data.count)
    |              `- warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
234 | 					}
235 | //					let bytesPtr = (data as NSData).bytes
/host/spi-builder-workspace/Sources/Franz/Connection.swift:262:23: warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
260 |             var buffer = Array<UInt8>(repeating: 0, count: Int(length))
261 |             if activeInputStream.hasBytesAvailable {
262 | 				activeInputStream.read(&buffer, maxLength: Int(length))
    |                       `- warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
263 |             } else {
264 |                 throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:326:59: warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
324 |                     if _writeRequestBlocks.count > 0 {
325 |                         let block = _writeRequestBlocks.removeFirst()
326 |                         _outputStreamQueue.async(execute: block)
    |                                                           `- warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
327 |                     }
328 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:42:3: error: Objective-C interoperability is disabled
 40 |
 41 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 42 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 43 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 44 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit, clientId: cluster.clientId)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:47:3: error: Objective-C interoperability is disabled
 45 | 	}
 46 |
 47 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 48 | 		guard let groupId = self.membership?.group.id,
 49 | 			let generationId = self.membership?.group.generationId,
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:28:10: warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
 26 |
 27 | 		if #available(OSX 10.12, iOS 10, tvOS 10, watchOS 3, *) {
 28 | 			Timer.scheduledTimer(withTimeInterval: 5, repeats: true) { _ in self.commitGroupoffsets() }
    |          `- warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
 29 | 			Timer.scheduledTimer(withTimeInterval: 3, repeats: true) { _ in
 30 | 				self.sendHeartbeat()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:29:10: warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
 27 | 		if #available(OSX 10.12, iOS 10, tvOS 10, watchOS 3, *) {
 28 | 			Timer.scheduledTimer(withTimeInterval: 5, repeats: true) { _ in self.commitGroupoffsets() }
 29 | 			Timer.scheduledTimer(withTimeInterval: 3, repeats: true) { _ in
    |          `- warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
 30 | 				self.sendHeartbeat()
 31 | 			}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:34:66: error: '#selector' can only be used with the Objective-C runtime
 32 | 		} else {
 33 | 			// Fallback on earlier versions
 34 | 			Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
    |                                                                  `- error: '#selector' can only be used with the Objective-C runtime
 35 | 			Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
 36 | 		}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:35:66: error: '#selector' can only be used with the Objective-C runtime
 33 | 			// Fallback on earlier versions
 34 | 			Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
 35 | 			Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
    |                                                                  `- error: '#selector' can only be used with the Objective-C runtime
 36 | 		}
 37 | 	}
/host/spi-builder-workspace/Sources/Franz/Crypt/CRC32.swift:145:9: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
143 |     private(set) var crc: UInt32 = 0
144 |
145 |     var hashValue: Int {
    |         `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
146 |         return Int(crc)
147 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[16/28] Compiling Franz AdminAPI.swift
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:417:70: warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
415 |
416 |                 if dispatchBlocks.count > 0 {
417 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
418 |                 }
419 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:425:57: warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
423 |
424 |         if dispatchBlocks.count > 0 {
425 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
426 |         }
427 |     }
/host/spi-builder-workspace/Sources/Franz/Connection.swift:101:39: error: cannot find type 'CFReadStream' in scope
 99 |     private var clientId: String
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
102 |     private var writeStream: Unmanaged<CFWriteStream>?
103 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:102:40: error: cannot find type 'CFWriteStream' in scope
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
102 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
103 |
104 |     private var inputStream: InputStream?
[17/28] Compiling Franz Assignment.swift
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:417:70: warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
415 |
416 |                 if dispatchBlocks.count > 0 {
417 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
418 |                 }
419 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:425:57: warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
423 |
424 |         if dispatchBlocks.count > 0 {
425 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
426 |         }
427 |     }
/host/spi-builder-workspace/Sources/Franz/Connection.swift:101:39: error: cannot find type 'CFReadStream' in scope
 99 |     private var clientId: String
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
102 |     private var writeStream: Unmanaged<CFWriteStream>?
103 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:102:40: error: cannot find type 'CFWriteStream' in scope
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
102 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
103 |
104 |     private var inputStream: InputStream?
[18/28] Compiling Franz Broker.swift
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:417:70: warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
415 |
416 |                 if dispatchBlocks.count > 0 {
417 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
418 |                 }
419 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:425:57: warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
423 |
424 |         if dispatchBlocks.count > 0 {
425 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
426 |         }
427 |     }
/host/spi-builder-workspace/Sources/Franz/Connection.swift:101:39: error: cannot find type 'CFReadStream' in scope
 99 |     private var clientId: String
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
102 |     private var writeStream: Unmanaged<CFWriteStream>?
103 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:102:40: error: cannot find type 'CFWriteStream' in scope
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
102 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
103 |
104 |     private var inputStream: InputStream?
[19/28] Compiling Franz Cluster.swift
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:417:70: warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
415 |
416 |                 if dispatchBlocks.count > 0 {
417 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
418 |                 }
419 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:425:57: warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
423 |
424 |         if dispatchBlocks.count > 0 {
425 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-Sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
426 |         }
427 |     }
/host/spi-builder-workspace/Sources/Franz/Connection.swift:101:39: error: cannot find type 'CFReadStream' in scope
 99 |     private var clientId: String
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
102 |     private var writeStream: Unmanaged<CFWriteStream>?
103 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:102:40: error: cannot find type 'CFWriteStream' in scope
100 |
101 |     private var readStream: Unmanaged<CFReadStream>?
102 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
103 |
104 |     private var inputStream: InputStream?
[20/28] Compiling Franz KafkaRequest.swift
[21/28] Compiling Franz KafkaResponse.swift
[22/28] Compiling Franz MessageSet.swift
[23/28] Compiling Franz Enumerations.swift
/host/spi-builder-workspace/Sources/Franz/Group.swift:72:2: warning: 'internal(set)' modifier is redundant for an internal property
 70 |
 71 | 	var topics = Set<TopicName>()
 72 | 	internal(set) var assignedPartitions = [TopicName: [PartitionId]]()
    |  `- warning: 'internal(set)' modifier is redundant for an internal property
 73 | }
 74 |
[24/28] Compiling Franz FetchAPI.swift
/host/spi-builder-workspace/Sources/Franz/Group.swift:72:2: warning: 'internal(set)' modifier is redundant for an internal property
 70 |
 71 | 	var topics = Set<TopicName>()
 72 | 	internal(set) var assignedPartitions = [TopicName: [PartitionId]]()
    |  `- warning: 'internal(set)' modifier is redundant for an internal property
 73 | }
 74 |
[25/28] Compiling Franz Group.swift
/host/spi-builder-workspace/Sources/Franz/Group.swift:72:2: warning: 'internal(set)' modifier is redundant for an internal property
 70 |
 71 | 	var topics = Set<TopicName>()
 72 | 	internal(set) var assignedPartitions = [TopicName: [PartitionId]]()
    |  `- warning: 'internal(set)' modifier is redundant for an internal property
 73 | }
 74 |
[26/28] Compiling Franz MetadataAPI.swift
[27/28] Compiling Franz OffsetAPI.swift
[28/28] Compiling Franz OffsetCommitAPI.swift
BUILD FAILURE 6.3 linux