The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Franz, reference master (c39cd2), with Swift 6.1 for Android on 27 May 2025 07:26:42 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1

Build Log

189 | 							self._metadataReadQueue.asyncAfter(deadline: .now() + 1) {
    |        `- warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
190 | 								self.commitGroupOffset(groupId: groupId, topics: topics)
191 | 							}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:190:9: warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 16 | }
 17 |
 18 | class Broker: KafkaType {
    |       `- note: class 'Broker' does not conform to the 'Sendable' protocol
 19 |
 20 |     var groupMembership = [String: GroupMembership]()
    :
188 | 							print("Rebalance in progress, retrying offset commit after 1 second")
189 | 							self._metadataReadQueue.asyncAfter(deadline: .now() + 1) {
190 | 								self.commitGroupOffset(groupId: groupId, topics: topics)
    |         `- warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
191 | 							}
192 | 							return
/host/spi-builder-workspace/Sources/Franz/Broker.swift:224:5: warning: capture of 'callback' with non-sendable type '([TopicName : [PartitionId : Offset]]) -> ()' (aka '(Dictionary<String, Dictionary<Int32, Int64>>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
222 | 				}
223 |
224 | 				callback(offsets)
    |     |- warning: capture of 'callback' with non-sendable type '([TopicName : [PartitionId : Offset]]) -> ()' (aka '(Dictionary<String, Dictionary<Int32, Int64>>) -> ()') 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'
225 | 			}
226 | 		}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:248:5: warning: capture of 'callback' with non-sendable type '([TopicName : [PartitionId : [Offset]]]) -> ()' (aka '(Dictionary<String, Dictionary<Int32, Array<Int64>>>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
246 | 				})
247 |
248 | 				callback(topicsWithOffsets)
    |     |- warning: capture of 'callback' with non-sendable type '([TopicName : [PartitionId : [Offset]]]) -> ()' (aka '(Dictionary<String, Dictionary<Int32, Array<Int64>>>) -> ()') 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'
249 | 			}
250 | 		}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:266:36: warning: capture of 'callback' with non-sendable type '((String, String) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
264 | 					if error.code == 0 {
265 | 						for (groupId, groupProtocol) in response.groups {
266 | 							if let listGroupsCallback = callback {
    |                                    |- warning: capture of 'callback' with non-sendable type '((String, String) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
267 | 								listGroupsCallback(groupId, groupProtocol)
268 | 							}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:288:23: warning: capture of 'response' with non-sendable type 'DescribeGroupsRequest.Response' (aka 'DescribeGroupsResponse') in a '@Sendable' closure; this is an error in the Swift 6 language mode
286 | 		connection.write(describeGroupRequest) { response in
287 | 			self._metadataReadQueue.async {
288 | 				for groupState in response.states {
    |                       `- warning: capture of 'response' with non-sendable type 'DescribeGroupsRequest.Response' (aka 'DescribeGroupsResponse') in a '@Sendable' closure; this is an error in the Swift 6 language mode
289 | 					if let error = groupState.error {
290 | 						if error.code == 0 {
/host/spi-builder-workspace/Sources/Franz/API/AdminAPI.swift:145:7: note: class 'DescribeGroupsResponse' does not conform to the 'Sendable' protocol
143 |
144 |
145 | class DescribeGroupsResponse: KafkaResponse {
    |       `- note: class 'DescribeGroupsResponse' does not conform to the 'Sendable' protocol
146 |
147 |     private(set) var states: [GroupStateResponse]
/host/spi-builder-workspace/Sources/Franz/Broker.swift:291:39: warning: capture of 'callback' with non-sendable type '((String, GroupState) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
289 | 					if let error = groupState.error {
290 | 						if error.code == 0 {
291 | 							if let describeGroupCallback = callback, let id = groupState.id {
    |                                       |- warning: capture of 'callback' with non-sendable type '((String, GroupState) -> ())?' 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'
292 | 								describeGroupCallback(id, groupState.state)
293 | 							}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:324:14: warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 16 | }
 17 |
 18 | class Broker: KafkaType {
    |       `- note: class 'Broker' does not conform to the 'Sendable' protocol
 19 |
 20 |     var groupMembership = [String: GroupMembership]()
    :
322 | 				}
323 | 				let group = Group(
324 | 					broker: self,
    |              `- warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
325 | 					clientId: self.connectionConfig.clientId,
326 | 					groupProtocol: response.groupProtocol,
/host/spi-builder-workspace/Sources/Franz/Broker.swift:339:32: warning: capture of 'callback' with non-sendable type '((GroupMembership) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
337 | 				self.groupMembership[groupId] = groupMembership
338 |
339 | 				if let joinGroupCallback = callback {
    |                                |- warning: capture of 'callback' with non-sendable type '((GroupMembership) -> ())?' 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'
340 | 					joinGroupCallback(groupMembership)
341 | 				}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:351:23: warning: capture of 'response' with non-sendable type 'SyncGroupRequest<GroupMemberAssignment>.Response' (aka 'SyncGroupResponse<GroupMemberAssignment>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
349 | 		connection.write(request) { response in
350 | 			self._groupCoordinationQueue.async {
351 | 				guard let error = response.error else {
    |                       `- warning: capture of 'response' with non-sendable type 'SyncGroupRequest<GroupMemberAssignment>.Response' (aka 'SyncGroupResponse<GroupMemberAssignment>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
352 | 					fatalError("Unable to parse error")
353 | 				}
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:450:8: note: consider making generic struct 'SyncGroupResponse' conform to the 'Sendable' protocol
448 |
449 |
450 | struct SyncGroupResponse<T: KafkaMetadata>: KafkaResponse {
    |        `- note: consider making generic struct 'SyncGroupResponse' conform to the 'Sendable' protocol
451 |
452 |     private var _errorCode: Int16
/host/spi-builder-workspace/Sources/Franz/Broker.swift:356:6: warning: capture of 'callback' with non-sendable type '((GroupMemberAssignment) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
354 | 				switch error {
355 | 				case .noError:
356 | 					callback?(response.memberAssignment)
    |      |- warning: capture of 'callback' with non-sendable type '((GroupMemberAssignment) -> ())?' 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'
357 | 				default:
358 | 					print("ERROR: \(error.description)")
/host/spi-builder-workspace/Sources/Franz/Broker.swift:389:20: warning: capture of 'response' with non-sendable type 'SyncGroupRequest<GroupMemberAssignment>.Response' (aka 'SyncGroupResponse<GroupMemberAssignment>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
387 | 		connection.write(request) { response in
388 | 			self._groupCoordinationQueue.async {
389 | 				if let error = response.error {
    |                    `- warning: capture of 'response' with non-sendable type 'SyncGroupRequest<GroupMemberAssignment>.Response' (aka 'SyncGroupResponse<GroupMemberAssignment>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
390 | 					if error.code == 0 {
391 | 						callback?(response.memberAssignment)
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:450:8: note: consider making generic struct 'SyncGroupResponse' conform to the 'Sendable' protocol
448 |
449 |
450 | struct SyncGroupResponse<T: KafkaMetadata>: KafkaResponse {
    |        `- note: consider making generic struct 'SyncGroupResponse' conform to the 'Sendable' protocol
451 |
452 |     private var _errorCode: Int16
/host/spi-builder-workspace/Sources/Franz/Broker.swift:391:7: warning: capture of 'callback' with non-sendable type '((GroupMemberAssignment) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
389 | 				if let error = response.error {
390 | 					if error.code == 0 {
391 | 						callback?(response.memberAssignment)
    |       |- warning: capture of 'callback' with non-sendable type '((GroupMemberAssignment) -> ())?' 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'
392 | 					} else {
393 | 						print("ERROR: \(error.description)")
/host/spi-builder-workspace/Sources/Franz/Broker.swift:414:35: warning: capture of 'callback' with non-sendable type '(() -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
412 | 				if let error = response.error {
413 | 					if error.code == 0 {
414 | 						if let leaveGroupCallback = callback {
    |                                   |- warning: capture of 'callback' with non-sendable type '(() -> ())?' 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'
415 | 							leaveGroupCallback()
416 | 						}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:445:25: warning: capture of 'callback' with non-sendable type '(() -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
443 |                     switch error {
444 |                     case .noError:
445 |                         callback?()
    |                         |- warning: capture of 'callback' with non-sendable type '(() -> ())?' 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'
446 |                     default:
447 |                         print("ERROR: \(error.description)")
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:185:4: warning: capture of 'self' with non-sendable type 'Cluster' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
183 | 	public func createTopic(name: String, partitions: Int32, replicationFactor: Int16) {
184 | 		dispatchQueue.async {
185 | 			self.brokers.first?.value.createTopic(topics: [name: (partitions, replicationFactor)])
    |    `- warning: capture of 'self' with non-sendable type 'Cluster' in a '@Sendable' closure; this is an error in the Swift 6 language mode
186 | 		}
187 | 	}
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:248:17: warning: capture of 'broker' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
246 |         for (_, broker) in brokers {
247 |             dispatchQueue.async {
248 |                 broker.listGroups() { a, b in
    |                 `- warning: capture of 'broker' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
249 |                     callback(a, b)
250 |                 }
/host/spi-builder-workspace/Sources/Franz/Broker.swift:18:7: note: class 'Broker' does not conform to the 'Sendable' protocol
 16 | }
 17 |
 18 | class Broker: KafkaType {
    |       `- note: class 'Broker' does not conform to the 'Sendable' protocol
 19 |
 20 |     var groupMembership = [String: GroupMembership]()
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:249:21: warning: capture of 'callback' with non-sendable type '(String, String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
247 |             dispatchQueue.async {
248 |                 broker.listGroups() { a, b in
249 |                     callback(a, b)
    |                     |- warning: capture of 'callback' with non-sendable type '(String, String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
250 |                 }
251 |             }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:249:21: warning: capture of 'callback' with non-sendable type '(String, String) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
247 |             dispatchQueue.async {
248 |                 broker.listGroups() { a, b in
249 |                     callback(a, b)
    |                     |- warning: capture of 'callback' with non-sendable type '(String, String) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
250 |                 }
251 |             }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:366:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
364 | 								}
365 | 							case .Initialize, .PreparingRebalance, .Joining:
366 | 								self.dispatchQueue.asyncAfter(deadline: .now() + 1, execute: checkState)
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
367 | 							case .Stable:
368 | 								consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:352:5: warning: capture of 'self' with non-sendable type 'Cluster' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
350 | 		dispatchQueue.async {
351 | 			func joinGroup() {
352 | 				self.joinGroup(id: groupId, topics: topics, callback: { broker, membership in
    |     `- warning: capture of 'self' with non-sendable type 'Cluster' in a '@Sendable' closure; this is an error in the Swift 6 language mode
353 | 					func checkState() {
354 | 						membership.group.getState { groupId, state in
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:352:5: warning: capture of 'self' with non-sendable type 'Cluster' in an isolated local function; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
350 | 		dispatchQueue.async {
351 | 			func joinGroup() {
352 | 				self.joinGroup(id: groupId, topics: topics, callback: { broker, membership in
    |     `- warning: capture of 'self' with non-sendable type 'Cluster' in an isolated local function; this is an error in the Swift 6 language mode
353 | 					func checkState() {
354 | 						membership.group.getState { groupId, state in
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated local function; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated local function; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:358:9: warning: capture of 'self' with non-sendable type 'Cluster' in an isolated closure; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
356 | 							case .AwaitingSync, .CompletingRebalance:
357 | 								//TODO: check if currently the leader and only assign if leader
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
    |         `- warning: capture of 'self' with non-sendable type 'Cluster' in an isolated closure; this is an error in the Swift 6 language mode
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:358:9: warning: capture of 'self' with non-sendable type 'Cluster' in an isolated local function; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
356 | 							case .AwaitingSync, .CompletingRebalance:
357 | 								//TODO: check if currently the leader and only assign if leader
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
    |         `- warning: capture of 'self' with non-sendable type 'Cluster' in an isolated local function; this is an error in the Swift 6 language mode
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated local function; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated local function; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:358:9: warning: capture of 'self' with non-sendable type 'Cluster' in an isolated closure; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
356 | 							case .AwaitingSync, .CompletingRebalance:
357 | 								//TODO: check if currently the leader and only assign if leader
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
    |         `- warning: capture of 'self' with non-sendable type 'Cluster' in an isolated closure; this is an error in the Swift 6 language mode
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:447:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
445 |
446 |                 if dispatchBlocks.count > 0 {
447 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
448 |                 }
449 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:455:57: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
453 |
454 |         if dispatchBlocks.count > 0 {
455 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
456 |         }
457 |     }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:466:17: error: cannot find 'sleep' in scope
464 |             //Retry if broker isn't available
465 |             if response.error == KafkaErrorCode.groupCoordinatorNotAvailableCode {
466 |                 sleep(1)
    |                 `- error: cannot find 'sleep' in scope
467 |                 self.getGroupCoordinator(groupId: groupId, callback: callback)
468 |                 return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:218:21: warning: static property 'correlationId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
216 |     }
217 |
218 | 	private static var correlationId: Int32 = 0
    |                     |- warning: static property 'correlationId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'correlationId' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: add '@MainActor' to make static property 'correlationId' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
219 | 	func makeCorrelationId() -> Int32 {
220 | 		var id: Int32!
/host/spi-builder-workspace/Sources/Franz/Connection.swift:121:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
119 |         super.init()
120 |
121 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
122 |             kCFAllocatorDefault,
123 |             host as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:122:13: error: cannot find 'kCFAllocatorDefault' in scope
120 |
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
123 |             host as CFString,
124 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:123:21: error: cannot find type 'CFString' in scope
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
123 |             host as CFString,
    |                     `- error: cannot find type 'CFString' in scope
124 |             UInt32(port),
125 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:136:14: error: cannot find 'RunLoopMode' in scope
134 | 			self.inputStream?.schedule(
135 | 				in: RunLoop.current,
136 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
137 | 			)
138 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:142:14: error: cannot find 'RunLoopMode' in scope
140 | 			self.outputStream?.schedule(
141 | 				in: RunLoop.current,
142 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
143 | 			)
144 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:172:28: warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 73 | }
 74 |
 75 | class Connection: NSObject, StreamDelegate {
    |       `- note: class 'Connection' does not conform to the 'Sendable' protocol
 76 |
 77 | 	enum AuthenticationError: Error {
    :
170 |     private func read(_ timeout: Double = 3000) {
171 |         inputStreamQueue.async {
172 | 			guard let inputStream = self.inputStream else {
    |                            `- warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure; this is an error in the Swift 6 language mode
173 | 				print("Unable to find Input Stream")
174 | 				return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:252:12: warning: result of call to 'write(_:maxLength:)' is unused
250 | 			let data = request.data(correlationId: corId, clientId: self.clientId)
251 | 			data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
252 | 				stream.write(bytes, maxLength: data.count)
    |            `- warning: result of call to 'write(_:maxLength:)' is unused
253 | 			}
254 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:288:22: warning: result of call to 'read(_:maxLength:)' is unused
286 | 		var buffer = Array<UInt8>(repeating: 0, count: Int(length))
287 | 		if activeInputStream.hasBytesAvailable {
288 | 			activeInputStream.read(&buffer, maxLength: Int(length))
    |                      `- warning: result of call to 'read(_:maxLength:)' is unused
289 | 		} else {
290 | 			throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:349:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
347 |                     if writeRequestBlocks.count > 0 {
348 |                         let block = writeRequestBlocks.removeFirst()
349 |                         outputStreamQueue.async(execute: block)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
350 |                     }
351 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Connection.swift:375:49: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
373 | 		outputStream?.close()
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                 `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
377 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:376:50: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                  `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
377 | 		}
378 | 		requestCallbacks.forEach { $1(nil) }
[31/32] Compiling Franz Cluster.swift
/host/spi-builder-workspace/Sources/Franz/Broker.swift:149:26: warning: capture of 'response' with non-sendable type 'FetchRequest.Response' (aka 'FetchResponse') in a '@Sendable' closure; this is an error in the Swift 6 language mode
147 | 		connection.write(request) { response in
148 | 			readQueue.async {
149 | 				for responseTopic in response.topics {
    |                          `- warning: capture of 'response' with non-sendable type 'FetchRequest.Response' (aka 'FetchResponse') in a '@Sendable' closure; this is an error in the Swift 6 language mode
150 | 					for responsePartition in responseTopic.partitions {
151 | 						if let error = responsePartition.error {
/host/spi-builder-workspace/Sources/Franz/API/FetchAPI.swift:253:8: note: consider making struct 'FetchResponse' conform to the 'Sendable' protocol
251 |
252 |
253 | struct FetchResponse: KafkaResponse {
    |        `- note: consider making struct 'FetchResponse' conform to the 'Sendable' protocol
254 |
255 | 	var data: Data {
/host/spi-builder-workspace/Sources/Franz/Broker.swift:153:9: warning: capture of 'callback' with non-sendable type '([Message]) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
151 | 						if let error = responsePartition.error {
152 | 							if error.code == 0 {
153 | 								callback(responsePartition.messages)
    |         |- warning: capture of 'callback' with non-sendable type '([Message]) -> ()' 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'
154 | 							} else {
155 | 								print("ERROR: \(error.description)")
/host/spi-builder-workspace/Sources/Franz/Broker.swift:186:8: warning: capture of 'callback' with non-sendable type '(() -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
184 | 						switch error {
185 | 						case .noError:
186 | 							callback?()
    |        |- warning: capture of 'callback' with non-sendable type '(() -> 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'
187 | 						case .rebalanceInProgressCode:
188 | 							print("Rebalance in progress, retrying offset commit after 1 second")
/host/spi-builder-workspace/Sources/Franz/Broker.swift:189:8: warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 16 | }
 17 |
 18 | class Broker: KafkaType {
    |       `- note: class 'Broker' does not conform to the 'Sendable' protocol
 19 |
 20 |     var groupMembership = [String: GroupMembership]()
    :
187 | 						case .rebalanceInProgressCode:
188 | 							print("Rebalance in progress, retrying offset commit after 1 second")
189 | 							self._metadataReadQueue.asyncAfter(deadline: .now() + 1) {
    |        `- warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
190 | 								self.commitGroupOffset(groupId: groupId, topics: topics)
191 | 							}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:190:9: warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 16 | }
 17 |
 18 | class Broker: KafkaType {
    |       `- note: class 'Broker' does not conform to the 'Sendable' protocol
 19 |
 20 |     var groupMembership = [String: GroupMembership]()
    :
188 | 							print("Rebalance in progress, retrying offset commit after 1 second")
189 | 							self._metadataReadQueue.asyncAfter(deadline: .now() + 1) {
190 | 								self.commitGroupOffset(groupId: groupId, topics: topics)
    |         `- warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
191 | 							}
192 | 							return
/host/spi-builder-workspace/Sources/Franz/Broker.swift:224:5: warning: capture of 'callback' with non-sendable type '([TopicName : [PartitionId : Offset]]) -> ()' (aka '(Dictionary<String, Dictionary<Int32, Int64>>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
222 | 				}
223 |
224 | 				callback(offsets)
    |     |- warning: capture of 'callback' with non-sendable type '([TopicName : [PartitionId : Offset]]) -> ()' (aka '(Dictionary<String, Dictionary<Int32, Int64>>) -> ()') 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'
225 | 			}
226 | 		}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:248:5: warning: capture of 'callback' with non-sendable type '([TopicName : [PartitionId : [Offset]]]) -> ()' (aka '(Dictionary<String, Dictionary<Int32, Array<Int64>>>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
246 | 				})
247 |
248 | 				callback(topicsWithOffsets)
    |     |- warning: capture of 'callback' with non-sendable type '([TopicName : [PartitionId : [Offset]]]) -> ()' (aka '(Dictionary<String, Dictionary<Int32, Array<Int64>>>) -> ()') 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'
249 | 			}
250 | 		}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:266:36: warning: capture of 'callback' with non-sendable type '((String, String) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
264 | 					if error.code == 0 {
265 | 						for (groupId, groupProtocol) in response.groups {
266 | 							if let listGroupsCallback = callback {
    |                                    |- warning: capture of 'callback' with non-sendable type '((String, String) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
267 | 								listGroupsCallback(groupId, groupProtocol)
268 | 							}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:288:23: warning: capture of 'response' with non-sendable type 'DescribeGroupsRequest.Response' (aka 'DescribeGroupsResponse') in a '@Sendable' closure; this is an error in the Swift 6 language mode
286 | 		connection.write(describeGroupRequest) { response in
287 | 			self._metadataReadQueue.async {
288 | 				for groupState in response.states {
    |                       `- warning: capture of 'response' with non-sendable type 'DescribeGroupsRequest.Response' (aka 'DescribeGroupsResponse') in a '@Sendable' closure; this is an error in the Swift 6 language mode
289 | 					if let error = groupState.error {
290 | 						if error.code == 0 {
/host/spi-builder-workspace/Sources/Franz/API/AdminAPI.swift:145:7: note: class 'DescribeGroupsResponse' does not conform to the 'Sendable' protocol
143 |
144 |
145 | class DescribeGroupsResponse: KafkaResponse {
    |       `- note: class 'DescribeGroupsResponse' does not conform to the 'Sendable' protocol
146 |
147 |     private(set) var states: [GroupStateResponse]
/host/spi-builder-workspace/Sources/Franz/Broker.swift:291:39: warning: capture of 'callback' with non-sendable type '((String, GroupState) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
289 | 					if let error = groupState.error {
290 | 						if error.code == 0 {
291 | 							if let describeGroupCallback = callback, let id = groupState.id {
    |                                       |- warning: capture of 'callback' with non-sendable type '((String, GroupState) -> ())?' 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'
292 | 								describeGroupCallback(id, groupState.state)
293 | 							}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:324:14: warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 16 | }
 17 |
 18 | class Broker: KafkaType {
    |       `- note: class 'Broker' does not conform to the 'Sendable' protocol
 19 |
 20 |     var groupMembership = [String: GroupMembership]()
    :
322 | 				}
323 | 				let group = Group(
324 | 					broker: self,
    |              `- warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
325 | 					clientId: self.connectionConfig.clientId,
326 | 					groupProtocol: response.groupProtocol,
/host/spi-builder-workspace/Sources/Franz/Broker.swift:339:32: warning: capture of 'callback' with non-sendable type '((GroupMembership) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
337 | 				self.groupMembership[groupId] = groupMembership
338 |
339 | 				if let joinGroupCallback = callback {
    |                                |- warning: capture of 'callback' with non-sendable type '((GroupMembership) -> ())?' 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'
340 | 					joinGroupCallback(groupMembership)
341 | 				}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:351:23: warning: capture of 'response' with non-sendable type 'SyncGroupRequest<GroupMemberAssignment>.Response' (aka 'SyncGroupResponse<GroupMemberAssignment>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
349 | 		connection.write(request) { response in
350 | 			self._groupCoordinationQueue.async {
351 | 				guard let error = response.error else {
    |                       `- warning: capture of 'response' with non-sendable type 'SyncGroupRequest<GroupMemberAssignment>.Response' (aka 'SyncGroupResponse<GroupMemberAssignment>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
352 | 					fatalError("Unable to parse error")
353 | 				}
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:450:8: note: consider making generic struct 'SyncGroupResponse' conform to the 'Sendable' protocol
448 |
449 |
450 | struct SyncGroupResponse<T: KafkaMetadata>: KafkaResponse {
    |        `- note: consider making generic struct 'SyncGroupResponse' conform to the 'Sendable' protocol
451 |
452 |     private var _errorCode: Int16
/host/spi-builder-workspace/Sources/Franz/Broker.swift:356:6: warning: capture of 'callback' with non-sendable type '((GroupMemberAssignment) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
354 | 				switch error {
355 | 				case .noError:
356 | 					callback?(response.memberAssignment)
    |      |- warning: capture of 'callback' with non-sendable type '((GroupMemberAssignment) -> ())?' 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'
357 | 				default:
358 | 					print("ERROR: \(error.description)")
/host/spi-builder-workspace/Sources/Franz/Broker.swift:389:20: warning: capture of 'response' with non-sendable type 'SyncGroupRequest<GroupMemberAssignment>.Response' (aka 'SyncGroupResponse<GroupMemberAssignment>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
387 | 		connection.write(request) { response in
388 | 			self._groupCoordinationQueue.async {
389 | 				if let error = response.error {
    |                    `- warning: capture of 'response' with non-sendable type 'SyncGroupRequest<GroupMemberAssignment>.Response' (aka 'SyncGroupResponse<GroupMemberAssignment>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
390 | 					if error.code == 0 {
391 | 						callback?(response.memberAssignment)
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:450:8: note: consider making generic struct 'SyncGroupResponse' conform to the 'Sendable' protocol
448 |
449 |
450 | struct SyncGroupResponse<T: KafkaMetadata>: KafkaResponse {
    |        `- note: consider making generic struct 'SyncGroupResponse' conform to the 'Sendable' protocol
451 |
452 |     private var _errorCode: Int16
/host/spi-builder-workspace/Sources/Franz/Broker.swift:391:7: warning: capture of 'callback' with non-sendable type '((GroupMemberAssignment) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
389 | 				if let error = response.error {
390 | 					if error.code == 0 {
391 | 						callback?(response.memberAssignment)
    |       |- warning: capture of 'callback' with non-sendable type '((GroupMemberAssignment) -> ())?' 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'
392 | 					} else {
393 | 						print("ERROR: \(error.description)")
/host/spi-builder-workspace/Sources/Franz/Broker.swift:414:35: warning: capture of 'callback' with non-sendable type '(() -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
412 | 				if let error = response.error {
413 | 					if error.code == 0 {
414 | 						if let leaveGroupCallback = callback {
    |                                   |- warning: capture of 'callback' with non-sendable type '(() -> ())?' 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'
415 | 							leaveGroupCallback()
416 | 						}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:445:25: warning: capture of 'callback' with non-sendable type '(() -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
443 |                     switch error {
444 |                     case .noError:
445 |                         callback?()
    |                         |- warning: capture of 'callback' with non-sendable type '(() -> ())?' 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'
446 |                     default:
447 |                         print("ERROR: \(error.description)")
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:185:4: warning: capture of 'self' with non-sendable type 'Cluster' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
183 | 	public func createTopic(name: String, partitions: Int32, replicationFactor: Int16) {
184 | 		dispatchQueue.async {
185 | 			self.brokers.first?.value.createTopic(topics: [name: (partitions, replicationFactor)])
    |    `- warning: capture of 'self' with non-sendable type 'Cluster' in a '@Sendable' closure; this is an error in the Swift 6 language mode
186 | 		}
187 | 	}
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:248:17: warning: capture of 'broker' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
246 |         for (_, broker) in brokers {
247 |             dispatchQueue.async {
248 |                 broker.listGroups() { a, b in
    |                 `- warning: capture of 'broker' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
249 |                     callback(a, b)
250 |                 }
/host/spi-builder-workspace/Sources/Franz/Broker.swift:18:7: note: class 'Broker' does not conform to the 'Sendable' protocol
 16 | }
 17 |
 18 | class Broker: KafkaType {
    |       `- note: class 'Broker' does not conform to the 'Sendable' protocol
 19 |
 20 |     var groupMembership = [String: GroupMembership]()
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:249:21: warning: capture of 'callback' with non-sendable type '(String, String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
247 |             dispatchQueue.async {
248 |                 broker.listGroups() { a, b in
249 |                     callback(a, b)
    |                     |- warning: capture of 'callback' with non-sendable type '(String, String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
250 |                 }
251 |             }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:249:21: warning: capture of 'callback' with non-sendable type '(String, String) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
247 |             dispatchQueue.async {
248 |                 broker.listGroups() { a, b in
249 |                     callback(a, b)
    |                     |- warning: capture of 'callback' with non-sendable type '(String, String) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
250 |                 }
251 |             }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:366:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
364 | 								}
365 | 							case .Initialize, .PreparingRebalance, .Joining:
366 | 								self.dispatchQueue.asyncAfter(deadline: .now() + 1, execute: checkState)
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
367 | 							case .Stable:
368 | 								consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:352:5: warning: capture of 'self' with non-sendable type 'Cluster' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
350 | 		dispatchQueue.async {
351 | 			func joinGroup() {
352 | 				self.joinGroup(id: groupId, topics: topics, callback: { broker, membership in
    |     `- warning: capture of 'self' with non-sendable type 'Cluster' in a '@Sendable' closure; this is an error in the Swift 6 language mode
353 | 					func checkState() {
354 | 						membership.group.getState { groupId, state in
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:352:5: warning: capture of 'self' with non-sendable type 'Cluster' in an isolated local function; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
350 | 		dispatchQueue.async {
351 | 			func joinGroup() {
352 | 				self.joinGroup(id: groupId, topics: topics, callback: { broker, membership in
    |     `- warning: capture of 'self' with non-sendable type 'Cluster' in an isolated local function; this is an error in the Swift 6 language mode
353 | 					func checkState() {
354 | 						membership.group.getState { groupId, state in
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated local function; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated local function; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:358:9: warning: capture of 'self' with non-sendable type 'Cluster' in an isolated closure; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
356 | 							case .AwaitingSync, .CompletingRebalance:
357 | 								//TODO: check if currently the leader and only assign if leader
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
    |         `- warning: capture of 'self' with non-sendable type 'Cluster' in an isolated closure; this is an error in the Swift 6 language mode
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:358:9: warning: capture of 'self' with non-sendable type 'Cluster' in an isolated local function; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
356 | 							case .AwaitingSync, .CompletingRebalance:
357 | 								//TODO: check if currently the leader and only assign if leader
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
    |         `- warning: capture of 'self' with non-sendable type 'Cluster' in an isolated local function; this is an error in the Swift 6 language mode
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated local function; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated local function; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:358:9: warning: capture of 'self' with non-sendable type 'Cluster' in an isolated closure; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
356 | 							case .AwaitingSync, .CompletingRebalance:
357 | 								//TODO: check if currently the leader and only assign if leader
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
    |         `- warning: capture of 'self' with non-sendable type 'Cluster' in an isolated closure; this is an error in the Swift 6 language mode
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:447:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
445 |
446 |                 if dispatchBlocks.count > 0 {
447 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
448 |                 }
449 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:455:57: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
453 |
454 |         if dispatchBlocks.count > 0 {
455 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
456 |         }
457 |     }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:466:17: error: cannot find 'sleep' in scope
464 |             //Retry if broker isn't available
465 |             if response.error == KafkaErrorCode.groupCoordinatorNotAvailableCode {
466 |                 sleep(1)
    |                 `- error: cannot find 'sleep' in scope
467 |                 self.getGroupCoordinator(groupId: groupId, callback: callback)
468 |                 return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:218:21: warning: static property 'correlationId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
216 |     }
217 |
218 | 	private static var correlationId: Int32 = 0
    |                     |- warning: static property 'correlationId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'correlationId' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: add '@MainActor' to make static property 'correlationId' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
219 | 	func makeCorrelationId() -> Int32 {
220 | 		var id: Int32!
/host/spi-builder-workspace/Sources/Franz/Connection.swift:121:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
119 |         super.init()
120 |
121 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
122 |             kCFAllocatorDefault,
123 |             host as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:122:13: error: cannot find 'kCFAllocatorDefault' in scope
120 |
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
123 |             host as CFString,
124 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:123:21: error: cannot find type 'CFString' in scope
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
123 |             host as CFString,
    |                     `- error: cannot find type 'CFString' in scope
124 |             UInt32(port),
125 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:136:14: error: cannot find 'RunLoopMode' in scope
134 | 			self.inputStream?.schedule(
135 | 				in: RunLoop.current,
136 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
137 | 			)
138 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:142:14: error: cannot find 'RunLoopMode' in scope
140 | 			self.outputStream?.schedule(
141 | 				in: RunLoop.current,
142 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
143 | 			)
144 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:172:28: warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 73 | }
 74 |
 75 | class Connection: NSObject, StreamDelegate {
    |       `- note: class 'Connection' does not conform to the 'Sendable' protocol
 76 |
 77 | 	enum AuthenticationError: Error {
    :
170 |     private func read(_ timeout: Double = 3000) {
171 |         inputStreamQueue.async {
172 | 			guard let inputStream = self.inputStream else {
    |                            `- warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure; this is an error in the Swift 6 language mode
173 | 				print("Unable to find Input Stream")
174 | 				return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:252:12: warning: result of call to 'write(_:maxLength:)' is unused
250 | 			let data = request.data(correlationId: corId, clientId: self.clientId)
251 | 			data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
252 | 				stream.write(bytes, maxLength: data.count)
    |            `- warning: result of call to 'write(_:maxLength:)' is unused
253 | 			}
254 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:288:22: warning: result of call to 'read(_:maxLength:)' is unused
286 | 		var buffer = Array<UInt8>(repeating: 0, count: Int(length))
287 | 		if activeInputStream.hasBytesAvailable {
288 | 			activeInputStream.read(&buffer, maxLength: Int(length))
    |                      `- warning: result of call to 'read(_:maxLength:)' is unused
289 | 		} else {
290 | 			throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:349:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
347 |                     if writeRequestBlocks.count > 0 {
348 |                         let block = writeRequestBlocks.removeFirst()
349 |                         outputStreamQueue.async(execute: block)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
350 |                     }
351 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Connection.swift:375:49: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
373 | 		outputStream?.close()
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                 `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
377 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:376:50: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                  `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
377 | 		}
378 | 		requestCallbacks.forEach { $1(nil) }
[32/32] Compiling Franz Connection.swift
/host/spi-builder-workspace/Sources/Franz/Broker.swift:149:26: warning: capture of 'response' with non-sendable type 'FetchRequest.Response' (aka 'FetchResponse') in a '@Sendable' closure; this is an error in the Swift 6 language mode
147 | 		connection.write(request) { response in
148 | 			readQueue.async {
149 | 				for responseTopic in response.topics {
    |                          `- warning: capture of 'response' with non-sendable type 'FetchRequest.Response' (aka 'FetchResponse') in a '@Sendable' closure; this is an error in the Swift 6 language mode
150 | 					for responsePartition in responseTopic.partitions {
151 | 						if let error = responsePartition.error {
/host/spi-builder-workspace/Sources/Franz/API/FetchAPI.swift:253:8: note: consider making struct 'FetchResponse' conform to the 'Sendable' protocol
251 |
252 |
253 | struct FetchResponse: KafkaResponse {
    |        `- note: consider making struct 'FetchResponse' conform to the 'Sendable' protocol
254 |
255 | 	var data: Data {
/host/spi-builder-workspace/Sources/Franz/Broker.swift:153:9: warning: capture of 'callback' with non-sendable type '([Message]) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
151 | 						if let error = responsePartition.error {
152 | 							if error.code == 0 {
153 | 								callback(responsePartition.messages)
    |         |- warning: capture of 'callback' with non-sendable type '([Message]) -> ()' 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'
154 | 							} else {
155 | 								print("ERROR: \(error.description)")
/host/spi-builder-workspace/Sources/Franz/Broker.swift:186:8: warning: capture of 'callback' with non-sendable type '(() -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
184 | 						switch error {
185 | 						case .noError:
186 | 							callback?()
    |        |- warning: capture of 'callback' with non-sendable type '(() -> 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'
187 | 						case .rebalanceInProgressCode:
188 | 							print("Rebalance in progress, retrying offset commit after 1 second")
/host/spi-builder-workspace/Sources/Franz/Broker.swift:189:8: warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 16 | }
 17 |
 18 | class Broker: KafkaType {
    |       `- note: class 'Broker' does not conform to the 'Sendable' protocol
 19 |
 20 |     var groupMembership = [String: GroupMembership]()
    :
187 | 						case .rebalanceInProgressCode:
188 | 							print("Rebalance in progress, retrying offset commit after 1 second")
189 | 							self._metadataReadQueue.asyncAfter(deadline: .now() + 1) {
    |        `- warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
190 | 								self.commitGroupOffset(groupId: groupId, topics: topics)
191 | 							}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:190:9: warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 16 | }
 17 |
 18 | class Broker: KafkaType {
    |       `- note: class 'Broker' does not conform to the 'Sendable' protocol
 19 |
 20 |     var groupMembership = [String: GroupMembership]()
    :
188 | 							print("Rebalance in progress, retrying offset commit after 1 second")
189 | 							self._metadataReadQueue.asyncAfter(deadline: .now() + 1) {
190 | 								self.commitGroupOffset(groupId: groupId, topics: topics)
    |         `- warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
191 | 							}
192 | 							return
/host/spi-builder-workspace/Sources/Franz/Broker.swift:224:5: warning: capture of 'callback' with non-sendable type '([TopicName : [PartitionId : Offset]]) -> ()' (aka '(Dictionary<String, Dictionary<Int32, Int64>>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
222 | 				}
223 |
224 | 				callback(offsets)
    |     |- warning: capture of 'callback' with non-sendable type '([TopicName : [PartitionId : Offset]]) -> ()' (aka '(Dictionary<String, Dictionary<Int32, Int64>>) -> ()') 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'
225 | 			}
226 | 		}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:248:5: warning: capture of 'callback' with non-sendable type '([TopicName : [PartitionId : [Offset]]]) -> ()' (aka '(Dictionary<String, Dictionary<Int32, Array<Int64>>>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
246 | 				})
247 |
248 | 				callback(topicsWithOffsets)
    |     |- warning: capture of 'callback' with non-sendable type '([TopicName : [PartitionId : [Offset]]]) -> ()' (aka '(Dictionary<String, Dictionary<Int32, Array<Int64>>>) -> ()') 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'
249 | 			}
250 | 		}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:266:36: warning: capture of 'callback' with non-sendable type '((String, String) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
264 | 					if error.code == 0 {
265 | 						for (groupId, groupProtocol) in response.groups {
266 | 							if let listGroupsCallback = callback {
    |                                    |- warning: capture of 'callback' with non-sendable type '((String, String) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
267 | 								listGroupsCallback(groupId, groupProtocol)
268 | 							}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:288:23: warning: capture of 'response' with non-sendable type 'DescribeGroupsRequest.Response' (aka 'DescribeGroupsResponse') in a '@Sendable' closure; this is an error in the Swift 6 language mode
286 | 		connection.write(describeGroupRequest) { response in
287 | 			self._metadataReadQueue.async {
288 | 				for groupState in response.states {
    |                       `- warning: capture of 'response' with non-sendable type 'DescribeGroupsRequest.Response' (aka 'DescribeGroupsResponse') in a '@Sendable' closure; this is an error in the Swift 6 language mode
289 | 					if let error = groupState.error {
290 | 						if error.code == 0 {
/host/spi-builder-workspace/Sources/Franz/API/AdminAPI.swift:145:7: note: class 'DescribeGroupsResponse' does not conform to the 'Sendable' protocol
143 |
144 |
145 | class DescribeGroupsResponse: KafkaResponse {
    |       `- note: class 'DescribeGroupsResponse' does not conform to the 'Sendable' protocol
146 |
147 |     private(set) var states: [GroupStateResponse]
/host/spi-builder-workspace/Sources/Franz/Broker.swift:291:39: warning: capture of 'callback' with non-sendable type '((String, GroupState) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
289 | 					if let error = groupState.error {
290 | 						if error.code == 0 {
291 | 							if let describeGroupCallback = callback, let id = groupState.id {
    |                                       |- warning: capture of 'callback' with non-sendable type '((String, GroupState) -> ())?' 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'
292 | 								describeGroupCallback(id, groupState.state)
293 | 							}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:324:14: warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 16 | }
 17 |
 18 | class Broker: KafkaType {
    |       `- note: class 'Broker' does not conform to the 'Sendable' protocol
 19 |
 20 |     var groupMembership = [String: GroupMembership]()
    :
322 | 				}
323 | 				let group = Group(
324 | 					broker: self,
    |              `- warning: capture of 'self' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
325 | 					clientId: self.connectionConfig.clientId,
326 | 					groupProtocol: response.groupProtocol,
/host/spi-builder-workspace/Sources/Franz/Broker.swift:339:32: warning: capture of 'callback' with non-sendable type '((GroupMembership) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
337 | 				self.groupMembership[groupId] = groupMembership
338 |
339 | 				if let joinGroupCallback = callback {
    |                                |- warning: capture of 'callback' with non-sendable type '((GroupMembership) -> ())?' 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'
340 | 					joinGroupCallback(groupMembership)
341 | 				}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:351:23: warning: capture of 'response' with non-sendable type 'SyncGroupRequest<GroupMemberAssignment>.Response' (aka 'SyncGroupResponse<GroupMemberAssignment>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
349 | 		connection.write(request) { response in
350 | 			self._groupCoordinationQueue.async {
351 | 				guard let error = response.error else {
    |                       `- warning: capture of 'response' with non-sendable type 'SyncGroupRequest<GroupMemberAssignment>.Response' (aka 'SyncGroupResponse<GroupMemberAssignment>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
352 | 					fatalError("Unable to parse error")
353 | 				}
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:450:8: note: consider making generic struct 'SyncGroupResponse' conform to the 'Sendable' protocol
448 |
449 |
450 | struct SyncGroupResponse<T: KafkaMetadata>: KafkaResponse {
    |        `- note: consider making generic struct 'SyncGroupResponse' conform to the 'Sendable' protocol
451 |
452 |     private var _errorCode: Int16
/host/spi-builder-workspace/Sources/Franz/Broker.swift:356:6: warning: capture of 'callback' with non-sendable type '((GroupMemberAssignment) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
354 | 				switch error {
355 | 				case .noError:
356 | 					callback?(response.memberAssignment)
    |      |- warning: capture of 'callback' with non-sendable type '((GroupMemberAssignment) -> ())?' 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'
357 | 				default:
358 | 					print("ERROR: \(error.description)")
/host/spi-builder-workspace/Sources/Franz/Broker.swift:389:20: warning: capture of 'response' with non-sendable type 'SyncGroupRequest<GroupMemberAssignment>.Response' (aka 'SyncGroupResponse<GroupMemberAssignment>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
387 | 		connection.write(request) { response in
388 | 			self._groupCoordinationQueue.async {
389 | 				if let error = response.error {
    |                    `- warning: capture of 'response' with non-sendable type 'SyncGroupRequest<GroupMemberAssignment>.Response' (aka 'SyncGroupResponse<GroupMemberAssignment>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
390 | 					if error.code == 0 {
391 | 						callback?(response.memberAssignment)
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:450:8: note: consider making generic struct 'SyncGroupResponse' conform to the 'Sendable' protocol
448 |
449 |
450 | struct SyncGroupResponse<T: KafkaMetadata>: KafkaResponse {
    |        `- note: consider making generic struct 'SyncGroupResponse' conform to the 'Sendable' protocol
451 |
452 |     private var _errorCode: Int16
/host/spi-builder-workspace/Sources/Franz/Broker.swift:391:7: warning: capture of 'callback' with non-sendable type '((GroupMemberAssignment) -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
389 | 				if let error = response.error {
390 | 					if error.code == 0 {
391 | 						callback?(response.memberAssignment)
    |       |- warning: capture of 'callback' with non-sendable type '((GroupMemberAssignment) -> ())?' 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'
392 | 					} else {
393 | 						print("ERROR: \(error.description)")
/host/spi-builder-workspace/Sources/Franz/Broker.swift:414:35: warning: capture of 'callback' with non-sendable type '(() -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
412 | 				if let error = response.error {
413 | 					if error.code == 0 {
414 | 						if let leaveGroupCallback = callback {
    |                                   |- warning: capture of 'callback' with non-sendable type '(() -> ())?' 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'
415 | 							leaveGroupCallback()
416 | 						}
/host/spi-builder-workspace/Sources/Franz/Broker.swift:445:25: warning: capture of 'callback' with non-sendable type '(() -> ())?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
443 |                     switch error {
444 |                     case .noError:
445 |                         callback?()
    |                         |- warning: capture of 'callback' with non-sendable type '(() -> ())?' 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'
446 |                     default:
447 |                         print("ERROR: \(error.description)")
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:185:4: warning: capture of 'self' with non-sendable type 'Cluster' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
183 | 	public func createTopic(name: String, partitions: Int32, replicationFactor: Int16) {
184 | 		dispatchQueue.async {
185 | 			self.brokers.first?.value.createTopic(topics: [name: (partitions, replicationFactor)])
    |    `- warning: capture of 'self' with non-sendable type 'Cluster' in a '@Sendable' closure; this is an error in the Swift 6 language mode
186 | 		}
187 | 	}
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:248:17: warning: capture of 'broker' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
246 |         for (_, broker) in brokers {
247 |             dispatchQueue.async {
248 |                 broker.listGroups() { a, b in
    |                 `- warning: capture of 'broker' with non-sendable type 'Broker' in a '@Sendable' closure; this is an error in the Swift 6 language mode
249 |                     callback(a, b)
250 |                 }
/host/spi-builder-workspace/Sources/Franz/Broker.swift:18:7: note: class 'Broker' does not conform to the 'Sendable' protocol
 16 | }
 17 |
 18 | class Broker: KafkaType {
    |       `- note: class 'Broker' does not conform to the 'Sendable' protocol
 19 |
 20 |     var groupMembership = [String: GroupMembership]()
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:249:21: warning: capture of 'callback' with non-sendable type '(String, String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
247 |             dispatchQueue.async {
248 |                 broker.listGroups() { a, b in
249 |                     callback(a, b)
    |                     |- warning: capture of 'callback' with non-sendable type '(String, String) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
250 |                 }
251 |             }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:249:21: warning: capture of 'callback' with non-sendable type '(String, String) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
247 |             dispatchQueue.async {
248 |                 broker.listGroups() { a, b in
249 |                     callback(a, b)
    |                     |- warning: capture of 'callback' with non-sendable type '(String, String) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
250 |                 }
251 |             }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:366:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
364 | 								}
365 | 							case .Initialize, .PreparingRebalance, .Joining:
366 | 								self.dispatchQueue.asyncAfter(deadline: .now() + 1, execute: checkState)
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
367 | 							case .Stable:
368 | 								consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:352:5: warning: capture of 'self' with non-sendable type 'Cluster' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
350 | 		dispatchQueue.async {
351 | 			func joinGroup() {
352 | 				self.joinGroup(id: groupId, topics: topics, callback: { broker, membership in
    |     `- warning: capture of 'self' with non-sendable type 'Cluster' in a '@Sendable' closure; this is an error in the Swift 6 language mode
353 | 					func checkState() {
354 | 						membership.group.getState { groupId, state in
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:352:5: warning: capture of 'self' with non-sendable type 'Cluster' in an isolated local function; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
350 | 		dispatchQueue.async {
351 | 			func joinGroup() {
352 | 				self.joinGroup(id: groupId, topics: topics, callback: { broker, membership in
    |     `- warning: capture of 'self' with non-sendable type 'Cluster' in an isolated local function; this is an error in the Swift 6 language mode
353 | 					func checkState() {
354 | 						membership.group.getState { groupId, state in
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated local function; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated local function; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:358:9: warning: capture of 'self' with non-sendable type 'Cluster' in an isolated closure; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
356 | 							case .AwaitingSync, .CompletingRebalance:
357 | 								//TODO: check if currently the leader and only assign if leader
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
    |         `- warning: capture of 'self' with non-sendable type 'Cluster' in an isolated closure; this is an error in the Swift 6 language mode
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:358:9: warning: capture of 'self' with non-sendable type 'Cluster' in an isolated local function; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
356 | 							case .AwaitingSync, .CompletingRebalance:
357 | 								//TODO: check if currently the leader and only assign if leader
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
    |         `- warning: capture of 'self' with non-sendable type 'Cluster' in an isolated local function; this is an error in the Swift 6 language mode
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated local function; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated local function; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:358:9: warning: capture of 'self' with non-sendable type 'Cluster' in an isolated closure; this is an error in the Swift 6 language mode
 27 | A cluster that represents a connection to multiple brokers.
 28 | */
 29 | public class Cluster {
    |              `- note: class 'Cluster' does not conform to the 'Sendable' protocol
 30 |
 31 |     private var batches = [String: [Int32: [MessageSetItem]]]()
    :
356 | 							case .AwaitingSync, .CompletingRebalance:
357 | 								//TODO: check if currently the leader and only assign if leader
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
    |         `- warning: capture of 'self' with non-sendable type 'Cluster' in an isolated closure; this is an error in the Swift 6 language mode
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:360:11: warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
358 | 								self.assignRoundRobin(members: membership.members.map { $0.memberId }, topics: topics) { assignments in
359 | 									membership.sync(assignments[membership.memberId]!, data: Data()) {
360 | 										consumer.broker = broker
    |           `- warning: capture of 'consumer' with non-sendable type 'Consumer' in an isolated closure; this is an error in the Swift 6 language mode
361 | 										consumer.membership = membership
362 | 										consumer.joinedGroupSemaphore.signal()
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:18:14: note: class 'Consumer' does not conform to the 'Sendable' protocol
 16 | - SeeAlso: `Cluster.getConsumer(topics: groupId:)`
 17 | */
 18 | public class Consumer {
    |              `- note: class 'Consumer' does not conform to the 'Sendable' protocol
 19 | 	private let cluster: Cluster
 20 | 	internal var broker: Broker?
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:447:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
445 |
446 |                 if dispatchBlocks.count > 0 {
447 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
448 |                 }
449 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:455:57: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
453 |
454 |         if dispatchBlocks.count > 0 {
455 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
456 |         }
457 |     }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:466:17: error: cannot find 'sleep' in scope
464 |             //Retry if broker isn't available
465 |             if response.error == KafkaErrorCode.groupCoordinatorNotAvailableCode {
466 |                 sleep(1)
    |                 `- error: cannot find 'sleep' in scope
467 |                 self.getGroupCoordinator(groupId: groupId, callback: callback)
468 |                 return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:218:21: warning: static property 'correlationId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
216 |     }
217 |
218 | 	private static var correlationId: Int32 = 0
    |                     |- warning: static property 'correlationId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'correlationId' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: add '@MainActor' to make static property 'correlationId' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
219 | 	func makeCorrelationId() -> Int32 {
220 | 		var id: Int32!
/host/spi-builder-workspace/Sources/Franz/Connection.swift:121:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
119 |         super.init()
120 |
121 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
122 |             kCFAllocatorDefault,
123 |             host as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:122:13: error: cannot find 'kCFAllocatorDefault' in scope
120 |
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
123 |             host as CFString,
124 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:123:21: error: cannot find type 'CFString' in scope
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
123 |             host as CFString,
    |                     `- error: cannot find type 'CFString' in scope
124 |             UInt32(port),
125 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:136:14: error: cannot find 'RunLoopMode' in scope
134 | 			self.inputStream?.schedule(
135 | 				in: RunLoop.current,
136 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
137 | 			)
138 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:142:14: error: cannot find 'RunLoopMode' in scope
140 | 			self.outputStream?.schedule(
141 | 				in: RunLoop.current,
142 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
143 | 			)
144 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:172:28: warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 73 | }
 74 |
 75 | class Connection: NSObject, StreamDelegate {
    |       `- note: class 'Connection' does not conform to the 'Sendable' protocol
 76 |
 77 | 	enum AuthenticationError: Error {
    :
170 |     private func read(_ timeout: Double = 3000) {
171 |         inputStreamQueue.async {
172 | 			guard let inputStream = self.inputStream else {
    |                            `- warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure; this is an error in the Swift 6 language mode
173 | 				print("Unable to find Input Stream")
174 | 				return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:252:12: warning: result of call to 'write(_:maxLength:)' is unused
250 | 			let data = request.data(correlationId: corId, clientId: self.clientId)
251 | 			data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
252 | 				stream.write(bytes, maxLength: data.count)
    |            `- warning: result of call to 'write(_:maxLength:)' is unused
253 | 			}
254 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:288:22: warning: result of call to 'read(_:maxLength:)' is unused
286 | 		var buffer = Array<UInt8>(repeating: 0, count: Int(length))
287 | 		if activeInputStream.hasBytesAvailable {
288 | 			activeInputStream.read(&buffer, maxLength: Int(length))
    |                      `- warning: result of call to 'read(_:maxLength:)' is unused
289 | 		} else {
290 | 			throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:349:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
347 |                     if writeRequestBlocks.count > 0 {
348 |                         let block = writeRequestBlocks.removeFirst()
349 |                         outputStreamQueue.async(execute: block)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
350 |                     }
351 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Connection.swift:375:49: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
373 | 		outputStream?.close()
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                 `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
377 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:376:50: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                  `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
377 | 		}
378 | 		requestCallbacks.forEach { $1(nil) }
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:9f3c606dcd2a4f06d17ba472aa533c43685ba7ba19a5c9bc23518a066eb7f86a
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/28] Compiling Franz Consumer.swift
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:43:3: error: Objective-C interoperability is disabled
 41 |
 42 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 43 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 44 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 45 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:48:3: error: Objective-C interoperability is disabled
 46 | 	}
 47 |
 48 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 49 | 		guard let groupId = self.membership?.group.id,
 50 | 			let generationId = self.membership?.group.generationId,
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:35:86: error: '#selector' can only be used with the Objective-C runtime
 33 | 		} else {
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
    |                                                                                      `- error: '#selector' can only be used with the Objective-C runtime
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
 37 | 		}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:36:84: error: '#selector' can only be used with the Objective-C runtime
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
    |                                                                                    `- error: '#selector' can only be used with the Objective-C runtime
 37 | 		}
 38 | 	}
/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
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
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 |
[3/28] Compiling Franz CRC32.swift
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:43:3: error: Objective-C interoperability is disabled
 41 |
 42 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 43 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 44 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 45 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:48:3: error: Objective-C interoperability is disabled
 46 | 	}
 47 |
 48 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 49 | 		guard let groupId = self.membership?.group.id,
 50 | 			let generationId = self.membership?.group.generationId,
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:35:86: error: '#selector' can only be used with the Objective-C runtime
 33 | 		} else {
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
    |                                                                                      `- error: '#selector' can only be used with the Objective-C runtime
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
 37 | 		}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:36:84: error: '#selector' can only be used with the Objective-C runtime
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
    |                                                                                    `- error: '#selector' can only be used with the Objective-C runtime
 37 | 		}
 38 | 	}
/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
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
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 |
[4/28] Compiling Franz Enumerations.swift
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:43:3: error: Objective-C interoperability is disabled
 41 |
 42 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 43 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 44 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 45 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:48:3: error: Objective-C interoperability is disabled
 46 | 	}
 47 |
 48 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 49 | 		guard let groupId = self.membership?.group.id,
 50 | 			let generationId = self.membership?.group.generationId,
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:35:86: error: '#selector' can only be used with the Objective-C runtime
 33 | 		} else {
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
    |                                                                                      `- error: '#selector' can only be used with the Objective-C runtime
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
 37 | 		}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:36:84: error: '#selector' can only be used with the Objective-C runtime
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
    |                                                                                    `- error: '#selector' can only be used with the Objective-C runtime
 37 | 		}
 38 | 	}
/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
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
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 |
[5/28] Compiling Franz Group.swift
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:43:3: error: Objective-C interoperability is disabled
 41 |
 42 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 43 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 44 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 45 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:48:3: error: Objective-C interoperability is disabled
 46 | 	}
 47 |
 48 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 49 | 		guard let groupId = self.membership?.group.id,
 50 | 			let generationId = self.membership?.group.generationId,
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:35:86: error: '#selector' can only be used with the Objective-C runtime
 33 | 		} else {
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
    |                                                                                      `- error: '#selector' can only be used with the Objective-C runtime
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
 37 | 		}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:36:84: error: '#selector' can only be used with the Objective-C runtime
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
    |                                                                                    `- error: '#selector' can only be used with the Objective-C runtime
 37 | 		}
 38 | 	}
/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
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
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 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[6/31] Emitting module Franz
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:419:25: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
371 | typealias MemberId = String
372 |
373 | struct SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                                `- note: 'T' previously declared here
374 |
375 |     private var _groupId: String
    :
417 |     }
418 |
419 | 	struct 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
420 |
421 | 		let memberId: String
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:43:3: error: Objective-C interoperability is disabled
 41 |
 42 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 43 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 44 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 45 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:48:3: error: Objective-C interoperability is disabled
 46 | 	}
 47 |
 48 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 49 | 		guard let groupId = self.membership?.group.id,
 50 | 			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
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
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/MessageSet.swift:12:2: error: Objective-C interoperability is disabled
 10 |
 11 |
 12 | @objc public class MessageSet: NSObject, KafkaType {
    |  `- error: Objective-C interoperability is disabled
 13 |     let values: [MessageSetItem]
 14 |
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:168:2: error: Objective-C interoperability is disabled
166 | */
167 | //TODO: Convert to struct
168 | @objc public class Message: NSObject {
    |  `- error: Objective-C interoperability is disabled
169 |
170 |     /**
/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 |
[7/31] Compiling Franz Assignment.swift
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:366:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
364 | 								}
365 | 							case .Initialize, .PreparingRebalance, .Joining:
366 | 								self.dispatchQueue.asyncAfter(deadline: .now() + 1, execute: checkState)
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
367 | 							case .Stable:
368 | 								consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:447:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
445 |
446 |                 if dispatchBlocks.count > 0 {
447 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
448 |                 }
449 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:455:57: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
453 |
454 |         if dispatchBlocks.count > 0 {
455 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
456 |         }
457 |     }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:466:17: error: cannot find 'sleep' in scope
464 |             //Retry if broker isn't available
465 |             if response.error == KafkaErrorCode.groupCoordinatorNotAvailableCode {
466 |                 sleep(1)
    |                 `- error: cannot find 'sleep' in scope
467 |                 self.getGroupCoordinator(groupId: groupId, callback: callback)
468 |                 return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:121:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
119 |         super.init()
120 |
121 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
122 |             kCFAllocatorDefault,
123 |             host as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:122:13: error: cannot find 'kCFAllocatorDefault' in scope
120 |
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
123 |             host as CFString,
124 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:123:21: error: cannot find type 'CFString' in scope
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
123 |             host as CFString,
    |                     `- error: cannot find type 'CFString' in scope
124 |             UInt32(port),
125 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:136:14: error: cannot find 'RunLoopMode' in scope
134 | 			self.inputStream?.schedule(
135 | 				in: RunLoop.current,
136 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
137 | 			)
138 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:142:14: error: cannot find 'RunLoopMode' in scope
140 | 			self.outputStream?.schedule(
141 | 				in: RunLoop.current,
142 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
143 | 			)
144 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:252:12: warning: result of call to 'write(_:maxLength:)' is unused
250 | 			let data = request.data(correlationId: corId, clientId: self.clientId)
251 | 			data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
252 | 				stream.write(bytes, maxLength: data.count)
    |            `- warning: result of call to 'write(_:maxLength:)' is unused
253 | 			}
254 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:288:22: warning: result of call to 'read(_:maxLength:)' is unused
286 | 		var buffer = Array<UInt8>(repeating: 0, count: Int(length))
287 | 		if activeInputStream.hasBytesAvailable {
288 | 			activeInputStream.read(&buffer, maxLength: Int(length))
    |                      `- warning: result of call to 'read(_:maxLength:)' is unused
289 | 		} else {
290 | 			throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:349:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
347 |                     if writeRequestBlocks.count > 0 {
348 |                         let block = writeRequestBlocks.removeFirst()
349 |                         outputStreamQueue.async(execute: block)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
350 |                     }
351 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Connection.swift:375:49: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
373 | 		outputStream?.close()
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                 `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
377 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:376:50: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                  `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
377 | 		}
378 | 		requestCallbacks.forEach { $1(nil) }
[8/31] Compiling Franz Broker.swift
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:366:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
364 | 								}
365 | 							case .Initialize, .PreparingRebalance, .Joining:
366 | 								self.dispatchQueue.asyncAfter(deadline: .now() + 1, execute: checkState)
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
367 | 							case .Stable:
368 | 								consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:447:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
445 |
446 |                 if dispatchBlocks.count > 0 {
447 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
448 |                 }
449 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:455:57: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
453 |
454 |         if dispatchBlocks.count > 0 {
455 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
456 |         }
457 |     }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:466:17: error: cannot find 'sleep' in scope
464 |             //Retry if broker isn't available
465 |             if response.error == KafkaErrorCode.groupCoordinatorNotAvailableCode {
466 |                 sleep(1)
    |                 `- error: cannot find 'sleep' in scope
467 |                 self.getGroupCoordinator(groupId: groupId, callback: callback)
468 |                 return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:121:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
119 |         super.init()
120 |
121 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
122 |             kCFAllocatorDefault,
123 |             host as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:122:13: error: cannot find 'kCFAllocatorDefault' in scope
120 |
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
123 |             host as CFString,
124 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:123:21: error: cannot find type 'CFString' in scope
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
123 |             host as CFString,
    |                     `- error: cannot find type 'CFString' in scope
124 |             UInt32(port),
125 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:136:14: error: cannot find 'RunLoopMode' in scope
134 | 			self.inputStream?.schedule(
135 | 				in: RunLoop.current,
136 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
137 | 			)
138 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:142:14: error: cannot find 'RunLoopMode' in scope
140 | 			self.outputStream?.schedule(
141 | 				in: RunLoop.current,
142 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
143 | 			)
144 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:252:12: warning: result of call to 'write(_:maxLength:)' is unused
250 | 			let data = request.data(correlationId: corId, clientId: self.clientId)
251 | 			data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
252 | 				stream.write(bytes, maxLength: data.count)
    |            `- warning: result of call to 'write(_:maxLength:)' is unused
253 | 			}
254 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:288:22: warning: result of call to 'read(_:maxLength:)' is unused
286 | 		var buffer = Array<UInt8>(repeating: 0, count: Int(length))
287 | 		if activeInputStream.hasBytesAvailable {
288 | 			activeInputStream.read(&buffer, maxLength: Int(length))
    |                      `- warning: result of call to 'read(_:maxLength:)' is unused
289 | 		} else {
290 | 			throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:349:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
347 |                     if writeRequestBlocks.count > 0 {
348 |                         let block = writeRequestBlocks.removeFirst()
349 |                         outputStreamQueue.async(execute: block)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
350 |                     }
351 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Connection.swift:375:49: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
373 | 		outputStream?.close()
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                 `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
377 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:376:50: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                  `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
377 | 		}
378 | 		requestCallbacks.forEach { $1(nil) }
[9/31] Compiling Franz Cluster.swift
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:366:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
364 | 								}
365 | 							case .Initialize, .PreparingRebalance, .Joining:
366 | 								self.dispatchQueue.asyncAfter(deadline: .now() + 1, execute: checkState)
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
367 | 							case .Stable:
368 | 								consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:447:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
445 |
446 |                 if dispatchBlocks.count > 0 {
447 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
448 |                 }
449 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:455:57: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
453 |
454 |         if dispatchBlocks.count > 0 {
455 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
456 |         }
457 |     }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:466:17: error: cannot find 'sleep' in scope
464 |             //Retry if broker isn't available
465 |             if response.error == KafkaErrorCode.groupCoordinatorNotAvailableCode {
466 |                 sleep(1)
    |                 `- error: cannot find 'sleep' in scope
467 |                 self.getGroupCoordinator(groupId: groupId, callback: callback)
468 |                 return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:121:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
119 |         super.init()
120 |
121 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
122 |             kCFAllocatorDefault,
123 |             host as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:122:13: error: cannot find 'kCFAllocatorDefault' in scope
120 |
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
123 |             host as CFString,
124 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:123:21: error: cannot find type 'CFString' in scope
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
123 |             host as CFString,
    |                     `- error: cannot find type 'CFString' in scope
124 |             UInt32(port),
125 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:136:14: error: cannot find 'RunLoopMode' in scope
134 | 			self.inputStream?.schedule(
135 | 				in: RunLoop.current,
136 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
137 | 			)
138 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:142:14: error: cannot find 'RunLoopMode' in scope
140 | 			self.outputStream?.schedule(
141 | 				in: RunLoop.current,
142 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
143 | 			)
144 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:252:12: warning: result of call to 'write(_:maxLength:)' is unused
250 | 			let data = request.data(correlationId: corId, clientId: self.clientId)
251 | 			data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
252 | 				stream.write(bytes, maxLength: data.count)
    |            `- warning: result of call to 'write(_:maxLength:)' is unused
253 | 			}
254 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:288:22: warning: result of call to 'read(_:maxLength:)' is unused
286 | 		var buffer = Array<UInt8>(repeating: 0, count: Int(length))
287 | 		if activeInputStream.hasBytesAvailable {
288 | 			activeInputStream.read(&buffer, maxLength: Int(length))
    |                      `- warning: result of call to 'read(_:maxLength:)' is unused
289 | 		} else {
290 | 			throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:349:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
347 |                     if writeRequestBlocks.count > 0 {
348 |                         let block = writeRequestBlocks.removeFirst()
349 |                         outputStreamQueue.async(execute: block)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
350 |                     }
351 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Connection.swift:375:49: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
373 | 		outputStream?.close()
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                 `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
377 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:376:50: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                  `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
377 | 		}
378 | 		requestCallbacks.forEach { $1(nil) }
[10/31] Compiling Franz Connection.swift
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:366:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
364 | 								}
365 | 							case .Initialize, .PreparingRebalance, .Joining:
366 | 								self.dispatchQueue.asyncAfter(deadline: .now() + 1, execute: checkState)
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
367 | 							case .Stable:
368 | 								consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:447:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
445 |
446 |                 if dispatchBlocks.count > 0 {
447 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
448 |                 }
449 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:455:57: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
453 |
454 |         if dispatchBlocks.count > 0 {
455 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
456 |         }
457 |     }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:466:17: error: cannot find 'sleep' in scope
464 |             //Retry if broker isn't available
465 |             if response.error == KafkaErrorCode.groupCoordinatorNotAvailableCode {
466 |                 sleep(1)
    |                 `- error: cannot find 'sleep' in scope
467 |                 self.getGroupCoordinator(groupId: groupId, callback: callback)
468 |                 return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:121:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
119 |         super.init()
120 |
121 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
122 |             kCFAllocatorDefault,
123 |             host as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:122:13: error: cannot find 'kCFAllocatorDefault' in scope
120 |
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
123 |             host as CFString,
124 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:123:21: error: cannot find type 'CFString' in scope
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
123 |             host as CFString,
    |                     `- error: cannot find type 'CFString' in scope
124 |             UInt32(port),
125 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:136:14: error: cannot find 'RunLoopMode' in scope
134 | 			self.inputStream?.schedule(
135 | 				in: RunLoop.current,
136 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
137 | 			)
138 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:142:14: error: cannot find 'RunLoopMode' in scope
140 | 			self.outputStream?.schedule(
141 | 				in: RunLoop.current,
142 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
143 | 			)
144 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:252:12: warning: result of call to 'write(_:maxLength:)' is unused
250 | 			let data = request.data(correlationId: corId, clientId: self.clientId)
251 | 			data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
252 | 				stream.write(bytes, maxLength: data.count)
    |            `- warning: result of call to 'write(_:maxLength:)' is unused
253 | 			}
254 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:288:22: warning: result of call to 'read(_:maxLength:)' is unused
286 | 		var buffer = Array<UInt8>(repeating: 0, count: Int(length))
287 | 		if activeInputStream.hasBytesAvailable {
288 | 			activeInputStream.read(&buffer, maxLength: Int(length))
    |                      `- warning: result of call to 'read(_:maxLength:)' is unused
289 | 		} else {
290 | 			throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:349:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
347 |                     if writeRequestBlocks.count > 0 {
348 |                         let block = writeRequestBlocks.removeFirst()
349 |                         outputStreamQueue.async(execute: block)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
350 |                     }
351 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Connection.swift:375:49: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
373 | 		outputStream?.close()
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                 `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
377 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:376:50: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                  `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
377 | 		}
378 | 		requestCallbacks.forEach { $1(nil) }
[11/31] Compiling Franz PlainMechanism.swift
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
[12/31] Compiling Franz SaslMechanism.swift
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
[13/31] Compiling Franz Topic.swift
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
[14/31] Compiling Franz KafkaProtocol.swift
[15/31] Compiling Franz KafkaRequest.swift
[16/31] Compiling Franz KafkaResponse.swift
[17/31] Compiling Franz MessageSet.swift
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:12:2: error: Objective-C interoperability is disabled
 10 |
 11 |
 12 | @objc public class MessageSet: NSObject, KafkaType {
    |  `- error: Objective-C interoperability is disabled
 13 |     let values: [MessageSetItem]
 14 |
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:168:2: error: Objective-C interoperability is disabled
166 | */
167 | //TODO: Convert to struct
168 | @objc public class Message: NSObject {
    |  `- error: Objective-C interoperability is disabled
169 |
170 |     /**
/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 | 				}
[18/31] Compiling Franz OldConsumers.swift
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:12:2: error: Objective-C interoperability is disabled
 10 |
 11 |
 12 | @objc public class MessageSet: NSObject, KafkaType {
    |  `- error: Objective-C interoperability is disabled
 13 |     let values: [MessageSetItem]
 14 |
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:168:2: error: Objective-C interoperability is disabled
166 | */
167 | //TODO: Convert to struct
168 | @objc public class Message: NSObject {
    |  `- error: Objective-C interoperability is disabled
169 |
170 |     /**
/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 | 				}
[19/31] Compiling Franz Partition.swift
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:12:2: error: Objective-C interoperability is disabled
 10 |
 11 |
 12 | @objc public class MessageSet: NSObject, KafkaType {
    |  `- error: Objective-C interoperability is disabled
 13 |     let values: [MessageSetItem]
 14 |
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:168:2: error: Objective-C interoperability is disabled
166 | */
167 | //TODO: Convert to struct
168 | @objc public class Message: NSObject {
    |  `- error: Objective-C interoperability is disabled
169 |
170 |     /**
/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 | 				}
[20/31] Compiling Franz OffsetCommitAPI.swift
[21/31] Compiling Franz OffsetFetchAPI.swift
[22/31] Compiling Franz ProduceAPI.swift
[23/31] Compiling Franz SaslApi.swift
[24/31] Compiling Franz APIVersionsAPI.swift
[25/31] Compiling Franz AdminAPI.swift
[26/31] Compiling Franz CreateTopicsAPI.swift
[27/31] Compiling Franz FetchAPI.swift
[28/31] Compiling Franz GroupCoordinatorAPI.swift
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:419:25: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
371 | typealias MemberId = String
372 |
373 | struct SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                                `- note: 'T' previously declared here
374 |
375 |     private var _groupId: String
    :
417 |     }
418 |
419 | 	struct 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
420 |
421 | 		let memberId: String
[29/31] Compiling Franz GroupMembershipAPI.swift
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:419:25: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
371 | typealias MemberId = String
372 |
373 | struct SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                                `- note: 'T' previously declared here
374 |
375 |     private var _groupId: String
    :
417 |     }
418 |
419 | 	struct 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
420 |
421 | 		let memberId: String
[30/31] Compiling Franz MetadataAPI.swift
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:419:25: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
371 | typealias MemberId = String
372 |
373 | struct SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                                `- note: 'T' previously declared here
374 |
375 |     private var _groupId: String
    :
417 |     }
418 |
419 | 	struct 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
420 |
421 | 		let memberId: String
[31/31] Compiling Franz OffsetAPI.swift
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:419:25: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
371 | typealias MemberId = String
372 |
373 | struct SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                                `- note: 'T' previously declared here
374 |
375 |     private var _groupId: String
    :
417 |     }
418 |
419 | 	struct 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
420 |
421 | 		let memberId: String
BUILD FAILURE 6.1 android