The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build Bluetooth, reference 6.4.3 (974ee4), with Swift 6.0 for Linux on 4 Nov 2024 05:22:19 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/pureswift/bluetooth.git
Reference: 6.4.3
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/pureswift/bluetooth
 * tag               6.4.3      -> FETCH_HEAD
HEAD is now at 974ee43 Add `Codable` conformance to `LowEnergyAdvertisingData`
Cloned https://github.com/pureswift/bluetooth.git
Revision (git rev-parse @):
974ee4313fc8fe707bd5298009b810c0bca45d44
SUCCESS checkout https://github.com/pureswift/bluetooth.git at 6.4.3
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/pureswift/bluetooth.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/Sources/Bluetooth/Resources/CompanyIdentifiers.txt
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version-24593BA9C3E375BF.txt
[6/34] Compiling Bluetooth Address.swift
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:34:21: warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 32 |                 switch $0 {
 33 |                 case .cancelled:
 34 |                     storage?.stop()
    |                     `- warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 35 |                 default:
 36 |                     break
    :
121 | internal extension AsyncIndefiniteStream {
122 |
123 |     final class Storage {
    |                 `- note: class 'Storage' does not conform to the 'Sendable' protocol
124 |
125 |         var isExecuting: Bool {
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:60:21: warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |                 switch $0 {
 59 |                 case .cancelled:
 60 |                     storage?.stop()
    |                     `- warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 61 |                 default:
 62 |                     break
    :
121 | internal extension AsyncIndefiniteStream {
122 |
123 |     final class Storage {
    |                 `- note: class 'Storage' does not conform to the 'Sendable' protocol
124 |
125 |         var isExecuting: Bool {
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:21:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 19 |         let storage = Storage()
 20 |         let stream = AsyncThrowingStream<Element, Error>(Element.self, bufferingPolicy: .bufferingNewest(bufferSize)) { continuation in
 21 |             let task = Task {
    |                             `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 22 |                 do {
 23 |                     try await build({ continuation.yield($0) })
    |                               `- note: closure captures 'build' which is accessible to code in the current task
 24 |                 }
 25 |                 catch _ as CancellationError { } // end
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:23:52: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
 21 |             let task = Task {
 22 |                 do {
 23 |                     try await build({ continuation.yield($0) })
    |                                                    |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                    `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 24 |                 }
 25 |                 catch _ as CancellationError { } // end
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:112:26: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
110 |
111 |         public func yield(_ value: Element) {
112 |             continuation.yield(value)
    |                          |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                          `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
113 |         }
114 |
[7/34] Compiling Bluetooth AsyncIndefiniteStream.swift
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:34:21: warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 32 |                 switch $0 {
 33 |                 case .cancelled:
 34 |                     storage?.stop()
    |                     `- warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 35 |                 default:
 36 |                     break
    :
121 | internal extension AsyncIndefiniteStream {
122 |
123 |     final class Storage {
    |                 `- note: class 'Storage' does not conform to the 'Sendable' protocol
124 |
125 |         var isExecuting: Bool {
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:60:21: warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |                 switch $0 {
 59 |                 case .cancelled:
 60 |                     storage?.stop()
    |                     `- warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 61 |                 default:
 62 |                     break
    :
121 | internal extension AsyncIndefiniteStream {
122 |
123 |     final class Storage {
    |                 `- note: class 'Storage' does not conform to the 'Sendable' protocol
124 |
125 |         var isExecuting: Bool {
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:21:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 19 |         let storage = Storage()
 20 |         let stream = AsyncThrowingStream<Element, Error>(Element.self, bufferingPolicy: .bufferingNewest(bufferSize)) { continuation in
 21 |             let task = Task {
    |                             `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 22 |                 do {
 23 |                     try await build({ continuation.yield($0) })
    |                               `- note: closure captures 'build' which is accessible to code in the current task
 24 |                 }
 25 |                 catch _ as CancellationError { } // end
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:23:52: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
 21 |             let task = Task {
 22 |                 do {
 23 |                     try await build({ continuation.yield($0) })
    |                                                    |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                    `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 24 |                 }
 25 |                 catch _ as CancellationError { } // end
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:112:26: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
110 |
111 |         public func yield(_ value: Element) {
112 |             continuation.yield(value)
    |                          |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                          `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
113 |         }
114 |
[8/34] Compiling Bluetooth BitMaskOption.swift
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:34:21: warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 32 |                 switch $0 {
 33 |                 case .cancelled:
 34 |                     storage?.stop()
    |                     `- warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 35 |                 default:
 36 |                     break
    :
121 | internal extension AsyncIndefiniteStream {
122 |
123 |     final class Storage {
    |                 `- note: class 'Storage' does not conform to the 'Sendable' protocol
124 |
125 |         var isExecuting: Bool {
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:60:21: warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |                 switch $0 {
 59 |                 case .cancelled:
 60 |                     storage?.stop()
    |                     `- warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 61 |                 default:
 62 |                     break
    :
121 | internal extension AsyncIndefiniteStream {
122 |
123 |     final class Storage {
    |                 `- note: class 'Storage' does not conform to the 'Sendable' protocol
124 |
125 |         var isExecuting: Bool {
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:21:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 19 |         let storage = Storage()
 20 |         let stream = AsyncThrowingStream<Element, Error>(Element.self, bufferingPolicy: .bufferingNewest(bufferSize)) { continuation in
 21 |             let task = Task {
    |                             `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 22 |                 do {
 23 |                     try await build({ continuation.yield($0) })
    |                               `- note: closure captures 'build' which is accessible to code in the current task
 24 |                 }
 25 |                 catch _ as CancellationError { } // end
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:23:52: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
 21 |             let task = Task {
 22 |                 do {
 23 |                     try await build({ continuation.yield($0) })
    |                                                    |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                    `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 24 |                 }
 25 |                 catch _ as CancellationError { } // end
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:112:26: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
110 |
111 |         public func yield(_ value: Element) {
112 |             continuation.yield(value)
    |                          |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                          `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
113 |         }
114 |
[9/34] Compiling Bluetooth BluetoothUUID.swift
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:34:21: warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 32 |                 switch $0 {
 33 |                 case .cancelled:
 34 |                     storage?.stop()
    |                     `- warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 35 |                 default:
 36 |                     break
    :
121 | internal extension AsyncIndefiniteStream {
122 |
123 |     final class Storage {
    |                 `- note: class 'Storage' does not conform to the 'Sendable' protocol
124 |
125 |         var isExecuting: Bool {
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:60:21: warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |                 switch $0 {
 59 |                 case .cancelled:
 60 |                     storage?.stop()
    |                     `- warning: capture of 'storage' with non-sendable type 'AsyncIndefiniteStream<Element>.Storage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 61 |                 default:
 62 |                     break
    :
121 | internal extension AsyncIndefiniteStream {
122 |
123 |     final class Storage {
    |                 `- note: class 'Storage' does not conform to the 'Sendable' protocol
124 |
125 |         var isExecuting: Bool {
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:21:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 19 |         let storage = Storage()
 20 |         let stream = AsyncThrowingStream<Element, Error>(Element.self, bufferingPolicy: .bufferingNewest(bufferSize)) { continuation in
 21 |             let task = Task {
    |                             `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 22 |                 do {
 23 |                     try await build({ continuation.yield($0) })
    |                               `- note: closure captures 'build' which is accessible to code in the current task
 24 |                 }
 25 |                 catch _ as CancellationError { } // end
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:23:52: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
 21 |             let task = Task {
 22 |                 do {
 23 |                     try await build({ continuation.yield($0) })
    |                                                    |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                                    `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 24 |                 }
 25 |                 catch _ as CancellationError { } // end
/host/spi-builder-workspace/Sources/Bluetooth/AsyncIndefiniteStream.swift:112:26: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
110 |
111 |         public func yield(_ value: Element) {
112 |             continuation.yield(value)
    |                          |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                          `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
113 |         }
114 |
[10/38] Compiling Bluetooth UInt256.swift
[11/38] Compiling Bluetooth UInt40.swift
[12/38] Compiling Bluetooth UInt48.swift
[13/38] Compiling Bluetooth UInt512.swift
[14/38] Compiling Bluetooth SFloat.swift
[15/38] Compiling Bluetooth SecurityLevel.swift
[16/38] Compiling Bluetooth UInt128.swift
[17/38] Compiling Bluetooth UInt24.swift
[18/38] Compiling Bluetooth DefinedUUID.swift
[19/38] Compiling Bluetooth DefinedUUIDExtension.swift
[20/38] Compiling Bluetooth DataConvertible.swift
[21/38] Compiling Bluetooth Hexadecimal.swift
[22/38] Compiling Bluetooth Unit.swift
[23/38] Compiling Bluetooth UnitIdentifier.swift
[24/38] Compiling Bluetooth UnitIdentifierExtension.swift
[25/38] Compiling Bluetooth iBeacon.swift
[26/38] Compiling Bluetooth ByteSwap.swift
[27/38] Compiling Bluetooth ByteValue.swift
[28/38] Compiling Bluetooth ClassOfDevice.swift
[29/38] Compiling Bluetooth CompanyIdentifier.swift
[30/38] Emitting module Bluetooth
[31/38] Compiling Bluetooth Integer.swift
[32/38] Compiling Bluetooth UUID.swift
[33/38] Compiling Bluetooth GeneratedCompanyIdentifierNames.swift
[34/38] Compiling Bluetooth GeneratedCompanyIdentifiers.swift
[35/38] Compiling Bluetooth L2CAPSocket.swift
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:221:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Sequence'
219 | // MARK: - Sequence
220 |
221 | extension LowEnergyAdvertisingData: Sequence {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Sequence'
222 |
223 |     public func makeIterator() -> IndexingIterator<LowEnergyAdvertisingData> {
Swift.Sequence:3:20: note: unable to infer associated type 'Iterator' for protocol 'Sequence'
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
 3 |     associatedtype Iterator : IteratorProtocol
   |                    `- note: unable to infer associated type 'Iterator' for protocol 'Sequence'
 4 |     @available(*, unavailable, renamed: "Iterator")
 5 |     typealias Generator = Self.Iterator
Swift.Sequence:2:40: note: candidate would match and infer 'Iterator' = 'LowEnergyAdvertisingData' if 'LowEnergyAdvertisingData' conformed to 'IteratorProtocol'
1 | extension Sequence where Self == Self.Iterator {
2 |     @inlinable public __consuming func makeIterator() -> Self
  |                                        `- note: candidate would match and infer 'Iterator' = 'LowEnergyAdvertisingData' if 'LowEnergyAdvertisingData' conformed to 'IteratorProtocol'
3 | }
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:230:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'MutableCollection'
228 | // MARK: - Collection
229 |
230 | extension LowEnergyAdvertisingData: MutableCollection {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'MutableCollection'
231 |
232 |     public var count: Int {
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:230:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Collection'
228 | // MARK: - Collection
229 |
230 | extension LowEnergyAdvertisingData: MutableCollection {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Collection'
231 |
232 |     public var count: Int {
Swift.MutableCollection:2:20: note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 1 | public protocol MutableCollection<Element> : Collection where Self.SubSequence : MutableCollection {
 2 |     associatedtype Element
   |                    `- note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 3 |     associatedtype Index
 4 |     associatedtype SubSequence
Swift.Collection:10:20: note: protocol requires nested type 'Iterator'; add nested type 'Iterator' for conformance
 8 |     var startIndex: Self.Index { get }
 9 |     var endIndex: Self.Index { get }
10 |     associatedtype Iterator = IndexingIterator<Self>
   |                    `- note: protocol requires nested type 'Iterator'; add nested type 'Iterator' for conformance
11 |     override __consuming func makeIterator() -> Self.Iterator
12 |     associatedtype SubSequence : Collection = Slice<Self> where Self.Element == Self.SubSequence.Element, Self.SubSequence == Self.SubSequence.SubSequence
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:331:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'RandomAccessCollection'
329 | // MARK: - RandomAccessCollection
330 |
331 | extension LowEnergyAdvertisingData: RandomAccessCollection {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'RandomAccessCollection'
332 |
333 |     public subscript(bounds: Range<Int>) -> Slice<LowEnergyAdvertisingData> {
Swift.RandomAccessCollection:2:20: note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 1 | public protocol RandomAccessCollection<Element> : BidirectionalCollection where Self.Indices : RandomAccessCollection, Self.SubSequence : RandomAccessCollection {
 2 |     associatedtype Element
   |                    `- note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 3 |     associatedtype Index
 4 |     associatedtype SubSequence
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:72:36: error: cannot infer type of closure parameter '$0' without a type annotation
 70 |         self.init()
 71 |         self.length = UInt8(slice.count)
 72 |         slice.enumerated().forEach {
    |                                    `- error: cannot infer type of closure parameter '$0' without a type annotation
 73 |             self[$0.offset] = $0.element
 74 |         }
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:184:16: error: referencing instance method 'toHexadecimal()' on 'Collection' requires that 'LowEnergyAdvertisingData.Element' conform to 'FixedWidthInteger'
182 |
183 |     public var description: String {
184 |         return toHexadecimal()
    |                `- error: referencing instance method 'toHexadecimal()' on 'Collection' requires that 'LowEnergyAdvertisingData.Element' conform to 'FixedWidthInteger'
185 |     }
186 | }
/host/spi-builder-workspace/Sources/Bluetooth/Extensions/Hexadecimal.swift:21:10: note: where 'Self.Element' = 'LowEnergyAdvertisingData.Element'
19 | }
20 |
21 | internal extension Collection where Element: FixedWidthInteger {
   |          `- note: where 'Self.Element' = 'LowEnergyAdvertisingData.Element'
22 |
23 |     func toHexadecimal() -> String {
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:214:14: error: binary operator '+=' cannot be applied to operands of type 'Data' and 'LowEnergyAdvertisingData'
212 |     var data: Data {
213 |         var data = Data(capacity: count)
214 |         data += self
    |              `- error: binary operator '+=' cannot be applied to operands of type 'Data' and 'LowEnergyAdvertisingData'
215 |         return data
216 |     }
[36/38] Compiling Bluetooth LowEnergyAdvertisingData.swift
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:221:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Sequence'
219 | // MARK: - Sequence
220 |
221 | extension LowEnergyAdvertisingData: Sequence {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Sequence'
222 |
223 |     public func makeIterator() -> IndexingIterator<LowEnergyAdvertisingData> {
Swift.Sequence:3:20: note: unable to infer associated type 'Iterator' for protocol 'Sequence'
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
 3 |     associatedtype Iterator : IteratorProtocol
   |                    `- note: unable to infer associated type 'Iterator' for protocol 'Sequence'
 4 |     @available(*, unavailable, renamed: "Iterator")
 5 |     typealias Generator = Self.Iterator
Swift.Sequence:2:40: note: candidate would match and infer 'Iterator' = 'LowEnergyAdvertisingData' if 'LowEnergyAdvertisingData' conformed to 'IteratorProtocol'
1 | extension Sequence where Self == Self.Iterator {
2 |     @inlinable public __consuming func makeIterator() -> Self
  |                                        `- note: candidate would match and infer 'Iterator' = 'LowEnergyAdvertisingData' if 'LowEnergyAdvertisingData' conformed to 'IteratorProtocol'
3 | }
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:230:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'MutableCollection'
228 | // MARK: - Collection
229 |
230 | extension LowEnergyAdvertisingData: MutableCollection {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'MutableCollection'
231 |
232 |     public var count: Int {
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:230:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Collection'
228 | // MARK: - Collection
229 |
230 | extension LowEnergyAdvertisingData: MutableCollection {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Collection'
231 |
232 |     public var count: Int {
Swift.MutableCollection:2:20: note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 1 | public protocol MutableCollection<Element> : Collection where Self.SubSequence : MutableCollection {
 2 |     associatedtype Element
   |                    `- note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 3 |     associatedtype Index
 4 |     associatedtype SubSequence
Swift.Collection:10:20: note: protocol requires nested type 'Iterator'; add nested type 'Iterator' for conformance
 8 |     var startIndex: Self.Index { get }
 9 |     var endIndex: Self.Index { get }
10 |     associatedtype Iterator = IndexingIterator<Self>
   |                    `- note: protocol requires nested type 'Iterator'; add nested type 'Iterator' for conformance
11 |     override __consuming func makeIterator() -> Self.Iterator
12 |     associatedtype SubSequence : Collection = Slice<Self> where Self.Element == Self.SubSequence.Element, Self.SubSequence == Self.SubSequence.SubSequence
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:331:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'RandomAccessCollection'
329 | // MARK: - RandomAccessCollection
330 |
331 | extension LowEnergyAdvertisingData: RandomAccessCollection {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'RandomAccessCollection'
332 |
333 |     public subscript(bounds: Range<Int>) -> Slice<LowEnergyAdvertisingData> {
Swift.RandomAccessCollection:2:20: note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 1 | public protocol RandomAccessCollection<Element> : BidirectionalCollection where Self.Indices : RandomAccessCollection, Self.SubSequence : RandomAccessCollection {
 2 |     associatedtype Element
   |                    `- note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 3 |     associatedtype Index
 4 |     associatedtype SubSequence
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:72:36: error: cannot infer type of closure parameter '$0' without a type annotation
 70 |         self.init()
 71 |         self.length = UInt8(slice.count)
 72 |         slice.enumerated().forEach {
    |                                    `- error: cannot infer type of closure parameter '$0' without a type annotation
 73 |             self[$0.offset] = $0.element
 74 |         }
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:184:16: error: referencing instance method 'toHexadecimal()' on 'Collection' requires that 'LowEnergyAdvertisingData.Element' conform to 'FixedWidthInteger'
182 |
183 |     public var description: String {
184 |         return toHexadecimal()
    |                `- error: referencing instance method 'toHexadecimal()' on 'Collection' requires that 'LowEnergyAdvertisingData.Element' conform to 'FixedWidthInteger'
185 |     }
186 | }
/host/spi-builder-workspace/Sources/Bluetooth/Extensions/Hexadecimal.swift:21:10: note: where 'Self.Element' = 'LowEnergyAdvertisingData.Element'
19 | }
20 |
21 | internal extension Collection where Element: FixedWidthInteger {
   |          `- note: where 'Self.Element' = 'LowEnergyAdvertisingData.Element'
22 |
23 |     func toHexadecimal() -> String {
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:214:14: error: binary operator '+=' cannot be applied to operands of type 'Data' and 'LowEnergyAdvertisingData'
212 |     var data: Data {
213 |         var data = Data(capacity: count)
214 |         data += self
    |              `- error: binary operator '+=' cannot be applied to operands of type 'Data' and 'LowEnergyAdvertisingData'
215 |         return data
216 |     }
[37/38] Compiling Bluetooth LowEnergyScanTimeInterval.swift
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:221:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Sequence'
219 | // MARK: - Sequence
220 |
221 | extension LowEnergyAdvertisingData: Sequence {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Sequence'
222 |
223 |     public func makeIterator() -> IndexingIterator<LowEnergyAdvertisingData> {
Swift.Sequence:3:20: note: unable to infer associated type 'Iterator' for protocol 'Sequence'
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
 3 |     associatedtype Iterator : IteratorProtocol
   |                    `- note: unable to infer associated type 'Iterator' for protocol 'Sequence'
 4 |     @available(*, unavailable, renamed: "Iterator")
 5 |     typealias Generator = Self.Iterator
Swift.Sequence:2:40: note: candidate would match and infer 'Iterator' = 'LowEnergyAdvertisingData' if 'LowEnergyAdvertisingData' conformed to 'IteratorProtocol'
1 | extension Sequence where Self == Self.Iterator {
2 |     @inlinable public __consuming func makeIterator() -> Self
  |                                        `- note: candidate would match and infer 'Iterator' = 'LowEnergyAdvertisingData' if 'LowEnergyAdvertisingData' conformed to 'IteratorProtocol'
3 | }
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:230:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'MutableCollection'
228 | // MARK: - Collection
229 |
230 | extension LowEnergyAdvertisingData: MutableCollection {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'MutableCollection'
231 |
232 |     public var count: Int {
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:230:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Collection'
228 | // MARK: - Collection
229 |
230 | extension LowEnergyAdvertisingData: MutableCollection {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Collection'
231 |
232 |     public var count: Int {
Swift.MutableCollection:2:20: note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 1 | public protocol MutableCollection<Element> : Collection where Self.SubSequence : MutableCollection {
 2 |     associatedtype Element
   |                    `- note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 3 |     associatedtype Index
 4 |     associatedtype SubSequence
Swift.Collection:10:20: note: protocol requires nested type 'Iterator'; add nested type 'Iterator' for conformance
 8 |     var startIndex: Self.Index { get }
 9 |     var endIndex: Self.Index { get }
10 |     associatedtype Iterator = IndexingIterator<Self>
   |                    `- note: protocol requires nested type 'Iterator'; add nested type 'Iterator' for conformance
11 |     override __consuming func makeIterator() -> Self.Iterator
12 |     associatedtype SubSequence : Collection = Slice<Self> where Self.Element == Self.SubSequence.Element, Self.SubSequence == Self.SubSequence.SubSequence
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:331:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'RandomAccessCollection'
329 | // MARK: - RandomAccessCollection
330 |
331 | extension LowEnergyAdvertisingData: RandomAccessCollection {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'RandomAccessCollection'
332 |
333 |     public subscript(bounds: Range<Int>) -> Slice<LowEnergyAdvertisingData> {
Swift.RandomAccessCollection:2:20: note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 1 | public protocol RandomAccessCollection<Element> : BidirectionalCollection where Self.Indices : RandomAccessCollection, Self.SubSequence : RandomAccessCollection {
 2 |     associatedtype Element
   |                    `- note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 3 |     associatedtype Index
 4 |     associatedtype SubSequence
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:72:36: error: cannot infer type of closure parameter '$0' without a type annotation
 70 |         self.init()
 71 |         self.length = UInt8(slice.count)
 72 |         slice.enumerated().forEach {
    |                                    `- error: cannot infer type of closure parameter '$0' without a type annotation
 73 |             self[$0.offset] = $0.element
 74 |         }
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:184:16: error: referencing instance method 'toHexadecimal()' on 'Collection' requires that 'LowEnergyAdvertisingData.Element' conform to 'FixedWidthInteger'
182 |
183 |     public var description: String {
184 |         return toHexadecimal()
    |                `- error: referencing instance method 'toHexadecimal()' on 'Collection' requires that 'LowEnergyAdvertisingData.Element' conform to 'FixedWidthInteger'
185 |     }
186 | }
/host/spi-builder-workspace/Sources/Bluetooth/Extensions/Hexadecimal.swift:21:10: note: where 'Self.Element' = 'LowEnergyAdvertisingData.Element'
19 | }
20 |
21 | internal extension Collection where Element: FixedWidthInteger {
   |          `- note: where 'Self.Element' = 'LowEnergyAdvertisingData.Element'
22 |
23 |     func toHexadecimal() -> String {
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:214:14: error: binary operator '+=' cannot be applied to operands of type 'Data' and 'LowEnergyAdvertisingData'
212 |     var data: Data {
213 |         var data = Data(capacity: count)
214 |         data += self
    |              `- error: binary operator '+=' cannot be applied to operands of type 'Data' and 'LowEnergyAdvertisingData'
215 |         return data
216 |     }
[38/38] Compiling Bluetooth RSSI.swift
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:221:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Sequence'
219 | // MARK: - Sequence
220 |
221 | extension LowEnergyAdvertisingData: Sequence {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Sequence'
222 |
223 |     public func makeIterator() -> IndexingIterator<LowEnergyAdvertisingData> {
Swift.Sequence:3:20: note: unable to infer associated type 'Iterator' for protocol 'Sequence'
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
 3 |     associatedtype Iterator : IteratorProtocol
   |                    `- note: unable to infer associated type 'Iterator' for protocol 'Sequence'
 4 |     @available(*, unavailable, renamed: "Iterator")
 5 |     typealias Generator = Self.Iterator
Swift.Sequence:2:40: note: candidate would match and infer 'Iterator' = 'LowEnergyAdvertisingData' if 'LowEnergyAdvertisingData' conformed to 'IteratorProtocol'
1 | extension Sequence where Self == Self.Iterator {
2 |     @inlinable public __consuming func makeIterator() -> Self
  |                                        `- note: candidate would match and infer 'Iterator' = 'LowEnergyAdvertisingData' if 'LowEnergyAdvertisingData' conformed to 'IteratorProtocol'
3 | }
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:230:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'MutableCollection'
228 | // MARK: - Collection
229 |
230 | extension LowEnergyAdvertisingData: MutableCollection {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'MutableCollection'
231 |
232 |     public var count: Int {
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:230:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Collection'
228 | // MARK: - Collection
229 |
230 | extension LowEnergyAdvertisingData: MutableCollection {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'Collection'
231 |
232 |     public var count: Int {
Swift.MutableCollection:2:20: note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 1 | public protocol MutableCollection<Element> : Collection where Self.SubSequence : MutableCollection {
 2 |     associatedtype Element
   |                    `- note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 3 |     associatedtype Index
 4 |     associatedtype SubSequence
Swift.Collection:10:20: note: protocol requires nested type 'Iterator'; add nested type 'Iterator' for conformance
 8 |     var startIndex: Self.Index { get }
 9 |     var endIndex: Self.Index { get }
10 |     associatedtype Iterator = IndexingIterator<Self>
   |                    `- note: protocol requires nested type 'Iterator'; add nested type 'Iterator' for conformance
11 |     override __consuming func makeIterator() -> Self.Iterator
12 |     associatedtype SubSequence : Collection = Slice<Self> where Self.Element == Self.SubSequence.Element, Self.SubSequence == Self.SubSequence.SubSequence
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:331:1: error: type 'LowEnergyAdvertisingData' does not conform to protocol 'RandomAccessCollection'
329 | // MARK: - RandomAccessCollection
330 |
331 | extension LowEnergyAdvertisingData: RandomAccessCollection {
    | `- error: type 'LowEnergyAdvertisingData' does not conform to protocol 'RandomAccessCollection'
332 |
333 |     public subscript(bounds: Range<Int>) -> Slice<LowEnergyAdvertisingData> {
Swift.RandomAccessCollection:2:20: note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 1 | public protocol RandomAccessCollection<Element> : BidirectionalCollection where Self.Indices : RandomAccessCollection, Self.SubSequence : RandomAccessCollection {
 2 |     associatedtype Element
   |                    `- note: protocol requires nested type 'Element'; add nested type 'Element' for conformance
 3 |     associatedtype Index
 4 |     associatedtype SubSequence
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:72:36: error: cannot infer type of closure parameter '$0' without a type annotation
 70 |         self.init()
 71 |         self.length = UInt8(slice.count)
 72 |         slice.enumerated().forEach {
    |                                    `- error: cannot infer type of closure parameter '$0' without a type annotation
 73 |             self[$0.offset] = $0.element
 74 |         }
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:184:16: error: referencing instance method 'toHexadecimal()' on 'Collection' requires that 'LowEnergyAdvertisingData.Element' conform to 'FixedWidthInteger'
182 |
183 |     public var description: String {
184 |         return toHexadecimal()
    |                `- error: referencing instance method 'toHexadecimal()' on 'Collection' requires that 'LowEnergyAdvertisingData.Element' conform to 'FixedWidthInteger'
185 |     }
186 | }
/host/spi-builder-workspace/Sources/Bluetooth/Extensions/Hexadecimal.swift:21:10: note: where 'Self.Element' = 'LowEnergyAdvertisingData.Element'
19 | }
20 |
21 | internal extension Collection where Element: FixedWidthInteger {
   |          `- note: where 'Self.Element' = 'LowEnergyAdvertisingData.Element'
22 |
23 |     func toHexadecimal() -> String {
/host/spi-builder-workspace/Sources/Bluetooth/LowEnergyAdvertisingData.swift:214:14: error: binary operator '+=' cannot be applied to operands of type 'Data' and 'LowEnergyAdvertisingData'
212 |     var data: Data {
213 |         var data = Data(capacity: count)
214 |         data += self
    |              `- error: binary operator '+=' cannot be applied to operands of type 'Data' and 'LowEnergyAdvertisingData'
215 |         return data
216 |     }
BUILD FAILURE 6.0 linux