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

Successful build of PoliceDataKit, reference main (b189fa), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 10:08:44 UTC.

Swift 6 data race errors: 21

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

69 |         )
70 |
71 |         await cacheStore.set(crimes, for: cacheKey)
   |                          |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
72 |     }
73 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:76:54: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
74 |     func crimeCategories(forDate date: Date) async -> [CrimeCategory]? {
75 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
76 |         let cachedCrimeCategories = await cacheStore.object(for: cacheKey, type: [CrimeCategory].self)
   |                                                      |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                                                      `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated instance method 'object(for:type:)' risks causing data races between nonisolated and 'self'-isolated uses
77 |
78 |         return cachedCrimeCategories
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:84:26: warning: sending value of non-Sendable type '[CrimeCategory]' risks causing data races; this is an error in the Swift 6 language mode
82 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
83 |
84 |         await cacheStore.set(crimeCategories, for: cacheKey)
   |                          |- warning: sending value of non-Sendable type '[CrimeCategory]' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated value of non-Sendable type '[CrimeCategory]' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
85 |     }
86 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:84:26: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
82 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
83 |
84 |         await cacheStore.set(crimeCategories, for: cacheKey)
   |                          |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
85 |     }
86 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:124:18: 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
122 |             }
123 |
124 |             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
125 |                 do {
126 |                     let crimes = try await self.streetLevelCrimes(at: coordinate, date: date)
    |                                            `- note: closure captures non-Sendable 'self'
127 |                     promise(.success(crimes))
    |                     `- note: closure captures non-Sendable 'promise'
128 |                 } catch let error {
129 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:201:18: 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
199 |             }
200 |
201 |             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
202 |                 do {
203 |                     let crimes = try await self.streetLevelCrimes(in: coordinates, date: date)
    |                                            `- note: closure captures non-Sendable 'self'
204 |                     promise(.success(crimes))
    |                     `- note: closure captures non-Sendable 'promise'
205 |                 } catch let error {
206 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:305:18: 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
303 |             }
304 |
305 |             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
306 |                 do {
307 |                     let crimes = try await self.crimes(at: coordinate, date: date)
    |                                            `- note: closure captures non-Sendable 'self'
308 |                     promise(.success(crimes))
    |                     `- note: closure captures non-Sendable 'promise'
309 |                 } catch let error {
310 |                     let crimeError = Self.mapToCrimeError(error)
[61/100] Compiling PoliceDataKit CrimeLocationType.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:31:10: warning: non-sendable type '[Crime]?' cannot be returned from actor-isolated implementation to caller of protocol requirement 'crimes(forStreet:date:)'; this is an error in the Swift 6 language mode
29 |     }
30 |
31 |     func crimes(forStreet streetID: Int, date: Date) async -> [Crime]? {
   |          `- warning: non-sendable type '[Crime]?' cannot be returned from actor-isolated implementation to caller of protocol requirement 'crimes(forStreet:date:)'; this is an error in the Swift 6 language mode
32 |         let cacheKey = CrimesForStreetCachingKey(streetID: streetID, date: date)
33 |         let cachedCrimes = await cacheStore.object(for: cacheKey, type: [Crime].self)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/Crime.swift:25:15: note: consider making struct 'Crime' conform to the 'Sendable' protocol
 23 | /// A model representing a crime.
 24 | ///
 25 | public struct Crime: Identifiable, Equatable, Codable {
    |               `- note: consider making struct 'Crime' conform to the 'Sendable' protocol
 26 |
 27 |     /// Identifier of the crime.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:38:10: warning: non-sendable parameter type '[Crime]' cannot be sent from caller of protocol requirement 'setCrimes(_:forStreet:date:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
36 |     }
37 |
38 |     func setCrimes(_ crimes: [Crime], forStreet streetID: Int, date: Date) async {
   |          `- warning: non-sendable parameter type '[Crime]' cannot be sent from caller of protocol requirement 'setCrimes(_:forStreet:date:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
39 |         let cacheKey = CrimesForStreetCachingKey(streetID: streetID, date: date)
40 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/Crime.swift:25:15: note: consider making struct 'Crime' conform to the 'Sendable' protocol
 23 | /// A model representing a crime.
 24 | ///
 25 | public struct Crime: Identifiable, Equatable, Codable {
    |               `- note: consider making struct 'Crime' conform to the 'Sendable' protocol
 26 |
 27 |     /// Identifier of the crime.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:44:10: warning: non-sendable type '[Crime]?' cannot be returned from actor-isolated implementation to caller of protocol requirement 'crimesWithNoLocation(forCategory:inPoliceForce:date:)'; this is an error in the Swift 6 language mode
42 |     }
43 |
44 |     func crimesWithNoLocation(
   |          `- warning: non-sendable type '[Crime]?' cannot be returned from actor-isolated implementation to caller of protocol requirement 'crimesWithNoLocation(forCategory:inPoliceForce:date:)'; this is an error in the Swift 6 language mode
45 |         forCategory categoryID: CrimeCategory.ID,
46 |         inPoliceForce policeForceID: PoliceForce.ID,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/Crime.swift:25:15: note: consider making struct 'Crime' conform to the 'Sendable' protocol
 23 | /// A model representing a crime.
 24 | ///
 25 | public struct Crime: Identifiable, Equatable, Codable {
    |               `- note: consider making struct 'Crime' conform to the 'Sendable' protocol
 26 |
 27 |     /// Identifier of the crime.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:59:10: warning: non-sendable parameter type '[Crime]' cannot be sent from caller of protocol requirement 'setCrimesWithNoLocation(_:forCategory:inPoliceForce:date:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
57 |     }
58 |
59 |     func setCrimesWithNoLocation(
   |          `- warning: non-sendable parameter type '[Crime]' cannot be sent from caller of protocol requirement 'setCrimesWithNoLocation(_:forCategory:inPoliceForce:date:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
60 |         _ crimes: [Crime],
61 |         forCategory categoryID: CrimeCategory.ID,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/Crime.swift:25:15: note: consider making struct 'Crime' conform to the 'Sendable' protocol
 23 | /// A model representing a crime.
 24 | ///
 25 | public struct Crime: Identifiable, Equatable, Codable {
    |               `- note: consider making struct 'Crime' conform to the 'Sendable' protocol
 26 |
 27 |     /// Identifier of the crime.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:74:10: warning: non-sendable type '[CrimeCategory]?' cannot be returned from actor-isolated implementation to caller of protocol requirement 'crimeCategories(forDate:)'; this is an error in the Swift 6 language mode
72 |     }
73 |
74 |     func crimeCategories(forDate date: Date) async -> [CrimeCategory]? {
   |          `- warning: non-sendable type '[CrimeCategory]?' cannot be returned from actor-isolated implementation to caller of protocol requirement 'crimeCategories(forDate:)'; this is an error in the Swift 6 language mode
75 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
76 |         let cachedCrimeCategories = await cacheStore.object(for: cacheKey, type: [CrimeCategory].self)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/CrimeCategory.swift:25:15: note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
23 | /// A model representing a category of a crime.
24 | ///
25 | public struct CrimeCategory: Identifiable, Decodable, Equatable {
   |               `- note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
26 |
27 |     /// The default crime category which includes all crimes.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:81:10: warning: non-sendable parameter type '[CrimeCategory]' cannot be sent from caller of protocol requirement 'setCrimeCategories(_:forDate:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
79 |     }
80 |
81 |     func setCrimeCategories(_ crimeCategories: [CrimeCategory], forDate date: Date) async {
   |          `- warning: non-sendable parameter type '[CrimeCategory]' cannot be sent from caller of protocol requirement 'setCrimeCategories(_:forDate:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
82 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
83 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/CrimeCategory.swift:25:15: note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
23 | /// A model representing a category of a crime.
24 | ///
25 | public struct CrimeCategory: Identifiable, Decodable, Equatable {
   |               `- note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
26 |
27 |     /// The default crime category which includes all crimes.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:33:45: warning: non-sendable result type '[Crime]?' cannot be sent from nonisolated context in call to instance method 'object(for:type:)'; this is an error in the Swift 6 language mode
31 |     func crimes(forStreet streetID: Int, date: Date) async -> [Crime]? {
32 |         let cacheKey = CrimesForStreetCachingKey(streetID: streetID, date: date)
33 |         let cachedCrimes = await cacheStore.object(for: cacheKey, type: [Crime].self)
   |                                             `- warning: non-sendable result type '[Crime]?' cannot be sent from nonisolated context in call to instance method 'object(for:type:)'; this is an error in the Swift 6 language mode
34 |
35 |         return cachedCrimes
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/Crime.swift:25:15: note: consider making struct 'Crime' conform to the 'Sendable' protocol
 23 | /// A model representing a crime.
 24 | ///
 25 | public struct Crime: Identifiable, Equatable, Codable {
    |               `- note: consider making struct 'Crime' conform to the 'Sendable' protocol
 26 |
 27 |     /// Identifier of the crime.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:54:45: warning: non-sendable result type '[Crime]?' cannot be sent from nonisolated context in call to instance method 'object(for:type:)'; this is an error in the Swift 6 language mode
52 |             date: date
53 |         )
54 |         let cachedCrimes = await cacheStore.object(for: cacheKey, type: [Crime].self)
   |                                             `- warning: non-sendable result type '[Crime]?' cannot be sent from nonisolated context in call to instance method 'object(for:type:)'; this is an error in the Swift 6 language mode
55 |
56 |         return cachedCrimes
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/Crime.swift:25:15: note: consider making struct 'Crime' conform to the 'Sendable' protocol
 23 | /// A model representing a crime.
 24 | ///
 25 | public struct Crime: Identifiable, Equatable, Codable {
    |               `- note: consider making struct 'Crime' conform to the 'Sendable' protocol
 26 |
 27 |     /// Identifier of the crime.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:76:54: warning: non-sendable result type '[CrimeCategory]?' cannot be sent from nonisolated context in call to instance method 'object(for:type:)'; this is an error in the Swift 6 language mode
74 |     func crimeCategories(forDate date: Date) async -> [CrimeCategory]? {
75 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
76 |         let cachedCrimeCategories = await cacheStore.object(for: cacheKey, type: [CrimeCategory].self)
   |                                                      `- warning: non-sendable result type '[CrimeCategory]?' cannot be sent from nonisolated context in call to instance method 'object(for:type:)'; this is an error in the Swift 6 language mode
77 |
78 |         return cachedCrimeCategories
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/CrimeCategory.swift:25:15: note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
23 | /// A model representing a category of a crime.
24 | ///
25 | public struct CrimeCategory: Identifiable, Decodable, Equatable {
   |               `- note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
26 |
27 |     /// The default crime category which includes all crimes.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'CrimeService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class CrimeService {
    |                    `- note: class 'CrimeService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to crime services in your application.
 34 |     ///
 35 |     public static let shared = CrimeService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'CrimeService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/CrimeCategory.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CrimeCategory' may have shared mutable state; this is an error in the Swift 6 language mode
23 | /// A model representing a category of a crime.
24 | ///
25 | public struct CrimeCategory: Identifiable, Decodable, Equatable {
   |               `- note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
26 |
27 |     /// The default crime category which includes all crimes.
28 |     public static let `default` = CrimeCategory(
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CrimeCategory' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |         id: "all-crime",
30 |         name: "All Crimes"
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:33:45: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
31 |     func crimes(forStreet streetID: Int, date: Date) async -> [Crime]? {
32 |         let cacheKey = CrimesForStreetCachingKey(streetID: streetID, date: date)
33 |         let cachedCrimes = await cacheStore.object(for: cacheKey, type: [Crime].self)
   |                                             |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                                             `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated instance method 'object(for:type:)' risks causing data races between nonisolated and 'self'-isolated uses
34 |
35 |         return cachedCrimes
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:41:26: warning: sending value of non-Sendable type '[Crime]' risks causing data races; this is an error in the Swift 6 language mode
39 |         let cacheKey = CrimesForStreetCachingKey(streetID: streetID, date: date)
40 |
41 |         await cacheStore.set(crimes, for: cacheKey)
   |                          |- warning: sending value of non-Sendable type '[Crime]' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated value of non-Sendable type '[Crime]' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
42 |     }
43 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:41:26: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
39 |         let cacheKey = CrimesForStreetCachingKey(streetID: streetID, date: date)
40 |
41 |         await cacheStore.set(crimes, for: cacheKey)
   |                          |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
42 |     }
43 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:54:45: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
52 |             date: date
53 |         )
54 |         let cachedCrimes = await cacheStore.object(for: cacheKey, type: [Crime].self)
   |                                             |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                                             `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated instance method 'object(for:type:)' risks causing data races between nonisolated and 'self'-isolated uses
55 |
56 |         return cachedCrimes
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:71:26: warning: sending value of non-Sendable type '[Crime]' risks causing data races; this is an error in the Swift 6 language mode
69 |         )
70 |
71 |         await cacheStore.set(crimes, for: cacheKey)
   |                          |- warning: sending value of non-Sendable type '[Crime]' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated value of non-Sendable type '[Crime]' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
72 |     }
73 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:71:26: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
69 |         )
70 |
71 |         await cacheStore.set(crimes, for: cacheKey)
   |                          |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
72 |     }
73 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:76:54: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
74 |     func crimeCategories(forDate date: Date) async -> [CrimeCategory]? {
75 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
76 |         let cachedCrimeCategories = await cacheStore.object(for: cacheKey, type: [CrimeCategory].self)
   |                                                      |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                                                      `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated instance method 'object(for:type:)' risks causing data races between nonisolated and 'self'-isolated uses
77 |
78 |         return cachedCrimeCategories
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:84:26: warning: sending value of non-Sendable type '[CrimeCategory]' risks causing data races; this is an error in the Swift 6 language mode
82 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
83 |
84 |         await cacheStore.set(crimeCategories, for: cacheKey)
   |                          |- warning: sending value of non-Sendable type '[CrimeCategory]' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated value of non-Sendable type '[CrimeCategory]' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
85 |     }
86 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:84:26: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
82 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
83 |
84 |         await cacheStore.set(crimeCategories, for: cacheKey)
   |                          |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
85 |     }
86 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:124:18: 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
122 |             }
123 |
124 |             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
125 |                 do {
126 |                     let crimes = try await self.streetLevelCrimes(at: coordinate, date: date)
    |                                            `- note: closure captures non-Sendable 'self'
127 |                     promise(.success(crimes))
    |                     `- note: closure captures non-Sendable 'promise'
128 |                 } catch let error {
129 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:201:18: 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
199 |             }
200 |
201 |             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
202 |                 do {
203 |                     let crimes = try await self.streetLevelCrimes(in: coordinates, date: date)
    |                                            `- note: closure captures non-Sendable 'self'
204 |                     promise(.success(crimes))
    |                     `- note: closure captures non-Sendable 'promise'
205 |                 } catch let error {
206 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:305:18: 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
303 |             }
304 |
305 |             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
306 |                 do {
307 |                     let crimes = try await self.crimes(at: coordinate, date: date)
    |                                            `- note: closure captures non-Sendable 'self'
308 |                     promise(.success(crimes))
    |                     `- note: closure captures non-Sendable 'promise'
309 |                 } catch let error {
310 |                     let crimeError = Self.mapToCrimeError(error)
[62/100] Compiling PoliceDataKit CrimeCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:31:10: warning: non-sendable type '[Crime]?' cannot be returned from actor-isolated implementation to caller of protocol requirement 'crimes(forStreet:date:)'; this is an error in the Swift 6 language mode
29 |     }
30 |
31 |     func crimes(forStreet streetID: Int, date: Date) async -> [Crime]? {
   |          `- warning: non-sendable type '[Crime]?' cannot be returned from actor-isolated implementation to caller of protocol requirement 'crimes(forStreet:date:)'; this is an error in the Swift 6 language mode
32 |         let cacheKey = CrimesForStreetCachingKey(streetID: streetID, date: date)
33 |         let cachedCrimes = await cacheStore.object(for: cacheKey, type: [Crime].self)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/Crime.swift:25:15: note: consider making struct 'Crime' conform to the 'Sendable' protocol
 23 | /// A model representing a crime.
 24 | ///
 25 | public struct Crime: Identifiable, Equatable, Codable {
    |               `- note: consider making struct 'Crime' conform to the 'Sendable' protocol
 26 |
 27 |     /// Identifier of the crime.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:38:10: warning: non-sendable parameter type '[Crime]' cannot be sent from caller of protocol requirement 'setCrimes(_:forStreet:date:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
36 |     }
37 |
38 |     func setCrimes(_ crimes: [Crime], forStreet streetID: Int, date: Date) async {
   |          `- warning: non-sendable parameter type '[Crime]' cannot be sent from caller of protocol requirement 'setCrimes(_:forStreet:date:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
39 |         let cacheKey = CrimesForStreetCachingKey(streetID: streetID, date: date)
40 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/Crime.swift:25:15: note: consider making struct 'Crime' conform to the 'Sendable' protocol
 23 | /// A model representing a crime.
 24 | ///
 25 | public struct Crime: Identifiable, Equatable, Codable {
    |               `- note: consider making struct 'Crime' conform to the 'Sendable' protocol
 26 |
 27 |     /// Identifier of the crime.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:44:10: warning: non-sendable type '[Crime]?' cannot be returned from actor-isolated implementation to caller of protocol requirement 'crimesWithNoLocation(forCategory:inPoliceForce:date:)'; this is an error in the Swift 6 language mode
42 |     }
43 |
44 |     func crimesWithNoLocation(
   |          `- warning: non-sendable type '[Crime]?' cannot be returned from actor-isolated implementation to caller of protocol requirement 'crimesWithNoLocation(forCategory:inPoliceForce:date:)'; this is an error in the Swift 6 language mode
45 |         forCategory categoryID: CrimeCategory.ID,
46 |         inPoliceForce policeForceID: PoliceForce.ID,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/Crime.swift:25:15: note: consider making struct 'Crime' conform to the 'Sendable' protocol
 23 | /// A model representing a crime.
 24 | ///
 25 | public struct Crime: Identifiable, Equatable, Codable {
    |               `- note: consider making struct 'Crime' conform to the 'Sendable' protocol
 26 |
 27 |     /// Identifier of the crime.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:59:10: warning: non-sendable parameter type '[Crime]' cannot be sent from caller of protocol requirement 'setCrimesWithNoLocation(_:forCategory:inPoliceForce:date:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
57 |     }
58 |
59 |     func setCrimesWithNoLocation(
   |          `- warning: non-sendable parameter type '[Crime]' cannot be sent from caller of protocol requirement 'setCrimesWithNoLocation(_:forCategory:inPoliceForce:date:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
60 |         _ crimes: [Crime],
61 |         forCategory categoryID: CrimeCategory.ID,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/Crime.swift:25:15: note: consider making struct 'Crime' conform to the 'Sendable' protocol
 23 | /// A model representing a crime.
 24 | ///
 25 | public struct Crime: Identifiable, Equatable, Codable {
    |               `- note: consider making struct 'Crime' conform to the 'Sendable' protocol
 26 |
 27 |     /// Identifier of the crime.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:74:10: warning: non-sendable type '[CrimeCategory]?' cannot be returned from actor-isolated implementation to caller of protocol requirement 'crimeCategories(forDate:)'; this is an error in the Swift 6 language mode
72 |     }
73 |
74 |     func crimeCategories(forDate date: Date) async -> [CrimeCategory]? {
   |          `- warning: non-sendable type '[CrimeCategory]?' cannot be returned from actor-isolated implementation to caller of protocol requirement 'crimeCategories(forDate:)'; this is an error in the Swift 6 language mode
75 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
76 |         let cachedCrimeCategories = await cacheStore.object(for: cacheKey, type: [CrimeCategory].self)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/CrimeCategory.swift:25:15: note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
23 | /// A model representing a category of a crime.
24 | ///
25 | public struct CrimeCategory: Identifiable, Decodable, Equatable {
   |               `- note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
26 |
27 |     /// The default crime category which includes all crimes.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:81:10: warning: non-sendable parameter type '[CrimeCategory]' cannot be sent from caller of protocol requirement 'setCrimeCategories(_:forDate:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
79 |     }
80 |
81 |     func setCrimeCategories(_ crimeCategories: [CrimeCategory], forDate date: Date) async {
   |          `- warning: non-sendable parameter type '[CrimeCategory]' cannot be sent from caller of protocol requirement 'setCrimeCategories(_:forDate:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
82 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
83 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/CrimeCategory.swift:25:15: note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
23 | /// A model representing a category of a crime.
24 | ///
25 | public struct CrimeCategory: Identifiable, Decodable, Equatable {
   |               `- note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
26 |
27 |     /// The default crime category which includes all crimes.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:33:45: warning: non-sendable result type '[Crime]?' cannot be sent from nonisolated context in call to instance method 'object(for:type:)'; this is an error in the Swift 6 language mode
31 |     func crimes(forStreet streetID: Int, date: Date) async -> [Crime]? {
32 |         let cacheKey = CrimesForStreetCachingKey(streetID: streetID, date: date)
33 |         let cachedCrimes = await cacheStore.object(for: cacheKey, type: [Crime].self)
   |                                             `- warning: non-sendable result type '[Crime]?' cannot be sent from nonisolated context in call to instance method 'object(for:type:)'; this is an error in the Swift 6 language mode
34 |
35 |         return cachedCrimes
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/Crime.swift:25:15: note: consider making struct 'Crime' conform to the 'Sendable' protocol
 23 | /// A model representing a crime.
 24 | ///
 25 | public struct Crime: Identifiable, Equatable, Codable {
    |               `- note: consider making struct 'Crime' conform to the 'Sendable' protocol
 26 |
 27 |     /// Identifier of the crime.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:54:45: warning: non-sendable result type '[Crime]?' cannot be sent from nonisolated context in call to instance method 'object(for:type:)'; this is an error in the Swift 6 language mode
52 |             date: date
53 |         )
54 |         let cachedCrimes = await cacheStore.object(for: cacheKey, type: [Crime].self)
   |                                             `- warning: non-sendable result type '[Crime]?' cannot be sent from nonisolated context in call to instance method 'object(for:type:)'; this is an error in the Swift 6 language mode
55 |
56 |         return cachedCrimes
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/Crime.swift:25:15: note: consider making struct 'Crime' conform to the 'Sendable' protocol
 23 | /// A model representing a crime.
 24 | ///
 25 | public struct Crime: Identifiable, Equatable, Codable {
    |               `- note: consider making struct 'Crime' conform to the 'Sendable' protocol
 26 |
 27 |     /// Identifier of the crime.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:76:54: warning: non-sendable result type '[CrimeCategory]?' cannot be sent from nonisolated context in call to instance method 'object(for:type:)'; this is an error in the Swift 6 language mode
74 |     func crimeCategories(forDate date: Date) async -> [CrimeCategory]? {
75 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
76 |         let cachedCrimeCategories = await cacheStore.object(for: cacheKey, type: [CrimeCategory].self)
   |                                                      `- warning: non-sendable result type '[CrimeCategory]?' cannot be sent from nonisolated context in call to instance method 'object(for:type:)'; this is an error in the Swift 6 language mode
77 |
78 |         return cachedCrimeCategories
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/CrimeCategory.swift:25:15: note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
23 | /// A model representing a category of a crime.
24 | ///
25 | public struct CrimeCategory: Identifiable, Decodable, Equatable {
   |               `- note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
26 |
27 |     /// The default crime category which includes all crimes.
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'CrimeService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class CrimeService {
    |                    `- note: class 'CrimeService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to crime services in your application.
 34 |     ///
 35 |     public static let shared = CrimeService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'CrimeService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Models/CrimeCategory.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CrimeCategory' may have shared mutable state; this is an error in the Swift 6 language mode
23 | /// A model representing a category of a crime.
24 | ///
25 | public struct CrimeCategory: Identifiable, Decodable, Equatable {
   |               `- note: consider making struct 'CrimeCategory' conform to the 'Sendable' protocol
26 |
27 |     /// The default crime category which includes all crimes.
28 |     public static let `default` = CrimeCategory(
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CrimeCategory' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |         id: "all-crime",
30 |         name: "All Crimes"
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:33:45: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
31 |     func crimes(forStreet streetID: Int, date: Date) async -> [Crime]? {
32 |         let cacheKey = CrimesForStreetCachingKey(streetID: streetID, date: date)
33 |         let cachedCrimes = await cacheStore.object(for: cacheKey, type: [Crime].self)
   |                                             |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                                             `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated instance method 'object(for:type:)' risks causing data races between nonisolated and 'self'-isolated uses
34 |
35 |         return cachedCrimes
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:41:26: warning: sending value of non-Sendable type '[Crime]' risks causing data races; this is an error in the Swift 6 language mode
39 |         let cacheKey = CrimesForStreetCachingKey(streetID: streetID, date: date)
40 |
41 |         await cacheStore.set(crimes, for: cacheKey)
   |                          |- warning: sending value of non-Sendable type '[Crime]' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated value of non-Sendable type '[Crime]' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
42 |     }
43 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:41:26: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
39 |         let cacheKey = CrimesForStreetCachingKey(streetID: streetID, date: date)
40 |
41 |         await cacheStore.set(crimes, for: cacheKey)
   |                          |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
42 |     }
43 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:54:45: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
52 |             date: date
53 |         )
54 |         let cachedCrimes = await cacheStore.object(for: cacheKey, type: [Crime].self)
   |                                             |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                                             `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated instance method 'object(for:type:)' risks causing data races between nonisolated and 'self'-isolated uses
55 |
56 |         return cachedCrimes
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:71:26: warning: sending value of non-Sendable type '[Crime]' risks causing data races; this is an error in the Swift 6 language mode
69 |         )
70 |
71 |         await cacheStore.set(crimes, for: cacheKey)
   |                          |- warning: sending value of non-Sendable type '[Crime]' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated value of non-Sendable type '[Crime]' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
72 |     }
73 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:71:26: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
69 |         )
70 |
71 |         await cacheStore.set(crimes, for: cacheKey)
   |                          |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
72 |     }
73 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:76:54: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
74 |     func crimeCategories(forDate date: Date) async -> [CrimeCategory]? {
75 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
76 |         let cachedCrimeCategories = await cacheStore.object(for: cacheKey, type: [CrimeCategory].self)
   |                                                      |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                                                      `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated instance method 'object(for:type:)' risks causing data races between nonisolated and 'self'-isolated uses
77 |
78 |         return cachedCrimeCategories
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:84:26: warning: sending value of non-Sendable type '[CrimeCategory]' risks causing data races; this is an error in the Swift 6 language mode
82 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
83 |
84 |         await cacheStore.set(crimeCategories, for: cacheKey)
   |                          |- warning: sending value of non-Sendable type '[CrimeCategory]' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated value of non-Sendable type '[CrimeCategory]' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
85 |     }
86 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:84:26: warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
82 |         let cacheKey = CrimeCategoriesCachingKey(date: date)
83 |
84 |         await cacheStore.set(crimeCategories, for: cacheKey)
   |                          |- warning: sending 'self.cacheStore' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'self'-isolated 'self.cacheStore' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
85 |     }
86 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:124:18: 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
122 |             }
123 |
124 |             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
125 |                 do {
126 |                     let crimes = try await self.streetLevelCrimes(at: coordinate, date: date)
    |                                            `- note: closure captures non-Sendable 'self'
127 |                     promise(.success(crimes))
    |                     `- note: closure captures non-Sendable 'promise'
128 |                 } catch let error {
129 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:201:18: 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
199 |             }
200 |
201 |             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
202 |                 do {
203 |                     let crimes = try await self.streetLevelCrimes(in: coordinates, date: date)
    |                                            `- note: closure captures non-Sendable 'self'
204 |                     promise(.success(crimes))
    |                     `- note: closure captures non-Sendable 'promise'
205 |                 } catch let error {
206 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:305:18: 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
303 |             }
304 |
305 |             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
306 |                 do {
307 |                     let crimes = try await self.crimes(at: coordinate, date: date)
    |                                            `- note: closure captures non-Sendable 'self'
308 |                     promise(.success(crimes))
    |                     `- note: closure captures non-Sendable 'promise'
309 |                 } catch let error {
310 |                     let crimeError = Self.mapToCrimeError(error)
[63/100] Compiling PoliceDataKit MKCoordinateRegion+ContainsCLLocationCoordinate2D.swift
[64/100] Compiling PoliceDataKit MKCoordinateRegion+Regions.swift
[65/100] Compiling PoliceDataKit PoliceOfficer.swift
[66/100] Compiling PoliceDataKit Street.swift
[67/100] Compiling PoliceDataKit APIClient.swift
[68/100] Compiling PoliceDataKit Cache.swift
[69/100] Compiling PoliceDataKit CachingKey.swift
[70/100] Compiling PoliceDataKit Endpoint.swift
[71/100] Compiling PoliceDataKit NeighbourhoodBoundaryCachingKey.swift
[72/100] Compiling PoliceDataKit NeighbourhoodCachingKey.swift
[73/100] Compiling PoliceDataKit DateFormatter+PoliceDataAPI.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+CustomStringConvertible.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public var description: String {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+Equatable.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: Equatable {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public static func == (lhs: CLLocationCoordinate2D, rhs: CLLocationCoordinate2D) -> Bool {
[74/100] Compiling PoliceDataKit JSONDecoder+PoliceDataAPI.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+CustomStringConvertible.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public var description: String {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+Equatable.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: Equatable {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public static func == (lhs: CLLocationCoordinate2D, rhs: CLLocationCoordinate2D) -> Bool {
[75/100] Compiling PoliceDataKit JSONDecoderDateDecodingStrategy+PoliceDataAPI.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+CustomStringConvertible.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public var description: String {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+Equatable.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: Equatable {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public static func == (lhs: CLLocationCoordinate2D, rhs: CLLocationCoordinate2D) -> Bool {
[76/100] Compiling PoliceDataKit String+HTML.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+CustomStringConvertible.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public var description: String {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+Equatable.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: Equatable {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public static func == (lhs: CLLocationCoordinate2D, rhs: CLLocationCoordinate2D) -> Bool {
[77/100] Compiling PoliceDataKit URL+QueryItem.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+CustomStringConvertible.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public var description: String {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+Equatable.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: Equatable {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public static func == (lhs: CLLocationCoordinate2D, rhs: CLLocationCoordinate2D) -> Bool {
[78/100] Compiling PoliceDataKit CLLocationCoordinate2D+Codable.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+CustomStringConvertible.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public var description: String {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+Equatable.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: Equatable {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public static func == (lhs: CLLocationCoordinate2D, rhs: CLLocationCoordinate2D) -> Bool {
[79/100] Compiling PoliceDataKit CLLocationCoordinate2D+CustomStringConvertible.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+CustomStringConvertible.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public var description: String {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+Equatable.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: Equatable {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public static func == (lhs: CLLocationCoordinate2D, rhs: CLLocationCoordinate2D) -> Bool {
[80/100] Compiling PoliceDataKit CLLocationCoordinate2D+Equatable.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+CustomStringConvertible.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public var description: String {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+Equatable.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: Equatable {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public static func == (lhs: CLLocationCoordinate2D, rhs: CLLocationCoordinate2D) -> Bool {
[81/100] Compiling PoliceDataKit ContactDetails.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+CustomStringConvertible.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public var description: String {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+Equatable.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: Equatable {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public static func == (lhs: CLLocationCoordinate2D, rhs: CLLocationCoordinate2D) -> Bool {
[82/100] Compiling PoliceDataKit Location.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+CustomStringConvertible.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public var description: String {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/General/Models/CLLocationCoordinate2D+Equatable.swift:23:1: warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
21 | import Foundation
22 |
23 | extension CLLocationCoordinate2D: Equatable {
   | |- warning: extension declares a conformance of imported type 'CLLocationCoordinate2D' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CoreLocation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |
25 |     public static func == (lhs: CLLocationCoordinate2D, rhs: CLLocationCoordinate2D) -> Bool {
[83/100] Compiling PoliceDataKit OutcomeError.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class OutcomeService {
    |                    `- note: class 'OutcomeService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to outcome services in your application.
 34 |     ///
 35 |     public static let shared = OutcomeService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:78:16: warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
76 |     }
77 |
78 |     static let cacheStore: some Cache = InMemoryCache(name: "PoliceDataKitCache")
   |                |- warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'cacheStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 |
80 |     private static var serialiser: some Serialiser {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:153:18: 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
151 |             }
152 |
153 |             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
154 |                 do {
155 |                     let outcomes = try await self.streetLevelOutcomes(at: coordinate, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
156 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
157 |                 } catch let error {
158 |                     let outcomeError = Self.mapToOutcomeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:220:18: 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
218 |             }
219 |
220 |             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
221 |                 do {
222 |                     let outcomes = try await self.streetLevelOutcomes(in: coordinates, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
223 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
224 |                 } catch let error {
225 |                     let outcomeError = Self.mapToOutcomeError(error)
[84/100] Compiling PoliceDataKit OutcomeService.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class OutcomeService {
    |                    `- note: class 'OutcomeService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to outcome services in your application.
 34 |     ///
 35 |     public static let shared = OutcomeService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:78:16: warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
76 |     }
77 |
78 |     static let cacheStore: some Cache = InMemoryCache(name: "PoliceDataKitCache")
   |                |- warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'cacheStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 |
80 |     private static var serialiser: some Serialiser {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:153:18: 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
151 |             }
152 |
153 |             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
154 |                 do {
155 |                     let outcomes = try await self.streetLevelOutcomes(at: coordinate, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
156 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
157 |                 } catch let error {
158 |                     let outcomeError = Self.mapToOutcomeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:220:18: 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
218 |             }
219 |
220 |             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
221 |                 do {
222 |                     let outcomes = try await self.streetLevelOutcomes(in: coordinates, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
223 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
224 |                 } catch let error {
225 |                     let outcomeError = Self.mapToOutcomeError(error)
[85/100] Compiling PoliceDataKit OutcomeCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class OutcomeService {
    |                    `- note: class 'OutcomeService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to outcome services in your application.
 34 |     ///
 35 |     public static let shared = OutcomeService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:78:16: warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
76 |     }
77 |
78 |     static let cacheStore: some Cache = InMemoryCache(name: "PoliceDataKitCache")
   |                |- warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'cacheStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 |
80 |     private static var serialiser: some Serialiser {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:153:18: 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
151 |             }
152 |
153 |             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
154 |                 do {
155 |                     let outcomes = try await self.streetLevelOutcomes(at: coordinate, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
156 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
157 |                 } catch let error {
158 |                     let outcomeError = Self.mapToOutcomeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:220:18: 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
218 |             }
219 |
220 |             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
221 |                 do {
222 |                     let outcomes = try await self.streetLevelOutcomes(in: coordinates, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
223 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
224 |                 } catch let error {
225 |                     let outcomeError = Self.mapToOutcomeError(error)
[86/100] Compiling PoliceDataKit PoliceDataKitFactory.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class OutcomeService {
    |                    `- note: class 'OutcomeService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to outcome services in your application.
 34 |     ///
 35 |     public static let shared = OutcomeService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:78:16: warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
76 |     }
77 |
78 |     static let cacheStore: some Cache = InMemoryCache(name: "PoliceDataKitCache")
   |                |- warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'cacheStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 |
80 |     private static var serialiser: some Serialiser {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:153:18: 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
151 |             }
152 |
153 |             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
154 |                 do {
155 |                     let outcomes = try await self.streetLevelOutcomes(at: coordinate, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
156 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
157 |                 } catch let error {
158 |                     let outcomeError = Self.mapToOutcomeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:220:18: 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
218 |             }
219 |
220 |             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
221 |                 do {
222 |                     let outcomes = try await self.streetLevelOutcomes(in: coordinates, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
223 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
224 |                 } catch let error {
225 |                     let outcomeError = Self.mapToOutcomeError(error)
[87/100] Compiling PoliceDataKit PoliceForceCachingKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class OutcomeService {
    |                    `- note: class 'OutcomeService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to outcome services in your application.
 34 |     ///
 35 |     public static let shared = OutcomeService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:78:16: warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
76 |     }
77 |
78 |     static let cacheStore: some Cache = InMemoryCache(name: "PoliceDataKitCache")
   |                |- warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'cacheStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 |
80 |     private static var serialiser: some Serialiser {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:153:18: 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
151 |             }
152 |
153 |             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
154 |                 do {
155 |                     let outcomes = try await self.streetLevelOutcomes(at: coordinate, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
156 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
157 |                 } catch let error {
158 |                     let outcomeError = Self.mapToOutcomeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:220:18: 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
218 |             }
219 |
220 |             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
221 |                 do {
222 |                     let outcomes = try await self.streetLevelOutcomes(in: coordinates, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
223 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
224 |                 } catch let error {
225 |                     let outcomeError = Self.mapToOutcomeError(error)
[88/100] Compiling PoliceDataKit PoliceForceSeniorOfficersCachingKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class OutcomeService {
    |                    `- note: class 'OutcomeService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to outcome services in your application.
 34 |     ///
 35 |     public static let shared = OutcomeService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:78:16: warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
76 |     }
77 |
78 |     static let cacheStore: some Cache = InMemoryCache(name: "PoliceDataKitCache")
   |                |- warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'cacheStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 |
80 |     private static var serialiser: some Serialiser {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:153:18: 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
151 |             }
152 |
153 |             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
154 |                 do {
155 |                     let outcomes = try await self.streetLevelOutcomes(at: coordinate, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
156 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
157 |                 } catch let error {
158 |                     let outcomeError = Self.mapToOutcomeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:220:18: 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
218 |             }
219 |
220 |             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
221 |                 do {
222 |                     let outcomes = try await self.streetLevelOutcomes(in: coordinates, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
223 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
224 |                 } catch let error {
225 |                     let outcomeError = Self.mapToOutcomeError(error)
[89/100] Compiling PoliceDataKit PoliceForcesCachingKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class OutcomeService {
    |                    `- note: class 'OutcomeService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to outcome services in your application.
 34 |     ///
 35 |     public static let shared = OutcomeService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:78:16: warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
76 |     }
77 |
78 |     static let cacheStore: some Cache = InMemoryCache(name: "PoliceDataKitCache")
   |                |- warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'cacheStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 |
80 |     private static var serialiser: some Serialiser {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:153:18: 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
151 |             }
152 |
153 |             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
154 |                 do {
155 |                     let outcomes = try await self.streetLevelOutcomes(at: coordinate, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
156 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
157 |                 } catch let error {
158 |                     let outcomeError = Self.mapToOutcomeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:220:18: 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
218 |             }
219 |
220 |             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
221 |                 do {
222 |                     let outcomes = try await self.streetLevelOutcomes(in: coordinates, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
223 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
224 |                 } catch let error {
225 |                     let outcomeError = Self.mapToOutcomeError(error)
[90/100] Compiling PoliceDataKit PoliceForceDefaultCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class OutcomeService {
    |                    `- note: class 'OutcomeService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to outcome services in your application.
 34 |     ///
 35 |     public static let shared = OutcomeService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:78:16: warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
76 |     }
77 |
78 |     static let cacheStore: some Cache = InMemoryCache(name: "PoliceDataKitCache")
   |                |- warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'cacheStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 |
80 |     private static var serialiser: some Serialiser {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:153:18: 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
151 |             }
152 |
153 |             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
154 |                 do {
155 |                     let outcomes = try await self.streetLevelOutcomes(at: coordinate, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
156 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
157 |                 } catch let error {
158 |                     let outcomeError = Self.mapToOutcomeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:220:18: 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
218 |             }
219 |
220 |             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
221 |                 do {
222 |                     let outcomes = try await self.streetLevelOutcomes(in: coordinates, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
223 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
224 |                 } catch let error {
225 |                     let outcomeError = Self.mapToOutcomeError(error)
[91/100] Compiling PoliceDataKit PoliceForcesEndpoint.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class OutcomeService {
    |                    `- note: class 'OutcomeService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to outcome services in your application.
 34 |     ///
 35 |     public static let shared = OutcomeService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OutcomeService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:78:16: warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
76 |     }
77 |
78 |     static let cacheStore: some Cache = InMemoryCache(name: "PoliceDataKitCache")
   |                |- warning: static property 'cacheStore' is not concurrency-safe because non-'Sendable' type 'some Cache' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'cacheStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 |
80 |     private static var serialiser: some Serialiser {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:153:18: 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
151 |             }
152 |
153 |             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
154 |                 do {
155 |                     let outcomes = try await self.streetLevelOutcomes(at: coordinate, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
156 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
157 |                 } catch let error {
158 |                     let outcomeError = Self.mapToOutcomeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Outcomes/OutcomeService.swift:220:18: 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
218 |             }
219 |
220 |             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
221 |                 do {
222 |                     let outcomes = try await self.streetLevelOutcomes(in: coordinates, date: date)
    |                                              `- note: closure captures non-Sendable 'self'
223 |                     promise(.success(outcomes))
    |                     `- note: closure captures non-Sendable 'promise'
224 |                 } catch let error {
225 |                     let outcomeError = Self.mapToOutcomeError(error)
[92/100] Compiling PoliceDataKit NeighbourhoodReference.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class NeighbourhoodService {
    |                    `- note: class 'NeighbourhoodService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to neighbourhood services in your application.
 34 |     ///
 35 |     public static let shared = NeighbourhoodService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/JSONSerialiser.swift:30:10: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
28 |     }
29 |
30 |     func decode<T: Decodable>(_: T.Type, from data: Data) async throws -> T {
   |          |      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
   |          `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
31 |         let result = try decoder.decode(T.self, from: data)
32 |         return result
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:34:10: warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |          |   `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
    |          `- warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |              `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
    :
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           `- warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:163:18: 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
161 |             }
162 |
163 |             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
164 |                 do {
165 |                     let neighbourhood = try await self.neighbourhood(at: coordinate)
    |                                                   `- note: closure captures non-Sendable 'self'
166 |                     promise(.success(neighbourhood))
    |                     `- note: closure captures non-Sendable 'promise'
167 |                 } catch let error {
168 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:341:18: 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
339 |             }
340 |
341 |             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
342 |                 do {
343 |                     let policingTeam = try await self.neighbourhoodPolicingTeam(at: coordinate)
    |                                                  `- note: closure captures non-Sendable 'self'
344 |                     promise(.success(policingTeam))
    |                     `- note: closure captures non-Sendable 'promise'
345 |                 } catch let error {
346 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           |- warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
    |                                           `- note: sending 'self'-isolated 'self.serialiser' to nonisolated instance method 'decode(_:from:)' risks causing data races between nonisolated and 'self'-isolated uses
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
[93/100] Compiling PoliceDataKit NeighbourhoodError.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class NeighbourhoodService {
    |                    `- note: class 'NeighbourhoodService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to neighbourhood services in your application.
 34 |     ///
 35 |     public static let shared = NeighbourhoodService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/JSONSerialiser.swift:30:10: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
28 |     }
29 |
30 |     func decode<T: Decodable>(_: T.Type, from data: Data) async throws -> T {
   |          |      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
   |          `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
31 |         let result = try decoder.decode(T.self, from: data)
32 |         return result
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:34:10: warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |          |   `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
    |          `- warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |              `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
    :
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           `- warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:163:18: 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
161 |             }
162 |
163 |             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
164 |                 do {
165 |                     let neighbourhood = try await self.neighbourhood(at: coordinate)
    |                                                   `- note: closure captures non-Sendable 'self'
166 |                     promise(.success(neighbourhood))
    |                     `- note: closure captures non-Sendable 'promise'
167 |                 } catch let error {
168 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:341:18: 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
339 |             }
340 |
341 |             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
342 |                 do {
343 |                     let policingTeam = try await self.neighbourhoodPolicingTeam(at: coordinate)
    |                                                  `- note: closure captures non-Sendable 'self'
344 |                     promise(.success(policingTeam))
    |                     `- note: closure captures non-Sendable 'promise'
345 |                 } catch let error {
346 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           |- warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
    |                                           `- note: sending 'self'-isolated 'self.serialiser' to nonisolated instance method 'decode(_:from:)' risks causing data races between nonisolated and 'self'-isolated uses
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
[94/100] Compiling PoliceDataKit NeighbourhoodService.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class NeighbourhoodService {
    |                    `- note: class 'NeighbourhoodService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to neighbourhood services in your application.
 34 |     ///
 35 |     public static let shared = NeighbourhoodService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/JSONSerialiser.swift:30:10: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
28 |     }
29 |
30 |     func decode<T: Decodable>(_: T.Type, from data: Data) async throws -> T {
   |          |      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
   |          `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
31 |         let result = try decoder.decode(T.self, from: data)
32 |         return result
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:34:10: warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |          |   `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
    |          `- warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |              `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
    :
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           `- warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:163:18: 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
161 |             }
162 |
163 |             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
164 |                 do {
165 |                     let neighbourhood = try await self.neighbourhood(at: coordinate)
    |                                                   `- note: closure captures non-Sendable 'self'
166 |                     promise(.success(neighbourhood))
    |                     `- note: closure captures non-Sendable 'promise'
167 |                 } catch let error {
168 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:341:18: 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
339 |             }
340 |
341 |             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
342 |                 do {
343 |                     let policingTeam = try await self.neighbourhoodPolicingTeam(at: coordinate)
    |                                                  `- note: closure captures non-Sendable 'self'
344 |                     promise(.success(policingTeam))
    |                     `- note: closure captures non-Sendable 'promise'
345 |                 } catch let error {
346 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           |- warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
    |                                           `- note: sending 'self'-isolated 'self.serialiser' to nonisolated instance method 'decode(_:from:)' risks causing data races between nonisolated and 'self'-isolated uses
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
[95/100] Compiling PoliceDataKit NeighbourhoodCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class NeighbourhoodService {
    |                    `- note: class 'NeighbourhoodService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to neighbourhood services in your application.
 34 |     ///
 35 |     public static let shared = NeighbourhoodService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/JSONSerialiser.swift:30:10: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
28 |     }
29 |
30 |     func decode<T: Decodable>(_: T.Type, from data: Data) async throws -> T {
   |          |      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
   |          `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
31 |         let result = try decoder.decode(T.self, from: data)
32 |         return result
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:34:10: warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |          |   `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
    |          `- warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |              `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
    :
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           `- warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:163:18: 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
161 |             }
162 |
163 |             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
164 |                 do {
165 |                     let neighbourhood = try await self.neighbourhood(at: coordinate)
    |                                                   `- note: closure captures non-Sendable 'self'
166 |                     promise(.success(neighbourhood))
    |                     `- note: closure captures non-Sendable 'promise'
167 |                 } catch let error {
168 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:341:18: 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
339 |             }
340 |
341 |             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
342 |                 do {
343 |                     let policingTeam = try await self.neighbourhoodPolicingTeam(at: coordinate)
    |                                                  `- note: closure captures non-Sendable 'self'
344 |                     promise(.success(policingTeam))
    |                     `- note: closure captures non-Sendable 'promise'
345 |                 } catch let error {
346 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           |- warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
    |                                           `- note: sending 'self'-isolated 'self.serialiser' to nonisolated instance method 'decode(_:from:)' risks causing data races between nonisolated and 'self'-isolated uses
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
[96/100] Compiling PoliceDataKit JSONSerialiser.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class NeighbourhoodService {
    |                    `- note: class 'NeighbourhoodService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to neighbourhood services in your application.
 34 |     ///
 35 |     public static let shared = NeighbourhoodService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/JSONSerialiser.swift:30:10: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
28 |     }
29 |
30 |     func decode<T: Decodable>(_: T.Type, from data: Data) async throws -> T {
   |          |      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
   |          `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
31 |         let result = try decoder.decode(T.self, from: data)
32 |         return result
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:34:10: warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |          |   `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
    |          `- warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |              `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
    :
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           `- warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:163:18: 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
161 |             }
162 |
163 |             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
164 |                 do {
165 |                     let neighbourhood = try await self.neighbourhood(at: coordinate)
    |                                                   `- note: closure captures non-Sendable 'self'
166 |                     promise(.success(neighbourhood))
    |                     `- note: closure captures non-Sendable 'promise'
167 |                 } catch let error {
168 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:341:18: 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
339 |             }
340 |
341 |             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
342 |                 do {
343 |                     let policingTeam = try await self.neighbourhoodPolicingTeam(at: coordinate)
    |                                                  `- note: closure captures non-Sendable 'self'
344 |                     promise(.success(policingTeam))
    |                     `- note: closure captures non-Sendable 'promise'
345 |                 } catch let error {
346 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           |- warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
    |                                           `- note: sending 'self'-isolated 'self.serialiser' to nonisolated instance method 'decode(_:from:)' risks causing data races between nonisolated and 'self'-isolated uses
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
[97/100] Compiling PoliceDataKit PoliceDataAPIClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class NeighbourhoodService {
    |                    `- note: class 'NeighbourhoodService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to neighbourhood services in your application.
 34 |     ///
 35 |     public static let shared = NeighbourhoodService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/JSONSerialiser.swift:30:10: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
28 |     }
29 |
30 |     func decode<T: Decodable>(_: T.Type, from data: Data) async throws -> T {
   |          |      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
   |          `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
31 |         let result = try decoder.decode(T.self, from: data)
32 |         return result
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:34:10: warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |          |   `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
    |          `- warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |              `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
    :
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           `- warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:163:18: 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
161 |             }
162 |
163 |             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
164 |                 do {
165 |                     let neighbourhood = try await self.neighbourhood(at: coordinate)
    |                                                   `- note: closure captures non-Sendable 'self'
166 |                     promise(.success(neighbourhood))
    |                     `- note: closure captures non-Sendable 'promise'
167 |                 } catch let error {
168 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:341:18: 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
339 |             }
340 |
341 |             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
342 |                 do {
343 |                     let policingTeam = try await self.neighbourhoodPolicingTeam(at: coordinate)
    |                                                  `- note: closure captures non-Sendable 'self'
344 |                     promise(.success(policingTeam))
    |                     `- note: closure captures non-Sendable 'promise'
345 |                 } catch let error {
346 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           |- warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
    |                                           `- note: sending 'self'-isolated 'self.serialiser' to nonisolated instance method 'decode(_:from:)' risks causing data races between nonisolated and 'self'-isolated uses
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
[98/100] Compiling PoliceDataKit Serialiser.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class NeighbourhoodService {
    |                    `- note: class 'NeighbourhoodService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to neighbourhood services in your application.
 34 |     ///
 35 |     public static let shared = NeighbourhoodService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/JSONSerialiser.swift:30:10: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
28 |     }
29 |
30 |     func decode<T: Decodable>(_: T.Type, from data: Data) async throws -> T {
   |          |      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
   |          `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
31 |         let result = try decoder.decode(T.self, from: data)
32 |         return result
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:34:10: warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |          |   `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
    |          `- warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |              `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
    :
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           `- warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:163:18: 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
161 |             }
162 |
163 |             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
164 |                 do {
165 |                     let neighbourhood = try await self.neighbourhood(at: coordinate)
    |                                                   `- note: closure captures non-Sendable 'self'
166 |                     promise(.success(neighbourhood))
    |                     `- note: closure captures non-Sendable 'promise'
167 |                 } catch let error {
168 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:341:18: 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
339 |             }
340 |
341 |             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
342 |                 do {
343 |                     let policingTeam = try await self.neighbourhoodPolicingTeam(at: coordinate)
    |                                                  `- note: closure captures non-Sendable 'self'
344 |                     promise(.success(policingTeam))
    |                     `- note: closure captures non-Sendable 'promise'
345 |                 } catch let error {
346 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           |- warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
    |                                           `- note: sending 'self'-isolated 'self.serialiser' to nonisolated instance method 'decode(_:from:)' risks causing data races between nonisolated and 'self'-isolated uses
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
[99/100] Compiling PoliceDataKit OutcomesAtStreetLevelForStreetCachingKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class NeighbourhoodService {
    |                    `- note: class 'NeighbourhoodService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to neighbourhood services in your application.
 34 |     ///
 35 |     public static let shared = NeighbourhoodService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/JSONSerialiser.swift:30:10: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
28 |     }
29 |
30 |     func decode<T: Decodable>(_: T.Type, from data: Data) async throws -> T {
   |          |      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
   |          `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
31 |         let result = try decoder.decode(T.self, from: data)
32 |         return result
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:34:10: warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |          |   `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
    |          `- warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |              `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
    :
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           `- warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:163:18: 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
161 |             }
162 |
163 |             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
164 |                 do {
165 |                     let neighbourhood = try await self.neighbourhood(at: coordinate)
    |                                                   `- note: closure captures non-Sendable 'self'
166 |                     promise(.success(neighbourhood))
    |                     `- note: closure captures non-Sendable 'promise'
167 |                 } catch let error {
168 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:341:18: 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
339 |             }
340 |
341 |             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
342 |                 do {
343 |                     let policingTeam = try await self.neighbourhoodPolicingTeam(at: coordinate)
    |                                                  `- note: closure captures non-Sendable 'self'
344 |                     promise(.success(policingTeam))
    |                     `- note: closure captures non-Sendable 'promise'
345 |                 } catch let error {
346 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           |- warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
    |                                           `- note: sending 'self'-isolated 'self.serialiser' to nonisolated instance method 'decode(_:from:)' risks causing data races between nonisolated and 'self'-isolated uses
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
[100/100] Compiling PoliceDataKit OutcomesForCrimeCachingKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:35:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | ///
 27 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 28 | public final class NeighbourhoodService {
    |                    `- note: class 'NeighbourhoodService' does not conform to the 'Sendable' protocol
 29 |
 30 |     ///
    :
 33 |     /// Use this object to interface to neighbourhood services in your application.
 34 |     ///
 35 |     public static let shared = NeighbourhoodService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NeighbourhoodService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |
 37 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/JSONSerialiser.swift:30:10: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
28 |     }
29 |
30 |     func decode<T: Decodable>(_: T.Type, from data: Data) async throws -> T {
   |          |      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
   |          `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'decode(_:from:)'; this is an error in the Swift 6 language mode
31 |         let result = try decoder.decode(T.self, from: data)
32 |         return result
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:34:10: warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |          |   `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
    |          `- warning: non-sendable type 'Response' cannot be returned from actor-isolated implementation to caller of protocol requirement 'get(path:)'; this is an error in the Swift 6 language mode
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 32 |     }
 33 |
 34 |     func get<Response: Decodable>(path: URL) async throws -> Response {
    |              `- note: consider making generic parameter 'Response' conform to the 'Sendable' protocol
 35 |         let urlRequest = buildURLRequest(for: path)
 36 |
    :
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           `- warning: non-sendable result type 'Response' cannot be sent from nonisolated context in call to instance method 'decode(_:from:)'; this is an error in the Swift 6 language mode
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:163:18: 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
161 |             }
162 |
163 |             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
164 |                 do {
165 |                     let neighbourhood = try await self.neighbourhood(at: coordinate)
    |                                                   `- note: closure captures non-Sendable 'self'
166 |                     promise(.success(neighbourhood))
    |                     `- note: closure captures non-Sendable 'promise'
167 |                 } catch let error {
168 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Neighbourhoods/NeighbourhoodService.swift:341:18: 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
339 |             }
340 |
341 |             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
342 |                 do {
343 |                     let policingTeam = try await self.neighbourhoodPolicingTeam(at: coordinate)
    |                                                  `- note: closure captures non-Sendable 'self'
344 |                     promise(.success(policingTeam))
    |                     `- note: closure captures non-Sendable 'promise'
345 |                 } catch let error {
346 |                     let neighbourhoodError = Self.mapToNeighbourhoodError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Networking/PoliceDataAPIClient.swift:49:43: warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
 47 |         let result: Response
 48 |         do {
 49 |             result = try await serialiser.decode(Response.self, from: data)
    |                                           |- warning: sending 'self.serialiser' risks causing data races; this is an error in the Swift 6 language mode
    |                                           `- note: sending 'self'-isolated 'self.serialiser' to nonisolated instance method 'decode(_:from:)' risks causing data races between nonisolated and 'self'-isolated uses
 50 |         } catch let error {
 51 |             throw APIClientError.decode(error)
Build complete! (8.62s)
Build complete.
{
  "default_localization" : "en",
  "dependencies" : [
  ],
  "manifest_display_name" : "PoliceDataKit",
  "name" : "PoliceDataKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    }
  ],
  "products" : [
    {
      "name" : "PoliceDataKit",
      "targets" : [
        "PoliceDataKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PoliceDataKitTests",
      "module_type" : "SwiftTarget",
      "name" : "PoliceDataKitTests",
      "path" : "Tests/PoliceDataKitTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/case-history.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/contact-details-none.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/contact-details.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/coordinate-invalid.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/coordinate.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/crime-category.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/crime-location-types.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/crime.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/data-set.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/engagement-method-empty-url.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/engagement-method.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/link-no-description.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/link.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/location-invalid-coordinate.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/location.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/neighbourhood-empty-force-url.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/neighbourhood-html-in-name.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/neighbourhood-invalid-population.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/neighbourhood-location-invalid-coordinates.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/neighbourhood-location-null-coordinates.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/neighbourhood-location-null-type.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/neighbourhood-location.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/neighbourhood-policing-team.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/neighbourhood-priority-html.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/neighbourhood-priority-no-action.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/neighbourhood-priority.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/neighbourhood-reference.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/neighbourhood.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/outcome-category.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/outcome-crime.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/outcome-status.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/outcome.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/police-force-reference.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/police-force.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/police-officer-nulls.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/police-officer.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/stop-and-search.json",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Availability/AvailabilityServiceTests.swift",
        "Availability/Cache/AvailabilityDefaultCacheTests.swift",
        "Availability/Cache/CachingKeys/AvailableDataSetsCachingKeyTests.swift",
        "Availability/Endpoints/AvailabilityEndpointTests.swift",
        "Availability/Mocks/AvailabilityMockCache.swift",
        "Availability/Models/DataSetTests.swift",
        "Cache/CacheItemTests.swift",
        "Cache/InMemoryCacheTests.swift",
        "Crimes/Cache/CachingKey/CrimeCategoriesCachingKeyTests.swift",
        "Crimes/Cache/CachingKey/CrimesForStreetCachingKeyTests.swift",
        "Crimes/Cache/CachingKey/CrimesWithNoLocationForCategoryInPoliceForceCachingKeyTests.swift",
        "Crimes/Cache/CrimeDefaultCacheTests.swift",
        "Crimes/CrimeServiceTests.swift",
        "Crimes/Endpoints/CrimesEndpointTests.swift",
        "Crimes/Mocks/CrimeMockCache.swift",
        "Crimes/Models/CrimeCategoryTests.swift",
        "Crimes/Models/CrimeLocationTypeTests.swift",
        "Crimes/Models/CrimeTests.swift",
        "Extensions/DateFormatter+PoliceDataAPITests.swift",
        "Extensions/JSONDecoderDateDecodingStrategy+PoliceDataAPITests.swift",
        "Extensions/StringHTMLTests.swift",
        "Extensions/URL+QueryItemTests.swift",
        "General/Models/ContactDetailsTests.swift",
        "General/Models/GenderTests.swift",
        "General/Models/LocationTests.swift",
        "General/Models/MKCoordinateRegionContainsCoordinateTests.swift",
        "General/Models/PoliceOfficerTests.swift",
        "Helpers/Data+LoadFromFile.swift",
        "Helpers/JSONDecoder+DecodeFromFile.swift",
        "Helpers/MockError.swift",
        "Helpers/URLProtocolMock.swift",
        "Helpers/URLSessionConfiguration+Mock.swift",
        "Helpers/XCTestCase+URLProtocolMock.swift",
        "Mocks/Cache/MockCache.swift",
        "Mocks/Client/MockAPIClient.swift",
        "Mocks/CoreLocation/CLLocationCoordinate2D+Mocks.swift",
        "Mocks/MapKit/MKCoordinateRegion+Mocks.swift",
        "Mocks/Models/CaseHistory+Mocks.swift",
        "Mocks/Models/ContactDetails+Mocks.swift",
        "Mocks/Models/Crime+Mocks.swift",
        "Mocks/Models/CrimeCategory+Mocks.swift",
        "Mocks/Models/CrimeLocationType+Mocks.swift",
        "Mocks/Models/DataSet+Mocks.swift",
        "Mocks/Models/EngagementMethod+Mocks.swift",
        "Mocks/Models/Link+Mocks.swift",
        "Mocks/Models/Location+Mocks.swift",
        "Mocks/Models/Neighbourhood+Mocks.swift",
        "Mocks/Models/NeighbourhoodLocation+Mocks.swift",
        "Mocks/Models/NeighbourhoodPolicingTeam+Mocks.swift",
        "Mocks/Models/NeighbourhoodPriority+Mocks.swift",
        "Mocks/Models/NeighbourhoodReference+Mocks.swift",
        "Mocks/Models/Outcome+Mocks.swift",
        "Mocks/Models/OutcomeCategory+Mocks.swift",
        "Mocks/Models/OutcomeCrime+Mocks.swift",
        "Mocks/Models/OutcomeStatus+Mocks.swift",
        "Mocks/Models/PoliceForce+Mocks.swift",
        "Mocks/Models/PoliceForceReference+Mocks.swift",
        "Mocks/Models/PoliceOfficer+Mocks.swift",
        "Mocks/Models/StopAndSearch+Mocks.swift",
        "Neighbourhoods/Cache/CachingKeys/NeighbourhoodBoundaryCachingKeyTests.swift",
        "Neighbourhoods/Cache/CachingKeys/NeighbourhoodCachingKeyTests.swift",
        "Neighbourhoods/Cache/CachingKeys/NeighbourhoodPoliceOfficersCachingKeyTests.swift",
        "Neighbourhoods/Cache/CachingKeys/NeighbourhoodPrioritiesCachingKeyTests.swift",
        "Neighbourhoods/Cache/CachingKeys/NeighbourhoodsInPoliceForceCachingKeyTests.swift",
        "Neighbourhoods/Cache/NeighbourhoodDefaultCacheTests.swift",
        "Neighbourhoods/Endpoints/NeighbourhoodsEndpointTests.swift",
        "Neighbourhoods/Mocks/NeighbourhoodMockCache.swift",
        "Neighbourhoods/Models/LinkTests.swift",
        "Neighbourhoods/Models/NeighbourhoodLocationTests.swift",
        "Neighbourhoods/Models/NeighbourhoodPolicingTeamTests.swift",
        "Neighbourhoods/Models/NeighbourhoodPriorityTests.swift",
        "Neighbourhoods/Models/NeighbourhoodReferenceTests.swift",
        "Neighbourhoods/Models/NeighbourhoodTests.swift",
        "Neighbourhoods/NeighbourhoodServiceTests.swift",
        "Networking/JSONSerialiserTests.swift",
        "Networking/MockURLProtocol.swift",
        "Networking/PoliceDataAPIClientTests.swift",
        "Outcomes/Cache/CachingKeys/OutcomesAtStreetLevelForStreetCachingKeyTests.swift",
        "Outcomes/Cache/CachingKeys/OutcomesForCrimeCachingKeyTests.swift",
        "Outcomes/Cache/OutcomeDefaultCacheTests.swift",
        "Outcomes/Endpoints/OutcomesEndpointTests.swift",
        "Outcomes/Mocks/OutcomeMockCache.swift",
        "Outcomes/Models/CaseHistoryTests.swift",
        "Outcomes/Models/OutcomeCategoryTests.swift",
        "Outcomes/Models/OutcomeCrimeTests.swift",
        "Outcomes/Models/OutcomeStatusDataModelTests.swift",
        "Outcomes/Models/OutcomeTests.swift",
        "Outcomes/OutcomeServiceTests.swift",
        "PoliceForces/Cache/CachingKeys/PoliceForceCachingKeyTests.swift",
        "PoliceForces/Cache/CachingKeys/PoliceForceSeniorOfficersCachingKeyTests.swift",
        "PoliceForces/Cache/CachingKeys/PoliceForcesCachingKeyTests.swift",
        "PoliceForces/Cache/PoliceForceDefaultCacheTests.swift",
        "PoliceForces/Endpoints/PoliceForcesEndpointTests.swift",
        "PoliceForces/Mocks/PoliceForceMockCache.swift",
        "PoliceForces/Models/EngagementMethodTests.swift",
        "PoliceForces/Models/PoliceForceReferenceTests.swift",
        "PoliceForces/Models/PoliceForceTests.swift",
        "PoliceForces/PoliceForceServiceTests.swift",
        "StopsAndSearches/Cache/CachingKeys/StopAndSearchesAtLocationCachingKeyTests.swift",
        "StopsAndSearches/Cache/CachingKeys/StopAndSearchesForPoliceForceCachingKeyTests.swift",
        "StopsAndSearches/Cache/CachingKeys/StopAndSearchesWithNoLocationCachingKeyTests.swift",
        "StopsAndSearches/Cache/StopAndSearchDefaultCacheTests.swift",
        "StopsAndSearches/Endpoints/StopAndSearchesEndpointTests.swift",
        "StopsAndSearches/Mocks/StopAndSearchMockCache.swift",
        "StopsAndSearches/Models/StopAndSearchTests.swift",
        "StopsAndSearches/Models/StopAndSearchTypeTests.swift",
        "StopsAndSearches/StopAndSearchServiceTests.swift"
      ],
      "target_dependencies" : [
        "PoliceDataKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PoliceDataKit",
      "module_type" : "SwiftTarget",
      "name" : "PoliceDataKit",
      "path" : "Sources/PoliceDataKit",
      "product_memberships" : [
        "PoliceDataKit"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Resources/en.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "en"
            }
          }
        }
      ],
      "sources" : [
        "Availability/AvailabilityError.swift",
        "Availability/AvailabilityService.swift",
        "Availability/Cache/AvailabilityDefaultCache.swift",
        "Availability/Cache/CachingKeys/AvailableDataSetsCachingKey.swift",
        "Availability/Endpoints/AvailabilityEndpoint.swift",
        "Availability/Models/DataSet.swift",
        "Availability/Protocols/AvailabilityCache.swift",
        "Cache/CacheItem.swift",
        "Cache/InMemoryCache.swift",
        "Crimes/Cache/CachingKeys/CrimeCategoriesCachingKey.swift",
        "Crimes/Cache/CachingKeys/CrimesForStreetCachingKey.swift",
        "Crimes/Cache/CachingKeys/CrimesWithNoLocationForCategoryInPoliceForceCachingKey.swift",
        "Crimes/Cache/CrimeDefaultCache.swift",
        "Crimes/CrimeError.swift",
        "Crimes/CrimeService.swift",
        "Crimes/Endpoints/CrimesEndpoint.swift",
        "Crimes/Models/Crime.swift",
        "Crimes/Models/CrimeCategory.swift",
        "Crimes/Models/CrimeLocationType.swift",
        "Crimes/Protocols/CrimeCache.swift",
        "Extensions/DateFormatter+PoliceDataAPI.swift",
        "Extensions/JSONDecoder+PoliceDataAPI.swift",
        "Extensions/JSONDecoderDateDecodingStrategy+PoliceDataAPI.swift",
        "Extensions/String+HTML.swift",
        "Extensions/URL+QueryItem.swift",
        "General/Models/CLLocationCoordinate2D+Codable.swift",
        "General/Models/CLLocationCoordinate2D+CustomStringConvertible.swift",
        "General/Models/CLLocationCoordinate2D+Equatable.swift",
        "General/Models/ContactDetails.swift",
        "General/Models/Location.swift",
        "General/Models/MKCoordinateRegion+ContainsCLLocationCoordinate2D.swift",
        "General/Models/MKCoordinateRegion+Regions.swift",
        "General/Models/PoliceOfficer.swift",
        "General/Models/Street.swift",
        "General/Protocols/APIClient.swift",
        "General/Protocols/Cache.swift",
        "General/Protocols/CachingKey.swift",
        "General/Protocols/Endpoint.swift",
        "Neighbourhoods/Cache/CachingKeys/NeighbourhoodBoundaryCachingKey.swift",
        "Neighbourhoods/Cache/CachingKeys/NeighbourhoodCachingKey.swift",
        "Neighbourhoods/Cache/CachingKeys/NeighbourhoodPoliceOfficersCachingKey.swift",
        "Neighbourhoods/Cache/CachingKeys/NeighbourhoodPrioritiesCachingKey.swift",
        "Neighbourhoods/Cache/CachingKeys/NeighbourhoodsInPoliceForceCachingKey.swift",
        "Neighbourhoods/Cache/NeighbourhoodDefaultCache.swift",
        "Neighbourhoods/Endpoints/NeighbourhoodsEndpoint.swift",
        "Neighbourhoods/Models/Link.swift",
        "Neighbourhoods/Models/Neighbourhood.swift",
        "Neighbourhoods/Models/NeighbourhoodLocation.swift",
        "Neighbourhoods/Models/NeighbourhoodPolicingTeam.swift",
        "Neighbourhoods/Models/NeighbourhoodPriority.swift",
        "Neighbourhoods/Models/NeighbourhoodReference.swift",
        "Neighbourhoods/NeighbourhoodError.swift",
        "Neighbourhoods/NeighbourhoodService.swift",
        "Neighbourhoods/Protocols/NeighbourhoodCache.swift",
        "Networking/JSONSerialiser.swift",
        "Networking/PoliceDataAPIClient.swift",
        "Networking/Serialiser.swift",
        "Outcomes/Cache/CachingKeys/OutcomesAtStreetLevelForStreetCachingKey.swift",
        "Outcomes/Cache/CachingKeys/OutcomesForCrimeCachingKey.swift",
        "Outcomes/Cache/OutcomeDefaultCache.swift",
        "Outcomes/Endpoints/OutcomesEndpoint.swift",
        "Outcomes/Models/CaseHistory.swift",
        "Outcomes/Models/CaseHistoryCrime.swift",
        "Outcomes/Models/CaseHistoryOutcome.swift",
        "Outcomes/Models/Outcome.swift",
        "Outcomes/Models/OutcomeCategory.swift",
        "Outcomes/Models/OutcomeCrime.swift",
        "Outcomes/Models/OutcomeStatus.swift",
        "Outcomes/OutcomeError.swift",
        "Outcomes/OutcomeService.swift",
        "Outcomes/Protocols/OutcomeCache.swift",
        "PoliceDataKitFactory.swift",
        "PoliceForces/Cache/CachingKeys/PoliceForceCachingKey.swift",
        "PoliceForces/Cache/CachingKeys/PoliceForceSeniorOfficersCachingKey.swift",
        "PoliceForces/Cache/CachingKeys/PoliceForcesCachingKey.swift",
        "PoliceForces/Cache/PoliceForceDefaultCache.swift",
        "PoliceForces/Endpoints/PoliceForcesEndpoint.swift",
        "PoliceForces/Models/EngagementMethod.swift",
        "PoliceForces/Models/PoliceForce.swift",
        "PoliceForces/Models/PoliceForceReference.swift",
        "PoliceForces/PoliceForceError.swift",
        "PoliceForces/PoliceForceService.swift",
        "PoliceForces/Protocols/PoliceForceCache.swift",
        "StopAndSearches/Cache/CachingKeys/StopAndSearchesAtLocationCachingKey.swift",
        "StopAndSearches/Cache/CachingKeys/StopAndSearchesForPoliceForceCachingKey.swift",
        "StopAndSearches/Cache/CachingKeys/StopAndSearchesWithNoLocationCachingKey.swift",
        "StopAndSearches/Cache/StopAndSearchDefaultCache.swift",
        "StopAndSearches/Endpoints/StopAndSearchesEndpoint.swift",
        "StopAndSearches/Models/Gender.swift",
        "StopAndSearches/Models/StopAndSearch.swift",
        "StopAndSearches/Models/StopAndSearchType.swift",
        "StopAndSearches/Protocols/StopAndSearchCache.swift",
        "StopAndSearches/StopAndSearchError.swift",
        "StopAndSearches/StopAndSearchService.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "IntegrationTests",
      "module_type" : "SwiftTarget",
      "name" : "IntegrationTests",
      "path" : "Tests/IntegrationTests",
      "sources" : [
        "AvailabilityIntegrationTests.swift",
        "CrimeIntegrationTests.swift",
        "Helpers/Date+ISO8601.swift",
        "NeighbourhoodIntegrationTests.swift",
        "OutcomeIntegrationTests.swift",
        "PoliceForceIntegrationTests.swift",
        "StopAndSearchIntegrationTests.swift"
      ],
      "target_dependencies" : [
        "PoliceDataKit"
      ],
      "type" : "test"
    }
  ],
  "tools_version" : "5.9"
}
Done.