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

The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of PoliceDataKit with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 21

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

   |                                             `- warning: non-sendable type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[CrimeCategory]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[CrimeCategory]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- 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: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
   |                       `- 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/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:126:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
124 |             Task {
125 |                 do {
126 |                     let crimes = try await self.streetLevelCrimes(at: coordinate, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
127 |                     promise(.success(crimes))
128 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:127:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
125 |                 do {
126 |                     let crimes = try await self.streetLevelCrimes(at: coordinate, date: date)
127 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 |                 } catch let error {
129 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:203:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
201 |             Task {
202 |                 do {
203 |                     let crimes = try await self.streetLevelCrimes(in: coordinates, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
204 |                     promise(.success(crimes))
205 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:204:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
202 |                 do {
203 |                     let crimes = try await self.streetLevelCrimes(in: coordinates, date: date)
204 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
205 |                 } catch let error {
206 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:307:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
305 |             Task {
306 |                 do {
307 |                     let crimes = try await self.crimes(at: coordinate, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
308 |                     promise(.success(crimes))
309 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:308:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
306 |                 do {
307 |                     let crimes = try await self.crimes(at: coordinate, date: date)
308 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
309 |                 } catch let error {
310 |                     let crimeError = Self.mapToCrimeError(error)
/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 'self'-isolated value of type '[Crime]' with later accesses to nonisolated context 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'-isolated value of type '[Crime]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 'self'-isolated value of type '[Crime]' with later accesses to nonisolated context 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'-isolated value of type '[Crime]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 'self'-isolated value of type '[CrimeCategory]' with later accesses to nonisolated context 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'-isolated value of type '[CrimeCategory]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 |
[88/100] Compiling PoliceDataKit Crime.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:31:10: warning: non-sendable type '[Crime]?' returned by actor-isolated instance method 'crimes(forStreet:date:)' satisfying protocol requirement cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimes(forStreet:date:)' satisfying protocol requirement cannot cross actor boundary; 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 type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimes(_:forStreet:date:)' cannot cross actor boundary; 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 type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimes(_:forStreet:date:)' cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimesWithNoLocation(forCategory:inPoliceForce:date:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
42 |     }
43 |
44 |     func crimesWithNoLocation(
   |          `- warning: non-sendable type '[Crime]?' returned by actor-isolated instance method 'crimesWithNoLocation(forCategory:inPoliceForce:date:)' satisfying protocol requirement cannot cross actor boundary; 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 type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimesWithNoLocation(_:forCategory:inPoliceForce:date:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
57 |     }
58 |
59 |     func setCrimesWithNoLocation(
   |          `- warning: non-sendable type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimesWithNoLocation(_:forCategory:inPoliceForce:date:)' cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimeCategories(forDate:)' satisfying protocol requirement cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimeCategories(forDate:)' satisfying protocol requirement cannot cross actor boundary; 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 type '[CrimeCategory]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimeCategories(_:forDate:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
79 |     }
80 |
81 |     func setCrimeCategories(_ crimeCategories: [CrimeCategory], forDate date: Date) async {
   |          `- warning: non-sendable type '[CrimeCategory]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimeCategories(_:forDate:)' cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[CrimeCategory]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[CrimeCategory]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- 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: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
   |                       `- 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/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:126:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
124 |             Task {
125 |                 do {
126 |                     let crimes = try await self.streetLevelCrimes(at: coordinate, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
127 |                     promise(.success(crimes))
128 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:127:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
125 |                 do {
126 |                     let crimes = try await self.streetLevelCrimes(at: coordinate, date: date)
127 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 |                 } catch let error {
129 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:203:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
201 |             Task {
202 |                 do {
203 |                     let crimes = try await self.streetLevelCrimes(in: coordinates, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
204 |                     promise(.success(crimes))
205 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:204:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
202 |                 do {
203 |                     let crimes = try await self.streetLevelCrimes(in: coordinates, date: date)
204 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
205 |                 } catch let error {
206 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:307:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
305 |             Task {
306 |                 do {
307 |                     let crimes = try await self.crimes(at: coordinate, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
308 |                     promise(.success(crimes))
309 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:308:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
306 |                 do {
307 |                     let crimes = try await self.crimes(at: coordinate, date: date)
308 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
309 |                 } catch let error {
310 |                     let crimeError = Self.mapToCrimeError(error)
/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 'self'-isolated value of type '[Crime]' with later accesses to nonisolated context 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'-isolated value of type '[Crime]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 'self'-isolated value of type '[Crime]' with later accesses to nonisolated context 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'-isolated value of type '[Crime]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 'self'-isolated value of type '[CrimeCategory]' with later accesses to nonisolated context 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'-isolated value of type '[CrimeCategory]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 |
[89/100] Compiling PoliceDataKit CrimeCategory.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:31:10: warning: non-sendable type '[Crime]?' returned by actor-isolated instance method 'crimes(forStreet:date:)' satisfying protocol requirement cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimes(forStreet:date:)' satisfying protocol requirement cannot cross actor boundary; 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 type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimes(_:forStreet:date:)' cannot cross actor boundary; 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 type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimes(_:forStreet:date:)' cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimesWithNoLocation(forCategory:inPoliceForce:date:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
42 |     }
43 |
44 |     func crimesWithNoLocation(
   |          `- warning: non-sendable type '[Crime]?' returned by actor-isolated instance method 'crimesWithNoLocation(forCategory:inPoliceForce:date:)' satisfying protocol requirement cannot cross actor boundary; 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 type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimesWithNoLocation(_:forCategory:inPoliceForce:date:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
57 |     }
58 |
59 |     func setCrimesWithNoLocation(
   |          `- warning: non-sendable type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimesWithNoLocation(_:forCategory:inPoliceForce:date:)' cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimeCategories(forDate:)' satisfying protocol requirement cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimeCategories(forDate:)' satisfying protocol requirement cannot cross actor boundary; 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 type '[CrimeCategory]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimeCategories(_:forDate:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
79 |     }
80 |
81 |     func setCrimeCategories(_ crimeCategories: [CrimeCategory], forDate date: Date) async {
   |          `- warning: non-sendable type '[CrimeCategory]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimeCategories(_:forDate:)' cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[CrimeCategory]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[CrimeCategory]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- 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: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
   |                       `- 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/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:126:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
124 |             Task {
125 |                 do {
126 |                     let crimes = try await self.streetLevelCrimes(at: coordinate, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
127 |                     promise(.success(crimes))
128 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:127:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
125 |                 do {
126 |                     let crimes = try await self.streetLevelCrimes(at: coordinate, date: date)
127 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 |                 } catch let error {
129 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:203:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
201 |             Task {
202 |                 do {
203 |                     let crimes = try await self.streetLevelCrimes(in: coordinates, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
204 |                     promise(.success(crimes))
205 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:204:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
202 |                 do {
203 |                     let crimes = try await self.streetLevelCrimes(in: coordinates, date: date)
204 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
205 |                 } catch let error {
206 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:307:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
305 |             Task {
306 |                 do {
307 |                     let crimes = try await self.crimes(at: coordinate, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
308 |                     promise(.success(crimes))
309 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:308:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
306 |                 do {
307 |                     let crimes = try await self.crimes(at: coordinate, date: date)
308 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
309 |                 } catch let error {
310 |                     let crimeError = Self.mapToCrimeError(error)
/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 'self'-isolated value of type '[Crime]' with later accesses to nonisolated context 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'-isolated value of type '[Crime]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 'self'-isolated value of type '[Crime]' with later accesses to nonisolated context 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'-isolated value of type '[Crime]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 'self'-isolated value of type '[CrimeCategory]' with later accesses to nonisolated context 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'-isolated value of type '[CrimeCategory]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 |
[90/100] Compiling PoliceDataKit CrimeLocationType.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:31:10: warning: non-sendable type '[Crime]?' returned by actor-isolated instance method 'crimes(forStreet:date:)' satisfying protocol requirement cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimes(forStreet:date:)' satisfying protocol requirement cannot cross actor boundary; 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 type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimes(_:forStreet:date:)' cannot cross actor boundary; 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 type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimes(_:forStreet:date:)' cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimesWithNoLocation(forCategory:inPoliceForce:date:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
42 |     }
43 |
44 |     func crimesWithNoLocation(
   |          `- warning: non-sendable type '[Crime]?' returned by actor-isolated instance method 'crimesWithNoLocation(forCategory:inPoliceForce:date:)' satisfying protocol requirement cannot cross actor boundary; 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 type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimesWithNoLocation(_:forCategory:inPoliceForce:date:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
57 |     }
58 |
59 |     func setCrimesWithNoLocation(
   |          `- warning: non-sendable type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimesWithNoLocation(_:forCategory:inPoliceForce:date:)' cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimeCategories(forDate:)' satisfying protocol requirement cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimeCategories(forDate:)' satisfying protocol requirement cannot cross actor boundary; 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 type '[CrimeCategory]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimeCategories(_:forDate:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
79 |     }
80 |
81 |     func setCrimeCategories(_ crimeCategories: [CrimeCategory], forDate date: Date) async {
   |          `- warning: non-sendable type '[CrimeCategory]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimeCategories(_:forDate:)' cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[CrimeCategory]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[CrimeCategory]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- 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: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
   |                       `- 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/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:126:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
124 |             Task {
125 |                 do {
126 |                     let crimes = try await self.streetLevelCrimes(at: coordinate, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
127 |                     promise(.success(crimes))
128 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:127:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
125 |                 do {
126 |                     let crimes = try await self.streetLevelCrimes(at: coordinate, date: date)
127 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 |                 } catch let error {
129 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:203:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
201 |             Task {
202 |                 do {
203 |                     let crimes = try await self.streetLevelCrimes(in: coordinates, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
204 |                     promise(.success(crimes))
205 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:204:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
202 |                 do {
203 |                     let crimes = try await self.streetLevelCrimes(in: coordinates, date: date)
204 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
205 |                 } catch let error {
206 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:307:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
305 |             Task {
306 |                 do {
307 |                     let crimes = try await self.crimes(at: coordinate, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
308 |                     promise(.success(crimes))
309 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:308:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
306 |                 do {
307 |                     let crimes = try await self.crimes(at: coordinate, date: date)
308 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
309 |                 } catch let error {
310 |                     let crimeError = Self.mapToCrimeError(error)
/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 'self'-isolated value of type '[Crime]' with later accesses to nonisolated context 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'-isolated value of type '[Crime]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 'self'-isolated value of type '[Crime]' with later accesses to nonisolated context 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'-isolated value of type '[Crime]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 'self'-isolated value of type '[CrimeCategory]' with later accesses to nonisolated context 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'-isolated value of type '[CrimeCategory]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 |
[91/100] Compiling PoliceDataKit CrimeCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/Cache/CrimeDefaultCache.swift:31:10: warning: non-sendable type '[Crime]?' returned by actor-isolated instance method 'crimes(forStreet:date:)' satisfying protocol requirement cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimes(forStreet:date:)' satisfying protocol requirement cannot cross actor boundary; 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 type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimes(_:forStreet:date:)' cannot cross actor boundary; 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 type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimes(_:forStreet:date:)' cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimesWithNoLocation(forCategory:inPoliceForce:date:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
42 |     }
43 |
44 |     func crimesWithNoLocation(
   |          `- warning: non-sendable type '[Crime]?' returned by actor-isolated instance method 'crimesWithNoLocation(forCategory:inPoliceForce:date:)' satisfying protocol requirement cannot cross actor boundary; 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 type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimesWithNoLocation(_:forCategory:inPoliceForce:date:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
57 |     }
58 |
59 |     func setCrimesWithNoLocation(
   |          `- warning: non-sendable type '[Crime]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimesWithNoLocation(_:forCategory:inPoliceForce:date:)' cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimeCategories(forDate:)' satisfying protocol requirement cannot cross actor boundary; 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]?' returned by actor-isolated instance method 'crimeCategories(forDate:)' satisfying protocol requirement cannot cross actor boundary; 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 type '[CrimeCategory]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimeCategories(_:forDate:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
79 |     }
80 |
81 |     func setCrimeCategories(_ crimeCategories: [CrimeCategory], forDate date: Date) async {
   |          `- warning: non-sendable type '[CrimeCategory]' in parameter of the protocol requirement satisfied by actor-isolated instance method 'setCrimeCategories(_:forDate:)' cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[Crime]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[CrimeCategory]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[CrimeCategory]?' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- 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: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
   |                       `- 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/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:126:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
124 |             Task {
125 |                 do {
126 |                     let crimes = try await self.streetLevelCrimes(at: coordinate, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
127 |                     promise(.success(crimes))
128 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:127:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
125 |                 do {
126 |                     let crimes = try await self.streetLevelCrimes(at: coordinate, date: date)
127 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 |                 } catch let error {
129 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:203:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
201 |             Task {
202 |                 do {
203 |                     let crimes = try await self.streetLevelCrimes(in: coordinates, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
204 |                     promise(.success(crimes))
205 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:204:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
202 |                 do {
203 |                     let crimes = try await self.streetLevelCrimes(in: coordinates, date: date)
204 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
205 |                 } catch let error {
206 |                     let crimeError = Self.mapToCrimeError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:307:44: warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; 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 |     ///
    :
305 |             Task {
306 |                 do {
307 |                     let crimes = try await self.crimes(at: coordinate, date: date)
    |                                            `- warning: capture of 'self' with non-sendable type 'CrimeService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
308 |                     promise(.success(crimes))
309 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/Crimes/CrimeService.swift:308:21: warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
306 |                 do {
307 |                     let crimes = try await self.crimes(at: coordinate, date: date)
308 |                     promise(.success(crimes))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[Crime], CrimeError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
309 |                 } catch let error {
310 |                     let crimeError = Self.mapToCrimeError(error)
/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 'self'-isolated value of type '[Crime]' with later accesses to nonisolated context 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'-isolated value of type '[Crime]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 'self'-isolated value of type '[Crime]' with later accesses to nonisolated context 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'-isolated value of type '[Crime]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 'self'-isolated value of type '[CrimeCategory]' with later accesses to nonisolated context 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'-isolated value of type '[CrimeCategory]' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
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 |
[92/100] Compiling PoliceDataKit StopAndSearchDefaultCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:39:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
 37 |     /// Use this object to interface to stop and search services in your application.
 38 |     ///
 39 |     public static let shared = StopAndSearchService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:131:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
129 |             Task {
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |                     promise(.success(stopAndSearches))
133 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:132:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
132 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 |                 } catch let error {
134 |                     let outcomeError = Self.mapToStopAndSearchError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:202:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
200 |             Task {
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
203 |                     promise(.success(stopAndSearches))
204 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:203:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
203 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
204 |                 } catch let error {
205 |                     let outcomeError = Self.mapToStopAndSearchError(error)
[93/100] Compiling PoliceDataKit StopAndSearchesEndpoint.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:39:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
 37 |     /// Use this object to interface to stop and search services in your application.
 38 |     ///
 39 |     public static let shared = StopAndSearchService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:131:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
129 |             Task {
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |                     promise(.success(stopAndSearches))
133 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:132:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
132 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 |                 } catch let error {
134 |                     let outcomeError = Self.mapToStopAndSearchError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:202:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
200 |             Task {
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
203 |                     promise(.success(stopAndSearches))
204 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:203:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
203 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
204 |                 } catch let error {
205 |                     let outcomeError = Self.mapToStopAndSearchError(error)
[94/100] Compiling PoliceDataKit Gender.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:39:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
 37 |     /// Use this object to interface to stop and search services in your application.
 38 |     ///
 39 |     public static let shared = StopAndSearchService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:131:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
129 |             Task {
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |                     promise(.success(stopAndSearches))
133 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:132:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
132 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 |                 } catch let error {
134 |                     let outcomeError = Self.mapToStopAndSearchError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:202:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
200 |             Task {
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
203 |                     promise(.success(stopAndSearches))
204 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:203:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
203 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
204 |                 } catch let error {
205 |                     let outcomeError = Self.mapToStopAndSearchError(error)
[95/100] Compiling PoliceDataKit StopAndSearch.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:39:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
 37 |     /// Use this object to interface to stop and search services in your application.
 38 |     ///
 39 |     public static let shared = StopAndSearchService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:131:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
129 |             Task {
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |                     promise(.success(stopAndSearches))
133 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:132:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
132 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 |                 } catch let error {
134 |                     let outcomeError = Self.mapToStopAndSearchError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:202:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
200 |             Task {
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
203 |                     promise(.success(stopAndSearches))
204 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:203:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
203 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
204 |                 } catch let error {
205 |                     let outcomeError = Self.mapToStopAndSearchError(error)
[96/100] Compiling PoliceDataKit StopAndSearchType.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:39:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
 37 |     /// Use this object to interface to stop and search services in your application.
 38 |     ///
 39 |     public static let shared = StopAndSearchService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:131:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
129 |             Task {
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |                     promise(.success(stopAndSearches))
133 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:132:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
132 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 |                 } catch let error {
134 |                     let outcomeError = Self.mapToStopAndSearchError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:202:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
200 |             Task {
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
203 |                     promise(.success(stopAndSearches))
204 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:203:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
203 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
204 |                 } catch let error {
205 |                     let outcomeError = Self.mapToStopAndSearchError(error)
[97/100] Compiling PoliceDataKit StopAndSearchCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:39:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
 37 |     /// Use this object to interface to stop and search services in your application.
 38 |     ///
 39 |     public static let shared = StopAndSearchService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:131:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
129 |             Task {
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |                     promise(.success(stopAndSearches))
133 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:132:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
132 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 |                 } catch let error {
134 |                     let outcomeError = Self.mapToStopAndSearchError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:202:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
200 |             Task {
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
203 |                     promise(.success(stopAndSearches))
204 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:203:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
203 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
204 |                 } catch let error {
205 |                     let outcomeError = Self.mapToStopAndSearchError(error)
[98/100] Compiling PoliceDataKit StopAndSearchError.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:39:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
 37 |     /// Use this object to interface to stop and search services in your application.
 38 |     ///
 39 |     public static let shared = StopAndSearchService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:131:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
129 |             Task {
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |                     promise(.success(stopAndSearches))
133 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:132:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
132 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 |                 } catch let error {
134 |                     let outcomeError = Self.mapToStopAndSearchError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:202:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
200 |             Task {
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
203 |                     promise(.success(stopAndSearches))
204 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:203:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
203 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
204 |                 } catch let error {
205 |                     let outcomeError = Self.mapToStopAndSearchError(error)
[99/100] Compiling PoliceDataKit StopAndSearchService.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:39:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
 37 |     /// Use this object to interface to stop and search services in your application.
 38 |     ///
 39 |     public static let shared = StopAndSearchService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:131:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
129 |             Task {
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |                     promise(.success(stopAndSearches))
133 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:132:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
132 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 |                 } catch let error {
134 |                     let outcomeError = Self.mapToStopAndSearchError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:202:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
200 |             Task {
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
203 |                     promise(.success(stopAndSearches))
204 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:203:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
203 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
204 |                 } catch let error {
205 |                     let outcomeError = Self.mapToStopAndSearchError(error)
[100/100] Compiling PoliceDataKit resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:39:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
 37 |     /// Use this object to interface to stop and search services in your application.
 38 |     ///
 39 |     public static let shared = StopAndSearchService()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'StopAndSearchService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     private let apiClient: any APIClient
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/PoliceDataKitFactory.swift:30:16: warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
28 | extension PoliceDataKitFactory {
29 |
30 |     static let apiClient: some APIClient = PoliceDataAPIClient(
   |                |- warning: static property 'apiClient' is not concurrency-safe because non-'Sendable' type 'some APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'apiClient' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |         baseURL: policeDataBaseURL,
32 |         urlSession: urlSession,
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:131:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
129 |             Task {
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
132 |                     promise(.success(stopAndSearches))
133 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:132:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 do {
131 |                     let stopAndSearches = try await self.stopAndSearches(at: coordinate, date: date)
132 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
133 |                 } catch let error {
134 |                     let outcomeError = Self.mapToStopAndSearchError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:202:53: warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 30 | ///
 31 | @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12, *)
 32 | public final class StopAndSearchService {
    |                    `- note: class 'StopAndSearchService' does not conform to the 'Sendable' protocol
 33 |
 34 |     ///
    :
200 |             Task {
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
    |                                                     `- warning: capture of 'self' with non-sendable type 'StopAndSearchService' in a `@Sendable` closure; this is an error in the Swift 6 language mode
203 |                     promise(.success(stopAndSearches))
204 |                 } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/PoliceDataKit/StopAndSearches/StopAndSearchService.swift:203:21: warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
201 |                 do {
202 |                     let stopAndSearches = try await self.stopAndSearches(in: coordinates, date: date)
203 |                     promise(.success(stopAndSearches))
    |                     |- warning: capture of 'promise' with non-sendable type '(Result<[StopAndSearch], StopAndSearchError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
204 |                 } catch let error {
205 |                     let outcomeError = Self.mapToStopAndSearchError(error)
Build complete! (30.67s)
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/link.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.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/contact-details.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/engagement-method-empty-url.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/crime.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PoliceDataKitTests/Resources/json/stop-and-search.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/data-set.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/police-force.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/neighbourhood-priority.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/neighbourhood-invalid-population.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/coordinate-invalid.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/neighbourhood-priority-no-action.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/neighbourhood-policing-team.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/coordinate.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/police-officer.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/contact-details-none.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/neighbourhood-location-null-type.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-location-null-coordinates.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/case-history.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.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.