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 4.0.0 (b189fa), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 10:08:43 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

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)
[94/100] Compiling PoliceDataKit CrimeError.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)
[95/100] Compiling PoliceDataKit CrimeService.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)
[96/100] Compiling PoliceDataKit CrimesEndpoint.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)
[97/100] Compiling PoliceDataKit Crime.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)
[98/100] Compiling PoliceDataKit CrimeCategory.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)
[99/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)
[100/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)
Build complete! (8.26s)
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.