Build Information
Failed to build Cluster, reference 3.0.3 (3c7056
), with Swift 6.0 for macOS (SPM) on 3 Nov 2024 14:03:42 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/efremidze/Cluster.git
Reference: 3.0.3
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/efremidze/Cluster
* tag 3.0.3 -> FETCH_HEAD
HEAD is now at 3c70568 3.0.3
Cloned https://github.com/efremidze/Cluster.git
Revision (git rev-parse @):
3c70568c779456355895adf354a01e7fe5440ebf
SUCCESS checkout https://github.com/efremidze/Cluster.git at 3.0.3
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "cluster",
"name": "Cluster",
"url": "https://github.com/efremidze/Cluster.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Cluster",
"dependencies": [
]
}
]
}
Fetching https://github.com/efremidze/Cluster.git
[1/1927] Fetching cluster
Fetched https://github.com/efremidze/Cluster.git from cache (1.36s)
Creating working copy for https://github.com/efremidze/Cluster.git
Working copy of https://github.com/efremidze/Cluster.git resolved at 3.0.3 (3c70568)
warning: '.resolve-product-dependencies': dependency 'cluster' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/efremidze/Cluster.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/8] Emitting module Cluster
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:47:31: error: cannot find type 'UILabel' in scope
45 | */
46 | open class ClusterAnnotationView: MKAnnotationView {
47 | open lazy var countLabel: UILabel = {
| `- error: cannot find type 'UILabel' in scope
48 | let label = UILabel()
49 | label.autoresizingMask = [.flexibleWidth, .flexibleHeight]
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:84:16: error: cannot find type 'UIColor' in scope
82 | - `radius`: The radius of the annotation circle
83 | */
84 | case color(UIColor, radius: CGFloat)
| `- error: cannot find type 'UIColor' in scope
85 |
86 | /**
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:89:16: error: cannot find type 'UIImage' in scope
87 | Displays the annotation as an image.
88 | */
89 | case image(UIImage?)
| `- error: cannot find type 'UIImage' in scope
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:145:24: error: method does not override any method from its superclass
143 | }
144 |
145 | override open func layoutSubviews() {
| `- error: method does not override any method from its superclass
146 | super.layoutSubviews()
147 |
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:12:41: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
10 | import MapKit
11 |
12 | public protocol ClusterManagerDelegate: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
13 | /**
14 | The size of each cell on the grid (The larger the size, the better the performance) at a given zoom level.
/Users/admin/builder/spi-builder-workspace/Sources/Extensions.swift:27:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocols 'Hashable', 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
25 | let MKMapPointMax = MKMapPoint(CLLocationCoordinate2DMax)
26 |
27 | extension CLLocationCoordinate2D: Hashable {
| |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocols 'Hashable', 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
28 | public func hash(into hasher: inout Hasher) {
29 | hasher.combine(latitude)
[4/8] Compiling Cluster Annotation.swift
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:47:31: error: cannot find type 'UILabel' in scope
45 | */
46 | open class ClusterAnnotationView: MKAnnotationView {
47 | open lazy var countLabel: UILabel = {
| `- error: cannot find type 'UILabel' in scope
48 | let label = UILabel()
49 | label.autoresizingMask = [.flexibleWidth, .flexibleHeight]
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:84:16: error: cannot find type 'UIColor' in scope
82 | - `radius`: The radius of the annotation circle
83 | */
84 | case color(UIColor, radius: CGFloat)
| `- error: cannot find type 'UIColor' in scope
85 |
86 | /**
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:89:16: error: cannot find type 'UIImage' in scope
87 | Displays the annotation as an image.
88 | */
89 | case image(UIImage?)
| `- error: cannot find type 'UIImage' in scope
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:145:24: error: method does not override any method from its superclass
143 | }
144 |
145 | override open func layoutSubviews() {
| `- error: method does not override any method from its superclass
146 | super.layoutSubviews()
147 |
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:127:13: error: cannot find 'backgroundColor' in scope
125 | switch style {
126 | case let .image(image):
127 | backgroundColor = .clear
| `- error: cannot find 'backgroundColor' in scope
128 | self.image = image
129 | case let .color(color, radius):
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:131:13: error: cannot find 'backgroundColor' in scope
129 | case let .color(color, radius):
130 | let count = annotation.annotations.count
131 | backgroundColor = color
| `- error: cannot find 'backgroundColor' in scope
132 | var diameter = radius * 2
133 | switch count {
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:146:15: error: value of type 'ClusterAnnotationView' has no member 'layoutSubviews'
144 |
145 | override open func layoutSubviews() {
146 | super.layoutSubviews()
| `- error: value of type 'ClusterAnnotationView' has no member 'layoutSubviews'
147 |
148 | if case .color = style {
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:149:13: error: value of optional type 'CALayer?' must be unwrapped to refer to member 'masksToBounds' of wrapped base type 'CALayer'
147 |
148 | if case .color = style {
149 | layer.masksToBounds = true
| |- error: value of optional type 'CALayer?' must be unwrapped to refer to member 'masksToBounds' of wrapped base type 'CALayer'
| |- note: chain the optional using '?' to access member 'masksToBounds' only for non-'nil' base values
| `- note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
150 | layer.cornerRadius = image == nil ? bounds.width / 2 : 0
151 | countLabel.frame = bounds
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:150:13: error: value of optional type 'CALayer?' must be unwrapped to refer to member 'cornerRadius' of wrapped base type 'CALayer'
148 | if case .color = style {
149 | layer.masksToBounds = true
150 | layer.cornerRadius = image == nil ? bounds.width / 2 : 0
| |- error: value of optional type 'CALayer?' must be unwrapped to refer to member 'cornerRadius' of wrapped base type 'CALayer'
| |- note: chain the optional using '?' to access member 'cornerRadius' only for non-'nil' base values
| `- note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
151 | countLabel.frame = bounds
152 | }
[5/8] Compiling Cluster QuadTree.swift
[6/8] Compiling Cluster Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/Extensions.swift:27:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocols 'Hashable', 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
25 | let MKMapPointMax = MKMapPoint(CLLocationCoordinate2DMax)
26 |
27 | extension CLLocationCoordinate2D: Hashable {
| |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocols 'Hashable', 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
28 | public func hash(into hasher: inout Hasher) {
29 | hasher.combine(latitude)
/Users/admin/builder/spi-builder-workspace/Sources/Extensions.swift:108:13: warning: capture of 'block' with non-sendable type '(BlockOperation) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 | operation.addExecutionBlock { [weak operation] in
107 | guard let operation = operation else { return }
108 | block(operation)
| |- warning: capture of 'block' with non-sendable type '(BlockOperation) -> 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'
109 | }
110 | self.addOperation(operation)
[7/8] Compiling Cluster Atomic.swift
/Users/admin/builder/spi-builder-workspace/Sources/Atomic.swift:23:46: warning: capture of 'self' with non-sendable type 'Atomic<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 |
11 | @propertyWrapper
12 | class Atomic<Value> {
| `- note: generic class 'Atomic' does not conform to the 'Sendable' protocol
13 | private let queue = DispatchQueue(label: "Atomic serial queue", attributes: .concurrent)
14 |
:
21 | var wrappedValue: Value {
22 | get { return queue.sync { _value } }
23 | set { queue.async(flags: .barrier) { self._value = newValue } }
| `- warning: capture of 'self' with non-sendable type 'Atomic<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | }
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/Atomic.swift:23:60: warning: capture of 'newValue' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 |
11 | @propertyWrapper
12 | class Atomic<Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
13 | private let queue = DispatchQueue(label: "Atomic serial queue", attributes: .concurrent)
14 |
:
21 | var wrappedValue: Value {
22 | get { return queue.sync { _value } }
23 | set { queue.async(flags: .barrier) { self._value = newValue } }
| `- warning: capture of 'newValue' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | }
25 | }
[8/8] Compiling Cluster Cluster.swift
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:12:41: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
10 | import MapKit
11 |
12 | public protocol ClusterManagerDelegate: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
13 | /**
14 | The size of each cell on the grid (The larger the size, the better the performance) at a given zoom level.
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:161:13: warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | }
43 |
44 | open class ClusterManager {
| `- note: class 'ClusterManager' does not conform to the 'Sendable' protocol
45 |
46 | var tree = QuadTree(rect: .world)
:
159 | operationQueue.cancelAllOperations()
160 | dispatchQueue.async(flags: .barrier) { [weak self] in
161 | self?.tree.add(annotation)
| `- warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 | }
163 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:161:28: warning: capture of 'annotation' with non-sendable type 'any MKAnnotation' in a `@Sendable` closure; this is an error in the Swift 6 language mode
159 | operationQueue.cancelAllOperations()
160 | dispatchQueue.async(flags: .barrier) { [weak self] in
161 | self?.tree.add(annotation)
| `- warning: capture of 'annotation' with non-sendable type 'any MKAnnotation' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 | }
163 | }
MapKit.MKAnnotation:1:17: note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
1 | public protocol MKAnnotation : NSObjectProtocol {
| `- note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
2 | var coordinate: CLLocationCoordinate2D { get }
3 | optional var title: String? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MapKit'
8 |
9 | import CoreLocation
10 | import MapKit
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MapKit'
11 |
12 | public protocol ClusterManagerDelegate: class {
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:174:31: warning: capture of 'annotations' with non-sendable type '[any MKAnnotation]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
172 | operationQueue.cancelAllOperations()
173 | dispatchQueue.async(flags: .barrier) { [weak self] in
174 | for annotation in annotations {
| `- warning: capture of 'annotations' with non-sendable type '[any MKAnnotation]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 | self?.tree.add(annotation)
176 | }
MapKit.MKAnnotation:1:17: note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
1 | public protocol MKAnnotation : NSObjectProtocol {
| `- note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
2 | var coordinate: CLLocationCoordinate2D { get }
3 | optional var title: String? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:175:17: warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | }
43 |
44 | open class ClusterManager {
| `- note: class 'ClusterManager' does not conform to the 'Sendable' protocol
45 |
46 | var tree = QuadTree(rect: .world)
:
173 | dispatchQueue.async(flags: .barrier) { [weak self] in
174 | for annotation in annotations {
175 | self?.tree.add(annotation)
| `- warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
176 | }
177 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:189:13: warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | }
43 |
44 | open class ClusterManager {
| `- note: class 'ClusterManager' does not conform to the 'Sendable' protocol
45 |
46 | var tree = QuadTree(rect: .world)
:
187 | operationQueue.cancelAllOperations()
188 | dispatchQueue.async(flags: .barrier) { [weak self] in
189 | self?.tree.remove(annotation)
| `- warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
190 | }
191 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:189:31: warning: capture of 'annotation' with non-sendable type 'any MKAnnotation' in a `@Sendable` closure; this is an error in the Swift 6 language mode
187 | operationQueue.cancelAllOperations()
188 | dispatchQueue.async(flags: .barrier) { [weak self] in
189 | self?.tree.remove(annotation)
| `- warning: capture of 'annotation' with non-sendable type 'any MKAnnotation' in a `@Sendable` closure; this is an error in the Swift 6 language mode
190 | }
191 | }
MapKit.MKAnnotation:1:17: note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
1 | public protocol MKAnnotation : NSObjectProtocol {
| `- note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
2 | var coordinate: CLLocationCoordinate2D { get }
3 | optional var title: String? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:202:31: warning: capture of 'annotations' with non-sendable type '[any MKAnnotation]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
200 | operationQueue.cancelAllOperations()
201 | dispatchQueue.async(flags: .barrier) { [weak self] in
202 | for annotation in annotations {
| `- warning: capture of 'annotations' with non-sendable type '[any MKAnnotation]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
203 | self?.tree.remove(annotation)
204 | }
MapKit.MKAnnotation:1:17: note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
1 | public protocol MKAnnotation : NSObjectProtocol {
| `- note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
2 | var coordinate: CLLocationCoordinate2D { get }
3 | optional var title: String? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:203:17: warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | }
43 |
44 | open class ClusterManager {
| `- note: class 'ClusterManager' does not conform to the 'Sendable' protocol
45 |
46 | var tree = QuadTree(rect: .world)
:
201 | dispatchQueue.async(flags: .barrier) { [weak self] in
202 | for annotation in annotations {
203 | self?.tree.remove(annotation)
| `- warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
204 | }
205 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:214:13: warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | }
43 |
44 | open class ClusterManager {
| `- note: class 'ClusterManager' does not conform to the 'Sendable' protocol
45 |
46 | var tree = QuadTree(rect: .world)
:
212 | operationQueue.cancelAllOperations()
213 | dispatchQueue.async(flags: .barrier) { [weak self] in
214 | self?.tree = QuadTree(rect: .world)
| `- warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
215 | }
216 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:238:33: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
235 | - completion: A closure to be executed when the reload finishes. The closure has no return value and takes a single Boolean argument that indicates whether or not the reload actually finished before the completion handler was called.
236 | */
237 | open func reload(mapView: MKMapView, completion: @escaping (Bool) -> Void = { finished in }) {
| `- note: add '@MainActor' to make instance method 'reload(mapView:completion:)' part of global actor 'MainActor'
238 | let mapBounds = mapView.bounds
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
239 | let visibleMapRect = mapView.visibleMapRect
240 | let visibleMapRectWidth = visibleMapRect.size.width
AppKit.NSView:76:25: note: property declared here
74 | @available(swift, obsoleted: 3, renamed: "rotate(byDegrees:)")
75 | open func rotateByAngle(_ angle: CGFloat)
76 | @MainActor open var bounds: NSRect { get set }
| `- note: property declared here
77 | open var isFlipped: Bool { get }
78 | @available(swift, obsoleted: 3, renamed: "isFlipped")
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:239:38: warning: main actor-isolated property 'visibleMapRect' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
235 | - completion: A closure to be executed when the reload finishes. The closure has no return value and takes a single Boolean argument that indicates whether or not the reload actually finished before the completion handler was called.
236 | */
237 | open func reload(mapView: MKMapView, completion: @escaping (Bool) -> Void = { finished in }) {
| `- note: add '@MainActor' to make instance method 'reload(mapView:completion:)' part of global actor 'MainActor'
238 | let mapBounds = mapView.bounds
239 | let visibleMapRect = mapView.visibleMapRect
| `- warning: main actor-isolated property 'visibleMapRect' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
240 | let visibleMapRectWidth = visibleMapRect.size.width
241 | let zoomScale = Double(mapBounds.width) / visibleMapRectWidth
MapKit.MKMapView:15:25: note: property declared here
13 | open func setCenterCoordinate(_ coordinate: CLLocationCoordinate2D, animated: Bool)
14 | open func regionThatFits(_ region: MKCoordinateRegion) -> MKCoordinateRegion
15 | @MainActor open var visibleMapRect: MKMapRect { get set }
| `- note: property declared here
16 | open func setVisibleMapRect(_ mapRect: MKMapRect, animated animate: Bool)
17 | open func mapRectThatFits(_ mapRect: MKMapRect) -> MKMapRect
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:248:38: warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | }
43 |
44 | open class ClusterManager {
| `- note: class 'ClusterManager' does not conform to the 'Sendable' protocol
45 |
46 | var tree = QuadTree(rect: .world)
:
246 | let (toAdd, toRemove) = self.clusteredAnnotations(zoomScale: zoomScale, visibleMapRect: visibleMapRect, operation: operation)
247 | DispatchQueue.main.async { [weak self, weak mapView] in
248 | guard let self = self, let mapView = mapView else { return completion(false) }
| `- warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
249 | self.display(mapView: mapView, toAdd: toAdd, toRemove: toRemove)
250 | completion(true)
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:248:80: warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
246 | let (toAdd, toRemove) = self.clusteredAnnotations(zoomScale: zoomScale, visibleMapRect: visibleMapRect, operation: operation)
247 | DispatchQueue.main.async { [weak self, weak mapView] in
248 | guard let self = self, let mapView = mapView else { return completion(false) }
| |- warning: capture of 'completion' with non-sendable type '(Bool) -> 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'
249 | self.display(mapView: mapView, toAdd: toAdd, toRemove: toRemove)
250 | completion(true)
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:249:59: warning: capture of 'toAdd' with non-sendable type '[any MKAnnotation]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
247 | DispatchQueue.main.async { [weak self, weak mapView] in
248 | guard let self = self, let mapView = mapView else { return completion(false) }
249 | self.display(mapView: mapView, toAdd: toAdd, toRemove: toRemove)
| `- warning: capture of 'toAdd' with non-sendable type '[any MKAnnotation]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
250 | completion(true)
251 | }
MapKit.MKAnnotation:1:17: note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
1 | public protocol MKAnnotation : NSObjectProtocol {
| `- note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
2 | var coordinate: CLLocationCoordinate2D { get }
3 | optional var title: String? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:249:76: warning: capture of 'toRemove' with non-sendable type '[any MKAnnotation]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
247 | DispatchQueue.main.async { [weak self, weak mapView] in
248 | guard let self = self, let mapView = mapView else { return completion(false) }
249 | self.display(mapView: mapView, toAdd: toAdd, toRemove: toRemove)
| `- warning: capture of 'toRemove' with non-sendable type '[any MKAnnotation]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
250 | completion(true)
251 | }
MapKit.MKAnnotation:1:17: note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
1 | public protocol MKAnnotation : NSObjectProtocol {
| `- note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
2 | var coordinate: CLLocationCoordinate2D { get }
3 | optional var title: String? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:288:13: warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | }
43 |
44 | open class ClusterManager {
| `- note: class 'ClusterManager' does not conform to the 'Sendable' protocol
45 |
46 | var tree = QuadTree(rect: .world)
:
286 |
287 | dispatchQueue.async(flags: .barrier) { [weak self] in
288 | self?.visibleAnnotations.subtract(toRemove)
| `- warning: capture of 'self' with non-sendable type 'ClusterManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
289 | self?.visibleAnnotations.add(toAdd)
290 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:288:47: warning: capture of 'toRemove' with non-sendable type '[any MKAnnotation]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
286 |
287 | dispatchQueue.async(flags: .barrier) { [weak self] in
288 | self?.visibleAnnotations.subtract(toRemove)
| `- warning: capture of 'toRemove' with non-sendable type '[any MKAnnotation]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
289 | self?.visibleAnnotations.add(toAdd)
290 | }
MapKit.MKAnnotation:1:17: note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
1 | public protocol MKAnnotation : NSObjectProtocol {
| `- note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
2 | var coordinate: CLLocationCoordinate2D { get }
3 | optional var title: String? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:289:42: warning: capture of 'toAdd' with non-sendable type '[any MKAnnotation]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
287 | dispatchQueue.async(flags: .barrier) { [weak self] in
288 | self?.visibleAnnotations.subtract(toRemove)
289 | self?.visibleAnnotations.add(toAdd)
| `- warning: capture of 'toAdd' with non-sendable type '[any MKAnnotation]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
290 | }
291 |
MapKit.MKAnnotation:1:17: note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
1 | public protocol MKAnnotation : NSObjectProtocol {
| `- note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
2 | var coordinate: CLLocationCoordinate2D { get }
3 | optional var title: String? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:288:47: warning: reference to captured var 'toRemove' in concurrently-executing code; this is an error in the Swift 6 language mode
286 |
287 | dispatchQueue.async(flags: .barrier) { [weak self] in
288 | self?.visibleAnnotations.subtract(toRemove)
| `- warning: reference to captured var 'toRemove' in concurrently-executing code; this is an error in the Swift 6 language mode
289 | self?.visibleAnnotations.add(toAdd)
290 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:330:26: warning: capture of 'hash' with non-sendable type '[CLLocationCoordinate2D : [any MKAnnotation]]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
328 | let hash = Dictionary(grouping: annotations) { $0.coordinate }
329 | dispatchQueue.async(flags: .barrier) {
330 | for value in hash.values where value.count > 1 {
| `- warning: capture of 'hash' with non-sendable type '[CLLocationCoordinate2D : [any MKAnnotation]]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
331 | for (index, annotation) in value.enumerated() {
332 | tree.remove(annotation)
MapKit.MKAnnotation:1:17: note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
1 | public protocol MKAnnotation : NSObjectProtocol {
| `- note: protocol 'MKAnnotation' does not conform to the 'Sendable' protocol
2 | var coordinate: CLLocationCoordinate2D { get }
3 | optional var title: String? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:332:21: warning: capture of 'tree' with non-sendable type 'QuadTree' in a `@Sendable` closure; this is an error in the Swift 6 language mode
330 | for value in hash.values where value.count > 1 {
331 | for (index, annotation) in value.enumerated() {
332 | tree.remove(annotation)
| `- warning: capture of 'tree' with non-sendable type 'QuadTree' in a `@Sendable` closure; this is an error in the Swift 6 language mode
333 | let radiansBetweenAnnotations = (.pi * 2) / Double(value.count)
334 | let bearing = radiansBetweenAnnotations * Double(index)
/Users/admin/builder/spi-builder-workspace/Sources/QuadTree.swift:149:14: note: class 'QuadTree' does not conform to the 'Sendable' protocol
147 | }
148 |
149 | public class QuadTree: AnnotationsContainer {
| `- note: class 'QuadTree' does not conform to the 'Sendable' protocol
150 |
151 | let root: QuadTreeNode
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:335:152: warning: capture of 'self' with non-sendable type 'ClusterManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | }
43 |
44 | open class ClusterManager {
| `- note: class 'ClusterManager' does not conform to the 'Sendable' protocol
45 |
46 | var tree = QuadTree(rect: .world)
:
333 | let radiansBetweenAnnotations = (.pi * 2) / Double(value.count)
334 | let bearing = radiansBetweenAnnotations * Double(index)
335 | (annotation as? MKPointAnnotation)?.coordinate = annotation.coordinate.coordinate(onBearingInRadians: bearing, atDistanceInMeters: self.distanceFromContestedLocation)
| `- warning: capture of 'self' with non-sendable type 'ClusterManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
336 | tree.add(annotation)
337 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:385:17: warning: call to main actor-isolated instance method 'removeAnnotations' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
381 | }
382 |
383 | open func display(mapView: MKMapView, toAdd: [MKAnnotation], toRemove: [MKAnnotation]) {
| `- note: add '@MainActor' to make instance method 'display(mapView:toAdd:toRemove:)' part of global actor 'MainActor'
384 | assert(Thread.isMainThread, "This function must be called from the main thread.")
385 | mapView.removeAnnotations(toRemove)
| `- warning: call to main actor-isolated instance method 'removeAnnotations' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
386 | mapView.addAnnotations(toAdd)
387 | }
MapKit.MKMapView:94:15: note: calls to instance method 'removeAnnotations' from outside of its actor context are implicitly asynchronous
92 | open func addAnnotations(_ annotations: [any MKAnnotation])
93 | open func removeAnnotation(_ annotation: any MKAnnotation)
94 | open func removeAnnotations(_ annotations: [any MKAnnotation])
| `- note: calls to instance method 'removeAnnotations' from outside of its actor context are implicitly asynchronous
95 | open var annotations: [any MKAnnotation] { get }
96 | @available(macOS 10.9, *)
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:386:17: warning: call to main actor-isolated instance method 'addAnnotations' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
381 | }
382 |
383 | open func display(mapView: MKMapView, toAdd: [MKAnnotation], toRemove: [MKAnnotation]) {
| `- note: add '@MainActor' to make instance method 'display(mapView:toAdd:toRemove:)' part of global actor 'MainActor'
384 | assert(Thread.isMainThread, "This function must be called from the main thread.")
385 | mapView.removeAnnotations(toRemove)
386 | mapView.addAnnotations(toAdd)
| `- warning: call to main actor-isolated instance method 'addAnnotations' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
387 | }
388 |
MapKit.MKMapView:92:15: note: calls to instance method 'addAnnotations' from outside of its actor context are implicitly asynchronous
90 | open var userLocationVisible: Bool { get }
91 | open func addAnnotation(_ annotation: any MKAnnotation)
92 | open func addAnnotations(_ annotations: [any MKAnnotation])
| `- note: calls to instance method 'addAnnotations' from outside of its actor context are implicitly asynchronous
93 | open func removeAnnotation(_ annotation: any MKAnnotation)
94 | open func removeAnnotations(_ annotations: [any MKAnnotation])
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:84:16: error: cannot find type 'UIColor' in scope
82 | - `radius`: The radius of the annotation circle
83 | */
84 | case color(UIColor, radius: CGFloat)
| `- error: cannot find type 'UIColor' in scope
85 |
86 | /**
/Users/admin/builder/spi-builder-workspace/Sources/Annotation.swift:89:16: error: cannot find type 'UIImage' in scope
87 | Displays the annotation as an image.
88 | */
89 | case image(UIImage?)
| `- error: cannot find type 'UIImage' in scope
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:248:38: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
246 | let (toAdd, toRemove) = self.clusteredAnnotations(zoomScale: zoomScale, visibleMapRect: visibleMapRect, operation: operation)
247 | DispatchQueue.main.async { [weak self, weak mapView] in
248 | guard let self = self, let mapView = mapView else { return completion(false) }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
249 | self.display(mapView: mapView, toAdd: toAdd, toRemove: toRemove)
250 | completion(true)
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:248:80: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
246 | let (toAdd, toRemove) = self.clusteredAnnotations(zoomScale: zoomScale, visibleMapRect: visibleMapRect, operation: operation)
247 | DispatchQueue.main.async { [weak self, weak mapView] in
248 | guard let self = self, let mapView = mapView else { return completion(false) }
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
249 | self.display(mapView: mapView, toAdd: toAdd, toRemove: toRemove)
250 | completion(true)
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:249:59: warning: sending 'toAdd' risks causing data races; this is an error in the Swift 6 language mode
247 | DispatchQueue.main.async { [weak self, weak mapView] in
248 | guard let self = self, let mapView = mapView else { return completion(false) }
249 | self.display(mapView: mapView, toAdd: toAdd, toRemove: toRemove)
| |- warning: sending 'toAdd' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'toAdd' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
250 | completion(true)
251 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:249:76: warning: sending 'toRemove' risks causing data races; this is an error in the Swift 6 language mode
247 | DispatchQueue.main.async { [weak self, weak mapView] in
248 | guard let self = self, let mapView = mapView else { return completion(false) }
249 | self.display(mapView: mapView, toAdd: toAdd, toRemove: toRemove)
| |- warning: sending 'toRemove' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'toRemove' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
250 | completion(true)
251 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:385:17: warning: sending 'toRemove._bridgeToObjectiveC' risks causing data races; this is an error in the Swift 6 language mode
383 | open func display(mapView: MKMapView, toAdd: [MKAnnotation], toRemove: [MKAnnotation]) {
384 | assert(Thread.isMainThread, "This function must be called from the main thread.")
385 | mapView.removeAnnotations(toRemove)
| |- warning: sending 'toRemove._bridgeToObjectiveC' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'toRemove._bridgeToObjectiveC' to main actor-isolated instance method 'removeAnnotations' risks causing data races between main actor-isolated and task-isolated uses
386 | mapView.addAnnotations(toAdd)
387 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cluster.swift:386:17: warning: sending 'toAdd._bridgeToObjectiveC' risks causing data races; this is an error in the Swift 6 language mode
384 | assert(Thread.isMainThread, "This function must be called from the main thread.")
385 | mapView.removeAnnotations(toRemove)
386 | mapView.addAnnotations(toAdd)
| |- warning: sending 'toAdd._bridgeToObjectiveC' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'toAdd._bridgeToObjectiveC' to main actor-isolated instance method 'addAnnotations' risks causing data races between main actor-isolated and task-isolated uses
387 | }
388 |
BUILD FAILURE 6.0 macosSpm