Build Information
Failed to build GATT with Swift 6.0 for macOS (SPM).
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/PureSwift/GATT.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/PureSwift/GATT
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 113a71d Fix `DarwinGATT.Queue.popFirst()`
Cloned https://github.com/PureSwift/GATT.git
Revision (git rev-parse @):
113a71d853b9c59cf2119c49fbc4bfc1421d9ae2
SUCCESS checkout https://github.com/PureSwift/GATT.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/PureSwift/GATT.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/7] Write sources
[6/7] Write swift-version-6F35C1178C84523A.txt
[8/37] Compiling Bluetooth DefinedUUID.swift
[9/37] Compiling Bluetooth DefinedUUIDExtension.swift
[10/37] Compiling Bluetooth DataConvertible.swift
[11/40] Compiling Bluetooth SFloat.swift
[12/40] Compiling Bluetooth SecurityLevel.swift
[13/40] Compiling Bluetooth UInt128.swift
[14/40] Compiling Bluetooth UInt24.swift
[15/40] Compiling Bluetooth UInt256.swift
[16/40] Compiling Bluetooth UInt40.swift
[17/40] Compiling Bluetooth Hexadecimal.swift
[18/40] Compiling Bluetooth Integer.swift
[19/40] Compiling Bluetooth UUID.swift
[20/40] Compiling Bluetooth UInt48.swift
[21/40] Compiling Bluetooth UInt512.swift
[22/40] Compiling Bluetooth Unit.swift
[23/40] Compiling Bluetooth LowEnergyAdvertisingData.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 | }
[24/40] Compiling Bluetooth LowEnergyScanTimeInterval.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 | }
[25/40] Compiling Bluetooth RSSI.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/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 | }
[26/40] Compiling Bluetooth Address.swift
[27/40] Compiling Bluetooth AsyncIndefiniteStream.swift
[28/40] Compiling Bluetooth BitMaskOption.swift
[29/40] Compiling Bluetooth BluetoothUUID.swift
[30/40] Compiling Bluetooth UnitIdentifier.swift
[31/40] Compiling Bluetooth UnitIdentifierExtension.swift
[32/40] Compiling Bluetooth iBeacon.swift
[33/40] Emitting module Bluetooth
[34/40] Compiling Bluetooth ByteSwap.swift
[35/40] Compiling Bluetooth ByteValue.swift
[36/40] Compiling Bluetooth ClassOfDevice.swift
[37/40] Compiling Bluetooth CompanyIdentifier.swift
[38/40] Compiling Bluetooth GeneratedCompanyIdentifierNames.swift
[39/40] Compiling Bluetooth GeneratedCompanyIdentifiers.swift
[40/40] Compiling Bluetooth L2CAPSocket.swift
Fetching https://github.com/PureSwift/Bluetooth.git
[1/20634] Fetching bluetooth
Fetched https://github.com/PureSwift/Bluetooth.git from cache (1.83s)
Computing version for https://github.com/PureSwift/Bluetooth.git
Computed https://github.com/PureSwift/Bluetooth.git at 6.4.3 (0.73s)
Creating working copy for https://github.com/PureSwift/Bluetooth.git
Working copy of https://github.com/PureSwift/Bluetooth.git resolved at 6.4.3
warning: 'bluetooth': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Bluetooth/Sources/Bluetooth/Resources/CompanyIdentifiers.txt
BUILD FAILURE 6.0 macosSpm