This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 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
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.