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 Haversack, reference 1.1.1 (4d58a3), with Swift 6.0 for macOS (SPM) on 12 Oct 2024 16:34:28 UTC.

Swift 6 data race errors: 24

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.0.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

28 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:33:98: warning: converting a value of type '(__shared sending Result<SecKey, any Error>) -> ()' to type '(Result<SecKey, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
31 |     public func generateKey(fromConfig config: KeyGenerationConfig, itemSecurity: ItemSecurity) async throws -> SecKey {
32 |         try await withCheckedThrowingContinuation { continuation in
33 |             generateKey(fromConfig: config, itemSecurity: itemSecurity, completion: continuation.resume)
   |                                                                                                  |- warning: converting a value of type '(__shared sending Result<SecKey, any Error>) -> ()' to type '(Result<SecKey, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
   |                                                                                                  `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
34 |         }
35 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:40:107: warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
38 |     public func delete<T: KeychainQuerying>(where query: T, treatNotFoundAsSuccess: Bool = true) async throws {
39 |         let error = try await withCheckedThrowingContinuation { continuation in
40 |             delete(where: query, treatNotFoundAsSuccess: treatNotFoundAsSuccess, completion: continuation.resume)
   |                                                                                                           |- warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
   |                                                                                                           `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
41 |         }
42 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:51:99: warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
49 |     public func delete<T: KeychainStorable>(_ item: T, treatNotFoundAsSuccess: Bool = true) async throws {
50 |         let error = try await withCheckedThrowingContinuation { continuation in
51 |             delete(item, treatNotFoundAsSuccess: treatNotFoundAsSuccess, completion: continuation.resume)
   |                                                                                                   |- warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
   |                                                                                                   `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
52 |         }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:46:38: warning: capture of 'self' with non-sendable type 'Haversack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  7 | ///
  8 | /// Contains keychain search functionality and the ability to add/update/delete items in the keychain.
  9 | public struct Haversack {
    |               `- note: consider making struct 'Haversack' conform to the 'Sendable' protocol
 10 |     /// The configuration that the Haversack was created with.
 11 |     public let configuration: HaversackConfiguration
    :
 44 |             let result: Result<T.Entity, Error>
 45 |             do {
 46 |                 let localQuery = try precheckSearch(query, singleItem: true)
    |                                      `- warning: capture of 'self' with non-sendable type 'Haversack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 47 |
 48 |                 let entity = try self.configuration.strategy.searchForOne(localQuery)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:46:53: warning: capture of 'query' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 39 |     ///   - completion: A function/block to be called when the search operation is completed.
 40 |     ///   - result: The item or an error will be given to the completion handler.
 41 |     public func first<T: KeychainQuerying>(where query: T, completionQueue: OperationQueue? = nil,
    |                       `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 42 |                                            completion: @escaping (_ result: Result<T.Entity, Error>) -> Void) {
 43 |         configuration.serialQueue.async {
 44 |             let result: Result<T.Entity, Error>
 45 |             do {
 46 |                 let localQuery = try precheckSearch(query, singleItem: true)
    |                                                     `- warning: capture of 'query' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 47 |
 48 |                 let entity = try self.configuration.strategy.searchForOne(localQuery)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:54:37: warning: capture of 'completion' with non-sendable type '(Result<T.Entity, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |             }
 53 |
 54 |             call(completionHandler: completion, onQueue: completionQueue, with: result)
    |                                     |- warning: capture of 'completion' with non-sendable type '(Result<T.Entity, any Error>) -> 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'
 55 |         }
 56 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:83:38: warning: capture of 'self' with non-sendable type 'Haversack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  7 | ///
  8 | /// Contains keychain search functionality and the ability to add/update/delete items in the keychain.
  9 | public struct Haversack {
    |               `- note: consider making struct 'Haversack' conform to the 'Sendable' protocol
 10 |     /// The configuration that the Haversack was created with.
 11 |     public let configuration: HaversackConfiguration
    :
 81 |             let result: Result<[T.Entity], Error>
 82 |             do {
 83 |                 let localQuery = try precheckSearch(query)
    |                                      `- warning: capture of 'self' with non-sendable type 'Haversack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 84 |
 85 |                 let entities = try self.configuration.strategy.search(localQuery)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:83:53: warning: capture of 'query' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 76 |     ///   - completion: A function/block to be called when the search operation is completed.
 77 |     ///   - result: An array of items or an error will be given to the completion handler.
 78 |     public func search<T: KeychainQuerying>(where query: T, completionQueue: OperationQueue? = nil,
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 79 |                                             completion: @escaping (_ result: Result<[T.Entity], Error>) -> Void) {
 80 |         configuration.serialQueue.async {
 81 |             let result: Result<[T.Entity], Error>
 82 |             do {
 83 |                 let localQuery = try precheckSearch(query)
    |                                                     `- warning: capture of 'query' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 84 |
 85 |                 let entities = try self.configuration.strategy.search(localQuery)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:91:37: warning: capture of 'completion' with non-sendable type '(Result<[T.Entity], any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 89 |             }
 90 |
 91 |             call(completionHandler: completion, onQueue: completionQueue, with: result)
    |                                     |- warning: capture of 'completion' with non-sendable type '(Result<[T.Entity], any Error>) -> 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'
 92 |         }
 93 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:129:35: warning: capture of 'self' with non-sendable type 'Haversack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  7 | ///
  8 | /// Contains keychain search functionality and the ability to add/update/delete items in the keychain.
  9 | public struct Haversack {
    |               `- note: consider making struct 'Haversack' conform to the 'Sendable' protocol
 10 |     /// The configuration that the Haversack was created with.
 11 |     public let configuration: HaversackConfiguration
    :
127 |
128 |             do {
129 |                 let theItem = try unsynchronizedSave(item, itemSecurity: itemSecurity, updateExisting: updateExisting)
    |                                   `- warning: capture of 'self' with non-sendable type 'Haversack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 result = .success(theItem)
131 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:129:54: warning: capture of 'item' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |     ///   - completion: A function/block to be called when the save operation is completed.
121 |     ///   - result: The original `item` that was saved or an error will be given to the completion handler.
122 |     public func save<T: KeychainStorable>(_ item: T, itemSecurity: ItemSecurity, updateExisting: Bool,
    |                      `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
123 |                                           completionQueue: OperationQueue? = nil,
124 |                                           completion: @escaping (_ result: Result<T, Error>) -> Void) {
    :
127 |
128 |             do {
129 |                 let theItem = try unsynchronizedSave(item, itemSecurity: itemSecurity, updateExisting: updateExisting)
    |                                                      `- warning: capture of 'item' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 result = .success(theItem)
131 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:129:74: warning: capture of 'itemSecurity' with non-sendable type 'ItemSecurity' in a `@Sendable` closure; this is an error in the Swift 6 language mode
127 |
128 |             do {
129 |                 let theItem = try unsynchronizedSave(item, itemSecurity: itemSecurity, updateExisting: updateExisting)
    |                                                                          `- warning: capture of 'itemSecurity' with non-sendable type 'ItemSecurity' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 result = .success(theItem)
131 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/ItemSecurity.swift:7:15: note: consider making struct 'ItemSecurity' conform to the 'Sendable' protocol
  5 |
  6 | /// Specify the security of the keychain item
  7 | public struct ItemSecurity {
    |               `- note: consider making struct 'ItemSecurity' conform to the 'Sendable' protocol
  8 |
  9 |     /// The Haversack standard security for keychain items.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:135:37: warning: capture of 'completion' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |             }
134 |
135 |             call(completionHandler: completion, onQueue: completionQueue, with: result)
    |                                     |- warning: capture of 'completion' with non-sendable type '(Result<T, any Error>) -> 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'
136 |         }
137 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:172:31: warning: capture of 'self' with non-sendable type 'Haversack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  7 | ///
  8 | /// Contains keychain search functionality and the ability to add/update/delete items in the keychain.
  9 | public struct Haversack {
    |               `- note: consider making struct 'Haversack' conform to the 'Sendable' protocol
 10 |     /// The configuration that the Haversack was created with.
 11 |     public let configuration: HaversackConfiguration
    :
170 |
171 |             do {
172 |                 let key = try unsynchronizedKeyGeneration(fromConfig: config, itemSecurity: itemSecurity)
    |                               `- warning: capture of 'self' with non-sendable type 'Haversack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 |                 result = .success(key)
174 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:172:71: warning: capture of 'config' with non-sendable type 'KeyGenerationConfig' in a `@Sendable` closure; this is an error in the Swift 6 language mode
170 |
171 |             do {
172 |                 let key = try unsynchronizedKeyGeneration(fromConfig: config, itemSecurity: itemSecurity)
    |                                                                       `- warning: capture of 'config' with non-sendable type 'KeyGenerationConfig' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 |                 result = .success(key)
174 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/KeyGenerationConfig.swift:10:15: note: consider making struct 'KeyGenerationConfig' conform to the 'Sendable' protocol
  8 | /// Create a `KeyGenerationConfig` and then pass it to ``Haversack/Haversack/generateKey(fromConfig:itemSecurity:)-1r4ki``
  9 | /// or one of it's asynchronous variants.
 10 | public struct KeyGenerationConfig {
    |               `- note: consider making struct 'KeyGenerationConfig' conform to the 'Sendable' protocol
 11 |     /// The keychain config query.
 12 |     ///
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:172:93: warning: capture of 'itemSecurity' with non-sendable type 'ItemSecurity' in a `@Sendable` closure; this is an error in the Swift 6 language mode
170 |
171 |             do {
172 |                 let key = try unsynchronizedKeyGeneration(fromConfig: config, itemSecurity: itemSecurity)
    |                                                                                             `- warning: capture of 'itemSecurity' with non-sendable type 'ItemSecurity' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 |                 result = .success(key)
174 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/ItemSecurity.swift:7:15: note: consider making struct 'ItemSecurity' conform to the 'Sendable' protocol
  5 |
  6 | /// Specify the security of the keychain item
  7 | public struct ItemSecurity {
    |               `- note: consider making struct 'ItemSecurity' conform to the 'Sendable' protocol
  8 |
  9 |     /// The Haversack standard security for keychain items.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:178:37: warning: capture of 'completion' with non-sendable type '(Result<SecKey, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
176 |             }
177 |
178 |             call(completionHandler: completion, onQueue: completionQueue, with: result)
    |                                     |- warning: capture of 'completion' with non-sendable type '(Result<SecKey, any Error>) -> 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'
179 |         }
180 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:19:23: warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
17 |     ///
18 |     /// Using this will generate a user prompt on macOS if the data exists but your app does not have access to it.
19 |     public static let data                 = KeychainDataOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'data' 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
20 |     /// Get a persistent reference that can be stored outside of the keychain.
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:306:17: warning: capture of 'completionHandler' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
304 |         if let actualQueue = queue {
305 |             actualQueue.addOperation {
306 |                 completionHandler(result)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '(Result<T, any Error>) -> 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'
307 |             }
308 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:306:35: warning: capture of 'result' with non-sendable type 'Result<T, any Error>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
300 | #endif
301 |
302 |     private func call<T>(completionHandler: @escaping (_ result: Result<T, Error>) -> Void,
    |                       `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
303 |                          onQueue queue: OperationQueue?, with result: Result<T, Error>) {
304 |         if let actualQueue = queue {
305 |             actualQueue.addOperation {
306 |                 completionHandler(result)
    |                                   `- warning: capture of 'result' with non-sendable type 'Result<T, any Error>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
307 |             }
308 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:406:21: warning: capture of 'self' with non-sendable type 'Haversack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  7 | ///
  8 | /// Contains keychain search functionality and the ability to add/update/delete items in the keychain.
  9 | public struct Haversack {
    |               `- note: consider making struct 'Haversack' conform to the 'Sendable' protocol
 10 |     /// The configuration that the Haversack was created with.
 11 |     public let configuration: HaversackConfiguration
    :
404 |
405 |             do {
406 |                 try self.unsynchronizedDelete(item, treatNotFoundAsSuccess: treatNotFoundAsSuccess)
    |                     `- warning: capture of 'self' with non-sendable type 'Haversack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
407 |                 result = nil
408 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:406:47: warning: capture of 'item' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
397 |     ///   - error: If an error occurs during the delete operation it will be given to the completion
398 |     ///   block; a `nil` represents no error.
399 |     public func delete<T: KeychainStorable>(_ item: T, treatNotFoundAsSuccess: Bool = true,
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
400 |                                             completionQueue: OperationQueue? = nil,
401 |                                             completion: @escaping (_ error: Error?) -> Void) {
    :
404 |
405 |             do {
406 |                 try self.unsynchronizedDelete(item, treatNotFoundAsSuccess: treatNotFoundAsSuccess)
    |                                               `- warning: capture of 'item' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
407 |                 result = nil
408 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:414:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
412 |             if let actualQueue = completionQueue {
413 |                 actualQueue.addOperation {
414 |                     completion(result)
    |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> 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'
415 |                 }
416 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:414:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
412 |             if let actualQueue = completionQueue {
413 |                 actualQueue.addOperation {
414 |                     completion(result)
    |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> 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'
415 |                 }
416 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:459:38: warning: capture of 'self' with non-sendable type 'Haversack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  7 | ///
  8 | /// Contains keychain search functionality and the ability to add/update/delete items in the keychain.
  9 | public struct Haversack {
    |               `- note: consider making struct 'Haversack' conform to the 'Sendable' protocol
 10 |     /// The configuration that the Haversack was created with.
 11 |     public let configuration: HaversackConfiguration
    :
457 |                 var localQuery: T
458 |                 #if os(macOS)
459 |                     localQuery = try self.addKeychain(to: query)
    |                                      `- warning: capture of 'self' with non-sendable type 'Haversack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
460 |                 #else
461 |                     localQuery = query
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:459:59: warning: capture of 'query' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
448 |     ///   - error: If an error occurs during the delete operation it will be given to the completion
449 |     ///   block; a `nil` represents no error.
450 |     public func delete<T: KeychainQuerying>(where query: T, treatNotFoundAsSuccess: Bool = true,
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
451 |                                             completionQueue: OperationQueue? = nil,
452 |                                             completion: @escaping (_ error: Error?) -> Void) {
    :
457 |                 var localQuery: T
458 |                 #if os(macOS)
459 |                     localQuery = try self.addKeychain(to: query)
    |                                                           `- warning: capture of 'query' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
460 |                 #else
461 |                     localQuery = query
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:472:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
470 |             if let actualQueue = completionQueue {
471 |                 actualQueue.addOperation {
472 |                     completion(result)
    |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> 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'
473 |                 }
474 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:472:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
470 |             if let actualQueue = completionQueue {
471 |                 actualQueue.addOperation {
472 |                     completion(result)
    |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> 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'
473 |                 }
474 |             } else {
[77/96] Compiling Haversack InternetPasswordEntity.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Entities/InternetPasswordEntity.swift:53:28: warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.NetworkProtocol]' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |         case POP3S
 52 |
 53 |         private static let translation: [CFString: NetworkProtocol] = [
    |                            `- warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.NetworkProtocol]' may have shared mutable state; this is an error in the Swift 6 language mode
 54 |             kSecAttrProtocolFTP: FTP,
 55 |             kSecAttrProtocolFTPAccount: FTPAccount,
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Entities/InternetPasswordEntity.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  2 | // Copyright 2023, Jamf
  3 |
  4 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  5 |
  6 | /// Represents a password to an account on another computer or website in the keychain.
    :
 18 |     /// A communications protocol for internet passwords.
 19 |     /// - Note: Mirrors the `kSecAttrProtocol...` constants.
 20 |     public enum NetworkProtocol {
    |                 `- note: consider making enum 'NetworkProtocol' conform to the 'Sendable' protocol
 21 |         case FTP
 22 |         case FTPAccount
    :
 51 |         case POP3S
 52 |
 53 |         private static let translation: [CFString: NetworkProtocol] = [
    |                            |- note: annotate 'translation' 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
 54 |             kSecAttrProtocolFTP: FTP,
 55 |             kSecAttrProtocolFTPAccount: FTPAccount,
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Entities/InternetPasswordEntity.swift:112:28: warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.AuthenticationType]' may have shared mutable state; this is an error in the Swift 6 language mode
100 |     /// An authentication scheme for internet passwords.
101 |     /// - Note: Mirrors the `kSecAttrAuthenticationType...` constants.
102 |     public enum AuthenticationType {
    |                 `- note: consider making enum 'AuthenticationType' conform to the 'Sendable' protocol
103 |         case NTLM
104 |         case MSN
    :
110 |         case `default`
111 |
112 |         private static let translation: [CFString: AuthenticationType] = [
    |                            |- warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.AuthenticationType]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: annotate 'translation' 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
113 |             kSecAttrAuthenticationTypeNTLM: NTLM,
114 |             kSecAttrAuthenticationTypeMSN: MSN,
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
[78/96] Compiling Haversack KeyEntity.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Entities/InternetPasswordEntity.swift:53:28: warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.NetworkProtocol]' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |         case POP3S
 52 |
 53 |         private static let translation: [CFString: NetworkProtocol] = [
    |                            `- warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.NetworkProtocol]' may have shared mutable state; this is an error in the Swift 6 language mode
 54 |             kSecAttrProtocolFTP: FTP,
 55 |             kSecAttrProtocolFTPAccount: FTPAccount,
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Entities/InternetPasswordEntity.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  2 | // Copyright 2023, Jamf
  3 |
  4 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  5 |
  6 | /// Represents a password to an account on another computer or website in the keychain.
    :
 18 |     /// A communications protocol for internet passwords.
 19 |     /// - Note: Mirrors the `kSecAttrProtocol...` constants.
 20 |     public enum NetworkProtocol {
    |                 `- note: consider making enum 'NetworkProtocol' conform to the 'Sendable' protocol
 21 |         case FTP
 22 |         case FTPAccount
    :
 51 |         case POP3S
 52 |
 53 |         private static let translation: [CFString: NetworkProtocol] = [
    |                            |- note: annotate 'translation' 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
 54 |             kSecAttrProtocolFTP: FTP,
 55 |             kSecAttrProtocolFTPAccount: FTPAccount,
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Entities/InternetPasswordEntity.swift:112:28: warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.AuthenticationType]' may have shared mutable state; this is an error in the Swift 6 language mode
100 |     /// An authentication scheme for internet passwords.
101 |     /// - Note: Mirrors the `kSecAttrAuthenticationType...` constants.
102 |     public enum AuthenticationType {
    |                 `- note: consider making enum 'AuthenticationType' conform to the 'Sendable' protocol
103 |         case NTLM
104 |         case MSN
    :
110 |         case `default`
111 |
112 |         private static let translation: [CFString: AuthenticationType] = [
    |                            |- warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.AuthenticationType]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: annotate 'translation' 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
113 |             kSecAttrAuthenticationTypeNTLM: NTLM,
114 |             kSecAttrAuthenticationTypeMSN: MSN,
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
[79/96] Compiling Haversack KeychainStorable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Entities/InternetPasswordEntity.swift:53:28: warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.NetworkProtocol]' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |         case POP3S
 52 |
 53 |         private static let translation: [CFString: NetworkProtocol] = [
    |                            `- warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.NetworkProtocol]' may have shared mutable state; this is an error in the Swift 6 language mode
 54 |             kSecAttrProtocolFTP: FTP,
 55 |             kSecAttrProtocolFTPAccount: FTPAccount,
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Entities/InternetPasswordEntity.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  2 | // Copyright 2023, Jamf
  3 |
  4 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  5 |
  6 | /// Represents a password to an account on another computer or website in the keychain.
    :
 18 |     /// A communications protocol for internet passwords.
 19 |     /// - Note: Mirrors the `kSecAttrProtocol...` constants.
 20 |     public enum NetworkProtocol {
    |                 `- note: consider making enum 'NetworkProtocol' conform to the 'Sendable' protocol
 21 |         case FTP
 22 |         case FTPAccount
    :
 51 |         case POP3S
 52 |
 53 |         private static let translation: [CFString: NetworkProtocol] = [
    |                            |- note: annotate 'translation' 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
 54 |             kSecAttrProtocolFTP: FTP,
 55 |             kSecAttrProtocolFTPAccount: FTPAccount,
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Entities/InternetPasswordEntity.swift:112:28: warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.AuthenticationType]' may have shared mutable state; this is an error in the Swift 6 language mode
100 |     /// An authentication scheme for internet passwords.
101 |     /// - Note: Mirrors the `kSecAttrAuthenticationType...` constants.
102 |     public enum AuthenticationType {
    |                 `- note: consider making enum 'AuthenticationType' conform to the 'Sendable' protocol
103 |         case NTLM
104 |         case MSN
    :
110 |         case `default`
111 |
112 |         private static let translation: [CFString: AuthenticationType] = [
    |                            |- warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.AuthenticationType]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: annotate 'translation' 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
113 |             kSecAttrAuthenticationTypeNTLM: NTLM,
114 |             kSecAttrAuthenticationTypeMSN: MSN,
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
[80/96] Compiling Haversack PasswordBaseEntity.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Entities/InternetPasswordEntity.swift:53:28: warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.NetworkProtocol]' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |         case POP3S
 52 |
 53 |         private static let translation: [CFString: NetworkProtocol] = [
    |                            `- warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.NetworkProtocol]' may have shared mutable state; this is an error in the Swift 6 language mode
 54 |             kSecAttrProtocolFTP: FTP,
 55 |             kSecAttrProtocolFTPAccount: FTPAccount,
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Entities/InternetPasswordEntity.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  2 | // Copyright 2023, Jamf
  3 |
  4 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  5 |
  6 | /// Represents a password to an account on another computer or website in the keychain.
    :
 18 |     /// A communications protocol for internet passwords.
 19 |     /// - Note: Mirrors the `kSecAttrProtocol...` constants.
 20 |     public enum NetworkProtocol {
    |                 `- note: consider making enum 'NetworkProtocol' conform to the 'Sendable' protocol
 21 |         case FTP
 22 |         case FTPAccount
    :
 51 |         case POP3S
 52 |
 53 |         private static let translation: [CFString: NetworkProtocol] = [
    |                            |- note: annotate 'translation' 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
 54 |             kSecAttrProtocolFTP: FTP,
 55 |             kSecAttrProtocolFTPAccount: FTPAccount,
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Entities/InternetPasswordEntity.swift:112:28: warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.AuthenticationType]' may have shared mutable state; this is an error in the Swift 6 language mode
100 |     /// An authentication scheme for internet passwords.
101 |     /// - Note: Mirrors the `kSecAttrAuthenticationType...` constants.
102 |     public enum AuthenticationType {
    |                 `- note: consider making enum 'AuthenticationType' conform to the 'Sendable' protocol
103 |         case NTLM
104 |         case MSN
    :
110 |         case `default`
111 |
112 |         private static let translation: [CFString: AuthenticationType] = [
    |                            |- warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : InternetPasswordEntity.AuthenticationType]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: annotate 'translation' 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
113 |             kSecAttrAuthenticationTypeNTLM: NTLM,
114 |             kSecAttrAuthenticationTypeMSN: MSN,
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
[81/96] Compiling Haversack KeychainQuerying.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:15:23: warning: static property 'attributes' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
13 |
14 |     /// Get the metadata attributes for the item.
15 |     public static let attributes           = KeychainDataOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'attributes' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'attributes' 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
16 |     /// Get the raw unencrypted data for the item.
17 |     ///
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:19:23: warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
17 |     ///
18 |     /// Using this will generate a user prompt on macOS if the data exists but your app does not have access to it.
19 |     public static let data                 = KeychainDataOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'data' 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
20 |     /// Get a persistent reference that can be stored outside of the keychain.
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:21:23: warning: static property 'persistantReference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
19 |     public static let data                 = KeychainDataOptions(rawValue: 1 << 1)
20 |     /// Get a persistent reference that can be stored outside of the keychain.
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
   |                       |- warning: static property 'persistantReference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'persistantReference' 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
22 |     /// Get a reference to the keychain item.
23 |     public static let reference            = KeychainDataOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:23:23: warning: static property 'reference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
22 |     /// Get a reference to the keychain item.
23 |     public static let reference            = KeychainDataOptions(rawValue: 1 << 3)
   |                       |- warning: static property 'reference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'reference' 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
24 |
25 |     /// Typically most apps will just want to read the secure data.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:41:23: warning: static property 'caseInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
39 |
40 |     /// Compare strings without caring about the case of letters.
41 |     public static let caseInsensitive      = KeychainStringComparisonOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'caseInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'caseInsensitive' 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
42 |
43 | #if os(macOS)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:46:23: warning: static property 'diacriticInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
44 |     /// Compare strings without caring about diacritical marks on letters; macOS only.
45 |     /// - Important: Available on macOS only.
46 |     public static let diacriticInsensitive = KeychainStringComparisonOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'diacriticInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'diacriticInsensitive' 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
47 |
48 |     /// Compare strings without caring about ASCII/UTF8/UTF16 encoding differences; macOS only.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:50:23: warning: static property 'widthInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
48 |     /// Compare strings without caring about ASCII/UTF8/UTF16 encoding differences; macOS only.
49 |     /// - Important: Available on macOS only.
50 |     public static let widthInsensitive     = KeychainStringComparisonOptions(rawValue: 1 << 2)
   |                       |- warning: static property 'widthInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'widthInsensitive' 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
51 | #endif
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/ItemSecurity.swift:13:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ItemSecurity' may have shared mutable state; this is an error in the Swift 6 language mode
  5 |
  6 | /// Specify the security of the keychain item
  7 | public struct ItemSecurity {
    |               `- note: consider making struct 'ItemSecurity' conform to the 'Sendable' protocol
  8 |
  9 |     /// The Haversack standard security for keychain items.
    :
 11 |     /// The item is retrievable only when the device is unlocked and does NOT synchronize to other devices.
 12 |     /// The item is not part of any app group or keychain group.
 13 |     public static let standard = ItemSecurity().retrievableNoThrow(when: .simple(.unlockedThisDeviceOnly))
    |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ItemSecurity' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'standard' 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
 14 |
 15 |     /// The keychain query.  **Do not** manipulate this directly.
[82/96] Compiling Haversack PasswordBaseQuerying.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:15:23: warning: static property 'attributes' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
13 |
14 |     /// Get the metadata attributes for the item.
15 |     public static let attributes           = KeychainDataOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'attributes' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'attributes' 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
16 |     /// Get the raw unencrypted data for the item.
17 |     ///
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:19:23: warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
17 |     ///
18 |     /// Using this will generate a user prompt on macOS if the data exists but your app does not have access to it.
19 |     public static let data                 = KeychainDataOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'data' 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
20 |     /// Get a persistent reference that can be stored outside of the keychain.
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:21:23: warning: static property 'persistantReference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
19 |     public static let data                 = KeychainDataOptions(rawValue: 1 << 1)
20 |     /// Get a persistent reference that can be stored outside of the keychain.
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
   |                       |- warning: static property 'persistantReference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'persistantReference' 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
22 |     /// Get a reference to the keychain item.
23 |     public static let reference            = KeychainDataOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:23:23: warning: static property 'reference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
22 |     /// Get a reference to the keychain item.
23 |     public static let reference            = KeychainDataOptions(rawValue: 1 << 3)
   |                       |- warning: static property 'reference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'reference' 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
24 |
25 |     /// Typically most apps will just want to read the secure data.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:41:23: warning: static property 'caseInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
39 |
40 |     /// Compare strings without caring about the case of letters.
41 |     public static let caseInsensitive      = KeychainStringComparisonOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'caseInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'caseInsensitive' 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
42 |
43 | #if os(macOS)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:46:23: warning: static property 'diacriticInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
44 |     /// Compare strings without caring about diacritical marks on letters; macOS only.
45 |     /// - Important: Available on macOS only.
46 |     public static let diacriticInsensitive = KeychainStringComparisonOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'diacriticInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'diacriticInsensitive' 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
47 |
48 |     /// Compare strings without caring about ASCII/UTF8/UTF16 encoding differences; macOS only.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:50:23: warning: static property 'widthInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
48 |     /// Compare strings without caring about ASCII/UTF8/UTF16 encoding differences; macOS only.
49 |     /// - Important: Available on macOS only.
50 |     public static let widthInsensitive     = KeychainStringComparisonOptions(rawValue: 1 << 2)
   |                       |- warning: static property 'widthInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'widthInsensitive' 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
51 | #endif
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/ItemSecurity.swift:13:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ItemSecurity' may have shared mutable state; this is an error in the Swift 6 language mode
  5 |
  6 | /// Specify the security of the keychain item
  7 | public struct ItemSecurity {
    |               `- note: consider making struct 'ItemSecurity' conform to the 'Sendable' protocol
  8 |
  9 |     /// The Haversack standard security for keychain items.
    :
 11 |     /// The item is retrievable only when the device is unlocked and does NOT synchronize to other devices.
 12 |     /// The item is not part of any app group or keychain group.
 13 |     public static let standard = ItemSecurity().retrievableNoThrow(when: .simple(.unlockedThisDeviceOnly))
    |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ItemSecurity' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'standard' 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
 14 |
 15 |     /// The keychain query.  **Do not** manipulate this directly.
[83/96] Compiling Haversack ItemSecurity.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:15:23: warning: static property 'attributes' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
13 |
14 |     /// Get the metadata attributes for the item.
15 |     public static let attributes           = KeychainDataOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'attributes' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'attributes' 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
16 |     /// Get the raw unencrypted data for the item.
17 |     ///
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:19:23: warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
17 |     ///
18 |     /// Using this will generate a user prompt on macOS if the data exists but your app does not have access to it.
19 |     public static let data                 = KeychainDataOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'data' 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
20 |     /// Get a persistent reference that can be stored outside of the keychain.
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:21:23: warning: static property 'persistantReference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
19 |     public static let data                 = KeychainDataOptions(rawValue: 1 << 1)
20 |     /// Get a persistent reference that can be stored outside of the keychain.
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
   |                       |- warning: static property 'persistantReference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'persistantReference' 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
22 |     /// Get a reference to the keychain item.
23 |     public static let reference            = KeychainDataOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:23:23: warning: static property 'reference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
22 |     /// Get a reference to the keychain item.
23 |     public static let reference            = KeychainDataOptions(rawValue: 1 << 3)
   |                       |- warning: static property 'reference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'reference' 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
24 |
25 |     /// Typically most apps will just want to read the secure data.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:41:23: warning: static property 'caseInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
39 |
40 |     /// Compare strings without caring about the case of letters.
41 |     public static let caseInsensitive      = KeychainStringComparisonOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'caseInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'caseInsensitive' 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
42 |
43 | #if os(macOS)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:46:23: warning: static property 'diacriticInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
44 |     /// Compare strings without caring about diacritical marks on letters; macOS only.
45 |     /// - Important: Available on macOS only.
46 |     public static let diacriticInsensitive = KeychainStringComparisonOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'diacriticInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'diacriticInsensitive' 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
47 |
48 |     /// Compare strings without caring about ASCII/UTF8/UTF16 encoding differences; macOS only.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:50:23: warning: static property 'widthInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
48 |     /// Compare strings without caring about ASCII/UTF8/UTF16 encoding differences; macOS only.
49 |     /// - Important: Available on macOS only.
50 |     public static let widthInsensitive     = KeychainStringComparisonOptions(rawValue: 1 << 2)
   |                       |- warning: static property 'widthInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'widthInsensitive' 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
51 | #endif
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/ItemSecurity.swift:13:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ItemSecurity' may have shared mutable state; this is an error in the Swift 6 language mode
  5 |
  6 | /// Specify the security of the keychain item
  7 | public struct ItemSecurity {
    |               `- note: consider making struct 'ItemSecurity' conform to the 'Sendable' protocol
  8 |
  9 |     /// The Haversack standard security for keychain items.
    :
 11 |     /// The item is retrievable only when the device is unlocked and does NOT synchronize to other devices.
 12 |     /// The item is not part of any app group or keychain group.
 13 |     public static let standard = ItemSecurity().retrievableNoThrow(when: .simple(.unlockedThisDeviceOnly))
    |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ItemSecurity' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'standard' 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
 14 |
 15 |     /// The keychain query.  **Do not** manipulate this directly.
[84/96] Compiling Haversack Logs.swift
[85/96] Compiling Haversack CertificateBaseQuerying.swift
[86/96] Compiling Haversack CertificateQuery.swift
[87/96] Compiling Haversack KeyBaseQuerying.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:49:23: warning: static property 'canEncrypt' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 47 |     }
 48 |
 49 |     public static let canEncrypt    = KeyUsagePolicy(rawValue: 1 << 0)
    |                       |- warning: static property 'canEncrypt' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canEncrypt' 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
 50 |     public static let canDecrypt    = KeyUsagePolicy(rawValue: 1 << 1)
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:50:23: warning: static property 'canDecrypt' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 48 |
 49 |     public static let canEncrypt    = KeyUsagePolicy(rawValue: 1 << 0)
 50 |     public static let canDecrypt    = KeyUsagePolicy(rawValue: 1 << 1)
    |                       |- warning: static property 'canDecrypt' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canDecrypt' 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
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:51:23: warning: static property 'canDerive' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 49 |     public static let canEncrypt    = KeyUsagePolicy(rawValue: 1 << 0)
 50 |     public static let canDecrypt    = KeyUsagePolicy(rawValue: 1 << 1)
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
    |                       |- warning: static property 'canDerive' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canDerive' 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
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:52:23: warning: static property 'canSign' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 50 |     public static let canDecrypt    = KeyUsagePolicy(rawValue: 1 << 1)
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
    |                       |- warning: static property 'canSign' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canSign' 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
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
 54 |     public static let canWrap       = KeyUsagePolicy(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:53:23: warning: static property 'canVerify' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
    |                       |- warning: static property 'canVerify' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canVerify' 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
 54 |     public static let canWrap       = KeyUsagePolicy(rawValue: 1 << 5)
 55 |     public static let canUnwrap     = KeyUsagePolicy(rawValue: 1 << 6)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:54:23: warning: static property 'canWrap' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
 54 |     public static let canWrap       = KeyUsagePolicy(rawValue: 1 << 5)
    |                       |- warning: static property 'canWrap' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canWrap' 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
 55 |     public static let canUnwrap     = KeyUsagePolicy(rawValue: 1 << 6)
 56 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:55:23: warning: static property 'canUnwrap' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
 54 |     public static let canWrap       = KeyUsagePolicy(rawValue: 1 << 5)
 55 |     public static let canUnwrap     = KeyUsagePolicy(rawValue: 1 << 6)
    |                       |- warning: static property 'canUnwrap' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canUnwrap' 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
 56 |
 57 |     /// The default usage of a public key includes encryption, deriving other keys, and verifying digital signatures.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:58:23: warning: static property 'defaultPublicKey' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 56 |
 57 |     /// The default usage of a public key includes encryption, deriving other keys, and verifying digital signatures.
 58 |     public static let defaultPublicKey: KeyUsagePolicy = [.canEncrypt, .canDerive, .canVerify]
    |                       |- warning: static property 'defaultPublicKey' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'defaultPublicKey' 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
 59 |
 60 |     /// The default usage of a private key includes decryption, digital signing, deriving other keys, and unwrapping other keys.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:61:23: warning: static property 'defaultPrivateKey' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 59 |
 60 |     /// The default usage of a private key includes decryption, digital signing, deriving other keys, and unwrapping other keys.
 61 |     public static let defaultPrivateKey: KeyUsagePolicy = [.canDecrypt, .canDerive, .canSign, .canUnwrap]
    |                       |- warning: static property 'defaultPrivateKey' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'defaultPrivateKey' 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
 62 |
 63 |     var securityFrameworkKeyArray: [CFString] {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyQuery.swift:120:24: warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : KeyClass]' may have shared mutable state; this is an error in the Swift 6 language mode
118 |     case symmetric
119 |
120 |     private static let translation: [CFString: KeyClass] = [
    |                        `- warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : KeyClass]' may have shared mutable state; this is an error in the Swift 6 language mode
121 |         kSecAttrKeyClassPrivate: .private,
122 |         kSecAttrKeyClassPublic: .public,
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyQuery.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  2 | // Copyright 2023, Jamf
  3 |
  4 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  5 |
  6 | /// Fluent interface for searching the keychain for cryptographic keys.
    :
110 |
111 | /// Encapsulates the cryptographic key's class (public, private, or symmetric).
112 | public enum KeyClass {
    |             `- note: consider making enum 'KeyClass' conform to the 'Sendable' protocol
113 |     /// Represents a private key
114 |     case `private`
    :
118 |     case symmetric
119 |
120 |     private static let translation: [CFString: KeyClass] = [
    |                        |- note: annotate 'translation' 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
121 |         kSecAttrKeyClassPrivate: .private,
122 |         kSecAttrKeyClassPublic: .public,
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:15:23: warning: static property 'attributes' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
13 |
14 |     /// Get the metadata attributes for the item.
15 |     public static let attributes           = KeychainDataOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'attributes' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'attributes' 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
16 |     /// Get the raw unencrypted data for the item.
17 |     ///
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:19:23: warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
17 |     ///
18 |     /// Using this will generate a user prompt on macOS if the data exists but your app does not have access to it.
19 |     public static let data                 = KeychainDataOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'data' 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
20 |     /// Get a persistent reference that can be stored outside of the keychain.
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:21:23: warning: static property 'persistantReference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
19 |     public static let data                 = KeychainDataOptions(rawValue: 1 << 1)
20 |     /// Get a persistent reference that can be stored outside of the keychain.
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
   |                       |- warning: static property 'persistantReference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'persistantReference' 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
22 |     /// Get a reference to the keychain item.
23 |     public static let reference            = KeychainDataOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:23:23: warning: static property 'reference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
22 |     /// Get a reference to the keychain item.
23 |     public static let reference            = KeychainDataOptions(rawValue: 1 << 3)
   |                       |- warning: static property 'reference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'reference' 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
24 |
25 |     /// Typically most apps will just want to read the secure data.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:26:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
24 |
25 |     /// Typically most apps will just want to read the secure data.
26 |     public static let `default`: KeychainDataOptions = [.data]
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' 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
27 |
28 |     /// Get all of the possible data about the keychain item.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:29:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
27 |
28 |     /// Get all of the possible data about the keychain item.
29 |     public static let all: KeychainDataOptions = [.attributes, .data, .persistantReference, .reference]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'all' 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
30 | }
31 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:41:23: warning: static property 'caseInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
39 |
40 |     /// Compare strings without caring about the case of letters.
41 |     public static let caseInsensitive      = KeychainStringComparisonOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'caseInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'caseInsensitive' 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
42 |
43 | #if os(macOS)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:46:23: warning: static property 'diacriticInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
44 |     /// Compare strings without caring about diacritical marks on letters; macOS only.
45 |     /// - Important: Available on macOS only.
46 |     public static let diacriticInsensitive = KeychainStringComparisonOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'diacriticInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'diacriticInsensitive' 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
47 |
48 |     /// Compare strings without caring about ASCII/UTF8/UTF16 encoding differences; macOS only.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:50:23: warning: static property 'widthInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
48 |     /// Compare strings without caring about ASCII/UTF8/UTF16 encoding differences; macOS only.
49 |     /// - Important: Available on macOS only.
50 |     public static let widthInsensitive     = KeychainStringComparisonOptions(rawValue: 1 << 2)
   |                       |- warning: static property 'widthInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'widthInsensitive' 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
51 | #endif
52 | }
[88/96] Compiling Haversack KeyQuery.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:49:23: warning: static property 'canEncrypt' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 47 |     }
 48 |
 49 |     public static let canEncrypt    = KeyUsagePolicy(rawValue: 1 << 0)
    |                       |- warning: static property 'canEncrypt' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canEncrypt' 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
 50 |     public static let canDecrypt    = KeyUsagePolicy(rawValue: 1 << 1)
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:50:23: warning: static property 'canDecrypt' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 48 |
 49 |     public static let canEncrypt    = KeyUsagePolicy(rawValue: 1 << 0)
 50 |     public static let canDecrypt    = KeyUsagePolicy(rawValue: 1 << 1)
    |                       |- warning: static property 'canDecrypt' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canDecrypt' 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
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:51:23: warning: static property 'canDerive' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 49 |     public static let canEncrypt    = KeyUsagePolicy(rawValue: 1 << 0)
 50 |     public static let canDecrypt    = KeyUsagePolicy(rawValue: 1 << 1)
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
    |                       |- warning: static property 'canDerive' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canDerive' 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
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:52:23: warning: static property 'canSign' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 50 |     public static let canDecrypt    = KeyUsagePolicy(rawValue: 1 << 1)
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
    |                       |- warning: static property 'canSign' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canSign' 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
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
 54 |     public static let canWrap       = KeyUsagePolicy(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:53:23: warning: static property 'canVerify' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
    |                       |- warning: static property 'canVerify' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canVerify' 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
 54 |     public static let canWrap       = KeyUsagePolicy(rawValue: 1 << 5)
 55 |     public static let canUnwrap     = KeyUsagePolicy(rawValue: 1 << 6)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:54:23: warning: static property 'canWrap' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
 54 |     public static let canWrap       = KeyUsagePolicy(rawValue: 1 << 5)
    |                       |- warning: static property 'canWrap' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canWrap' 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
 55 |     public static let canUnwrap     = KeyUsagePolicy(rawValue: 1 << 6)
 56 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:55:23: warning: static property 'canUnwrap' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
 54 |     public static let canWrap       = KeyUsagePolicy(rawValue: 1 << 5)
 55 |     public static let canUnwrap     = KeyUsagePolicy(rawValue: 1 << 6)
    |                       |- warning: static property 'canUnwrap' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canUnwrap' 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
 56 |
 57 |     /// The default usage of a public key includes encryption, deriving other keys, and verifying digital signatures.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:58:23: warning: static property 'defaultPublicKey' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 56 |
 57 |     /// The default usage of a public key includes encryption, deriving other keys, and verifying digital signatures.
 58 |     public static let defaultPublicKey: KeyUsagePolicy = [.canEncrypt, .canDerive, .canVerify]
    |                       |- warning: static property 'defaultPublicKey' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'defaultPublicKey' 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
 59 |
 60 |     /// The default usage of a private key includes decryption, digital signing, deriving other keys, and unwrapping other keys.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:61:23: warning: static property 'defaultPrivateKey' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 59 |
 60 |     /// The default usage of a private key includes decryption, digital signing, deriving other keys, and unwrapping other keys.
 61 |     public static let defaultPrivateKey: KeyUsagePolicy = [.canDecrypt, .canDerive, .canSign, .canUnwrap]
    |                       |- warning: static property 'defaultPrivateKey' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'defaultPrivateKey' 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
 62 |
 63 |     var securityFrameworkKeyArray: [CFString] {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyQuery.swift:120:24: warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : KeyClass]' may have shared mutable state; this is an error in the Swift 6 language mode
118 |     case symmetric
119 |
120 |     private static let translation: [CFString: KeyClass] = [
    |                        `- warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : KeyClass]' may have shared mutable state; this is an error in the Swift 6 language mode
121 |         kSecAttrKeyClassPrivate: .private,
122 |         kSecAttrKeyClassPublic: .public,
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyQuery.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  2 | // Copyright 2023, Jamf
  3 |
  4 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  5 |
  6 | /// Fluent interface for searching the keychain for cryptographic keys.
    :
110 |
111 | /// Encapsulates the cryptographic key's class (public, private, or symmetric).
112 | public enum KeyClass {
    |             `- note: consider making enum 'KeyClass' conform to the 'Sendable' protocol
113 |     /// Represents a private key
114 |     case `private`
    :
118 |     case symmetric
119 |
120 |     private static let translation: [CFString: KeyClass] = [
    |                        |- note: annotate 'translation' 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
121 |         kSecAttrKeyClassPrivate: .private,
122 |         kSecAttrKeyClassPublic: .public,
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:15:23: warning: static property 'attributes' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
13 |
14 |     /// Get the metadata attributes for the item.
15 |     public static let attributes           = KeychainDataOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'attributes' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'attributes' 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
16 |     /// Get the raw unencrypted data for the item.
17 |     ///
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:19:23: warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
17 |     ///
18 |     /// Using this will generate a user prompt on macOS if the data exists but your app does not have access to it.
19 |     public static let data                 = KeychainDataOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'data' 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
20 |     /// Get a persistent reference that can be stored outside of the keychain.
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:21:23: warning: static property 'persistantReference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
19 |     public static let data                 = KeychainDataOptions(rawValue: 1 << 1)
20 |     /// Get a persistent reference that can be stored outside of the keychain.
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
   |                       |- warning: static property 'persistantReference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'persistantReference' 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
22 |     /// Get a reference to the keychain item.
23 |     public static let reference            = KeychainDataOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:23:23: warning: static property 'reference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
22 |     /// Get a reference to the keychain item.
23 |     public static let reference            = KeychainDataOptions(rawValue: 1 << 3)
   |                       |- warning: static property 'reference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'reference' 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
24 |
25 |     /// Typically most apps will just want to read the secure data.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:26:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
24 |
25 |     /// Typically most apps will just want to read the secure data.
26 |     public static let `default`: KeychainDataOptions = [.data]
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' 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
27 |
28 |     /// Get all of the possible data about the keychain item.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:29:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
27 |
28 |     /// Get all of the possible data about the keychain item.
29 |     public static let all: KeychainDataOptions = [.attributes, .data, .persistantReference, .reference]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'all' 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
30 | }
31 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:41:23: warning: static property 'caseInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
39 |
40 |     /// Compare strings without caring about the case of letters.
41 |     public static let caseInsensitive      = KeychainStringComparisonOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'caseInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'caseInsensitive' 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
42 |
43 | #if os(macOS)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:46:23: warning: static property 'diacriticInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
44 |     /// Compare strings without caring about diacritical marks on letters; macOS only.
45 |     /// - Important: Available on macOS only.
46 |     public static let diacriticInsensitive = KeychainStringComparisonOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'diacriticInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'diacriticInsensitive' 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
47 |
48 |     /// Compare strings without caring about ASCII/UTF8/UTF16 encoding differences; macOS only.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:50:23: warning: static property 'widthInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
48 |     /// Compare strings without caring about ASCII/UTF8/UTF16 encoding differences; macOS only.
49 |     /// - Important: Available on macOS only.
50 |     public static let widthInsensitive     = KeychainStringComparisonOptions(rawValue: 1 << 2)
   |                       |- warning: static property 'widthInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'widthInsensitive' 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
51 | #endif
52 | }
[89/96] Compiling Haversack KeychainQueryOptions.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:49:23: warning: static property 'canEncrypt' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 47 |     }
 48 |
 49 |     public static let canEncrypt    = KeyUsagePolicy(rawValue: 1 << 0)
    |                       |- warning: static property 'canEncrypt' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canEncrypt' 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
 50 |     public static let canDecrypt    = KeyUsagePolicy(rawValue: 1 << 1)
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:50:23: warning: static property 'canDecrypt' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 48 |
 49 |     public static let canEncrypt    = KeyUsagePolicy(rawValue: 1 << 0)
 50 |     public static let canDecrypt    = KeyUsagePolicy(rawValue: 1 << 1)
    |                       |- warning: static property 'canDecrypt' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canDecrypt' 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
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:51:23: warning: static property 'canDerive' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 49 |     public static let canEncrypt    = KeyUsagePolicy(rawValue: 1 << 0)
 50 |     public static let canDecrypt    = KeyUsagePolicy(rawValue: 1 << 1)
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
    |                       |- warning: static property 'canDerive' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canDerive' 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
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:52:23: warning: static property 'canSign' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 50 |     public static let canDecrypt    = KeyUsagePolicy(rawValue: 1 << 1)
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
    |                       |- warning: static property 'canSign' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canSign' 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
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
 54 |     public static let canWrap       = KeyUsagePolicy(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:53:23: warning: static property 'canVerify' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 51 |     public static let canDerive     = KeyUsagePolicy(rawValue: 1 << 2)
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
    |                       |- warning: static property 'canVerify' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canVerify' 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
 54 |     public static let canWrap       = KeyUsagePolicy(rawValue: 1 << 5)
 55 |     public static let canUnwrap     = KeyUsagePolicy(rawValue: 1 << 6)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:54:23: warning: static property 'canWrap' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 52 |     public static let canSign       = KeyUsagePolicy(rawValue: 1 << 3)
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
 54 |     public static let canWrap       = KeyUsagePolicy(rawValue: 1 << 5)
    |                       |- warning: static property 'canWrap' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canWrap' 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
 55 |     public static let canUnwrap     = KeyUsagePolicy(rawValue: 1 << 6)
 56 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:55:23: warning: static property 'canUnwrap' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 53 |     public static let canVerify     = KeyUsagePolicy(rawValue: 1 << 4)
 54 |     public static let canWrap       = KeyUsagePolicy(rawValue: 1 << 5)
 55 |     public static let canUnwrap     = KeyUsagePolicy(rawValue: 1 << 6)
    |                       |- warning: static property 'canUnwrap' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'canUnwrap' 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
 56 |
 57 |     /// The default usage of a public key includes encryption, deriving other keys, and verifying digital signatures.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:58:23: warning: static property 'defaultPublicKey' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 56 |
 57 |     /// The default usage of a public key includes encryption, deriving other keys, and verifying digital signatures.
 58 |     public static let defaultPublicKey: KeyUsagePolicy = [.canEncrypt, .canDerive, .canVerify]
    |                       |- warning: static property 'defaultPublicKey' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'defaultPublicKey' 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
 59 |
 60 |     /// The default usage of a private key includes decryption, digital signing, deriving other keys, and unwrapping other keys.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyBaseQuerying.swift:61:23: warning: static property 'defaultPrivateKey' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 | /// Encapsulates how cryptographic keys may be used.
 42 | public struct KeyUsagePolicy: OptionSet {
    |               `- note: consider making struct 'KeyUsagePolicy' conform to the 'Sendable' protocol
 43 |     public let rawValue: Int
 44 |
    :
 59 |
 60 |     /// The default usage of a private key includes decryption, digital signing, deriving other keys, and unwrapping other keys.
 61 |     public static let defaultPrivateKey: KeyUsagePolicy = [.canDecrypt, .canDerive, .canSign, .canUnwrap]
    |                       |- warning: static property 'defaultPrivateKey' is not concurrency-safe because non-'Sendable' type 'KeyUsagePolicy' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'defaultPrivateKey' 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
 62 |
 63 |     var securityFrameworkKeyArray: [CFString] {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyQuery.swift:120:24: warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : KeyClass]' may have shared mutable state; this is an error in the Swift 6 language mode
118 |     case symmetric
119 |
120 |     private static let translation: [CFString: KeyClass] = [
    |                        `- warning: static property 'translation' is not concurrency-safe because non-'Sendable' type '[CFString : KeyClass]' may have shared mutable state; this is an error in the Swift 6 language mode
121 |         kSecAttrKeyClassPrivate: .private,
122 |         kSecAttrKeyClassPublic: .public,
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeyQuery.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  2 | // Copyright 2023, Jamf
  3 |
  4 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  5 |
  6 | /// Fluent interface for searching the keychain for cryptographic keys.
    :
110 |
111 | /// Encapsulates the cryptographic key's class (public, private, or symmetric).
112 | public enum KeyClass {
    |             `- note: consider making enum 'KeyClass' conform to the 'Sendable' protocol
113 |     /// Represents a private key
114 |     case `private`
    :
118 |     case symmetric
119 |
120 |     private static let translation: [CFString: KeyClass] = [
    |                        |- note: annotate 'translation' 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
121 |         kSecAttrKeyClassPrivate: .private,
122 |         kSecAttrKeyClassPublic: .public,
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:15:23: warning: static property 'attributes' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
13 |
14 |     /// Get the metadata attributes for the item.
15 |     public static let attributes           = KeychainDataOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'attributes' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'attributes' 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
16 |     /// Get the raw unencrypted data for the item.
17 |     ///
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:19:23: warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
17 |     ///
18 |     /// Using this will generate a user prompt on macOS if the data exists but your app does not have access to it.
19 |     public static let data                 = KeychainDataOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'data' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'data' 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
20 |     /// Get a persistent reference that can be stored outside of the keychain.
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:21:23: warning: static property 'persistantReference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
19 |     public static let data                 = KeychainDataOptions(rawValue: 1 << 1)
20 |     /// Get a persistent reference that can be stored outside of the keychain.
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
   |                       |- warning: static property 'persistantReference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'persistantReference' 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
22 |     /// Get a reference to the keychain item.
23 |     public static let reference            = KeychainDataOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:23:23: warning: static property 'reference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
21 |     public static let persistantReference  = KeychainDataOptions(rawValue: 1 << 2)
22 |     /// Get a reference to the keychain item.
23 |     public static let reference            = KeychainDataOptions(rawValue: 1 << 3)
   |                       |- warning: static property 'reference' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'reference' 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
24 |
25 |     /// Typically most apps will just want to read the secure data.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:26:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
24 |
25 |     /// Typically most apps will just want to read the secure data.
26 |     public static let `default`: KeychainDataOptions = [.data]
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' 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
27 |
28 |     /// Get all of the possible data about the keychain item.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:29:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | /// Options for what type of data to return from a keychain query.
 7 | public struct KeychainDataOptions: OptionSet {
   |               `- note: consider making struct 'KeychainDataOptions' conform to the 'Sendable' protocol
 8 |     public let rawValue: Int
 9 |
   :
27 |
28 |     /// Get all of the possible data about the keychain item.
29 |     public static let all: KeychainDataOptions = [.attributes, .data, .persistantReference, .reference]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'KeychainDataOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'all' 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
30 | }
31 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:41:23: warning: static property 'caseInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
39 |
40 |     /// Compare strings without caring about the case of letters.
41 |     public static let caseInsensitive      = KeychainStringComparisonOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'caseInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'caseInsensitive' 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
42 |
43 | #if os(macOS)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:46:23: warning: static property 'diacriticInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
44 |     /// Compare strings without caring about diacritical marks on letters; macOS only.
45 |     /// - Important: Available on macOS only.
46 |     public static let diacriticInsensitive = KeychainStringComparisonOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'diacriticInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'diacriticInsensitive' 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
47 |
48 |     /// Compare strings without caring about ASCII/UTF8/UTF16 encoding differences; macOS only.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Queries/KeychainQueryOptions.swift:50:23: warning: static property 'widthInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Options for how to compare strings in keychain queries.
33 | public struct KeychainStringComparisonOptions: OptionSet {
   |               `- note: consider making struct 'KeychainStringComparisonOptions' conform to the 'Sendable' protocol
34 |     public let rawValue: Int
35 |
   :
48 |     /// Compare strings without caring about ASCII/UTF8/UTF16 encoding differences; macOS only.
49 |     /// - Important: Available on macOS only.
50 |     public static let widthInsensitive     = KeychainStringComparisonOptions(rawValue: 1 << 2)
   |                       |- warning: static property 'widthInsensitive' is not concurrency-safe because non-'Sendable' type 'KeychainStringComparisonOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'widthInsensitive' 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
51 | #endif
52 | }
[90/96] Compiling Haversack HaversackError.swift
[91/96] Compiling Haversack HaversackStrategy.swift
[92/96] Compiling Haversack KeychainExportConfig.swift
[93/96] Compiling Haversack KeychainImportConfig.swift
[94/96] Compiling Haversack KeychainFile.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:31:23: warning: static property 'systemRootCertificates' is not concurrency-safe because non-'Sendable' type 'KeychainFile' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// Locking/unlocking the keychain file is logged at the `.info` level.
 25 | /// All errors are logged at the `.error` level.
 26 | public class KeychainFile {
    |              `- note: class 'KeychainFile' does not conform to the 'Sendable' protocol
 27 |     /// The path to the system keychain that contains the globally trusted root CA certificates.
 28 |     static let rootCertificatesKeychainPath = "/System/Library/Keychains/SystemRootCertificates.keychain"
 29 |
 30 |     /// An instance of ``KeychainFile`` that points at the system root certificates keychain
 31 |     public static let systemRootCertificates = KeychainFile(at: rootCertificatesKeychainPath)
    |                       |- warning: static property 'systemRootCertificates' is not concurrency-safe because non-'Sendable' type 'KeychainFile' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'systemRootCertificates' 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
 32 |
 33 |     /// The path to the system keychain.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:37:23: warning: static property 'system' is not concurrency-safe because non-'Sendable' type 'KeychainFile' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// Locking/unlocking the keychain file is logged at the `.info` level.
 25 | /// All errors are logged at the `.error` level.
 26 | public class KeychainFile {
    |              `- note: class 'KeychainFile' does not conform to the 'Sendable' protocol
 27 |     /// The path to the system keychain that contains the globally trusted root CA certificates.
 28 |     static let rootCertificatesKeychainPath = "/System/Library/Keychains/SystemRootCertificates.keychain"
    :
 35 |
 36 |     /// An instance of ``KeychainFile`` that points at the system keychain
 37 |     public static let system: KeychainFile = {
    |                       |- warning: static property 'system' is not concurrency-safe because non-'Sendable' type 'KeychainFile' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'system' 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
 38 |         let legacySystemKeychainPath = "/Library/Keychains/System.keychain"
 39 |         var searchList: CFArray?
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
 39 |         var searchList: CFArray?
 40 |         let status = withUnsafeMutablePointer(to: &searchList) {
 41 |             SecKeychainCopyDomainSearchList(.system, UnsafeMutablePointer($0))
    |             `- warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
 42 |         }
 43 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:85:13: warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated
 83 |         let pathName = UnsafeMutablePointer<CChar>.allocate(capacity: Int(pathLength))
 84 |         let status = withUnsafeMutablePointer(to: &pathLength) { pathLength in
 85 |             SecKeychainGetPath(reference, pathLength, pathName)
    |             `- warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated
 86 |         }
 87 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:127:22: warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated
125 |     func open() throws {
126 |         os_log("Attempting to open keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
127 |         let status = SecKeychainOpen(path, &reference)
    |                      `- warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated
128 |         if status != errSecSuccess {
129 |             os_log("SecKeychainOpen returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:159:22: warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
157 |
158 |         os_log("Attempting to create keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
159 |         let status = SecKeychainCreate(path, UInt32(rawPassword.count), rawPassword, false, nil, &reference)
    |                      `- warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
160 |         if status != errSecSuccess {
161 |             os_log("SecKeychainCreate returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:170:22: warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated
168 |     public func delete() throws {
169 |         os_log("Attempting to delete keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
170 |         let status = SecKeychainDelete(reference)
    |                      `- warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated
171 |         if status != errSecSuccess {
172 |             os_log("SecKeychainDelete returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:186:22: warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated
184 |
185 |         var rawStatus: SecKeychainStatus = .zero
186 |         let status = SecKeychainGetStatus(keychain, &rawStatus)
    |                      `- warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated
187 |         if status == errSecSuccess {
188 |             let keychainStatus = KeychainStatusOptions(rawValue: rawStatus)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:206:22: warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated
204 |
205 |         os_log("Attempting to lock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
206 |         let status = SecKeychainLock(keychain)
    |                      `- warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated
207 |         if status != errSecSuccess {
208 |             os_log("SecKeychainLock returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:228:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
226 |             // We can't unlock the system keychain with our password; prompt the user if needed.
227 |             os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
228 |             status = SecKeychainUnlock(keychain, 0, nil, false)
    |                      `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
229 |         } else {
230 |             guard let passwordFunc = passwordProvider else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:238:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
236 |             let rawPassword = passwordFunc(path)
237 |             os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
238 |             status = SecKeychainUnlock(keychain, UInt32(rawPassword.count), rawPassword, true)
    |                      `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
239 |         }
240 |         if status != errSecSuccess {
[95/96] Compiling Haversack KeychainItemRetrievability.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:31:23: warning: static property 'systemRootCertificates' is not concurrency-safe because non-'Sendable' type 'KeychainFile' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// Locking/unlocking the keychain file is logged at the `.info` level.
 25 | /// All errors are logged at the `.error` level.
 26 | public class KeychainFile {
    |              `- note: class 'KeychainFile' does not conform to the 'Sendable' protocol
 27 |     /// The path to the system keychain that contains the globally trusted root CA certificates.
 28 |     static let rootCertificatesKeychainPath = "/System/Library/Keychains/SystemRootCertificates.keychain"
 29 |
 30 |     /// An instance of ``KeychainFile`` that points at the system root certificates keychain
 31 |     public static let systemRootCertificates = KeychainFile(at: rootCertificatesKeychainPath)
    |                       |- warning: static property 'systemRootCertificates' is not concurrency-safe because non-'Sendable' type 'KeychainFile' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'systemRootCertificates' 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
 32 |
 33 |     /// The path to the system keychain.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:37:23: warning: static property 'system' is not concurrency-safe because non-'Sendable' type 'KeychainFile' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// Locking/unlocking the keychain file is logged at the `.info` level.
 25 | /// All errors are logged at the `.error` level.
 26 | public class KeychainFile {
    |              `- note: class 'KeychainFile' does not conform to the 'Sendable' protocol
 27 |     /// The path to the system keychain that contains the globally trusted root CA certificates.
 28 |     static let rootCertificatesKeychainPath = "/System/Library/Keychains/SystemRootCertificates.keychain"
    :
 35 |
 36 |     /// An instance of ``KeychainFile`` that points at the system keychain
 37 |     public static let system: KeychainFile = {
    |                       |- warning: static property 'system' is not concurrency-safe because non-'Sendable' type 'KeychainFile' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'system' 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
 38 |         let legacySystemKeychainPath = "/Library/Keychains/System.keychain"
 39 |         var searchList: CFArray?
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
 39 |         var searchList: CFArray?
 40 |         let status = withUnsafeMutablePointer(to: &searchList) {
 41 |             SecKeychainCopyDomainSearchList(.system, UnsafeMutablePointer($0))
    |             `- warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
 42 |         }
 43 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:85:13: warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated
 83 |         let pathName = UnsafeMutablePointer<CChar>.allocate(capacity: Int(pathLength))
 84 |         let status = withUnsafeMutablePointer(to: &pathLength) { pathLength in
 85 |             SecKeychainGetPath(reference, pathLength, pathName)
    |             `- warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated
 86 |         }
 87 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:127:22: warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated
125 |     func open() throws {
126 |         os_log("Attempting to open keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
127 |         let status = SecKeychainOpen(path, &reference)
    |                      `- warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated
128 |         if status != errSecSuccess {
129 |             os_log("SecKeychainOpen returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:159:22: warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
157 |
158 |         os_log("Attempting to create keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
159 |         let status = SecKeychainCreate(path, UInt32(rawPassword.count), rawPassword, false, nil, &reference)
    |                      `- warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
160 |         if status != errSecSuccess {
161 |             os_log("SecKeychainCreate returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:170:22: warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated
168 |     public func delete() throws {
169 |         os_log("Attempting to delete keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
170 |         let status = SecKeychainDelete(reference)
    |                      `- warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated
171 |         if status != errSecSuccess {
172 |             os_log("SecKeychainDelete returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:186:22: warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated
184 |
185 |         var rawStatus: SecKeychainStatus = .zero
186 |         let status = SecKeychainGetStatus(keychain, &rawStatus)
    |                      `- warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated
187 |         if status == errSecSuccess {
188 |             let keychainStatus = KeychainStatusOptions(rawValue: rawStatus)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:206:22: warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated
204 |
205 |         os_log("Attempting to lock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
206 |         let status = SecKeychainLock(keychain)
    |                      `- warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated
207 |         if status != errSecSuccess {
208 |             os_log("SecKeychainLock returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:228:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
226 |             // We can't unlock the system keychain with our password; prompt the user if needed.
227 |             os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
228 |             status = SecKeychainUnlock(keychain, 0, nil, false)
    |                      `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
229 |         } else {
230 |             guard let passwordFunc = passwordProvider else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:238:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
236 |             let rawPassword = passwordFunc(path)
237 |             os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
238 |             status = SecKeychainUnlock(keychain, UInt32(rawPassword.count), rawPassword, true)
    |                      `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
239 |         }
240 |         if status != errSecSuccess {
[96/96] Compiling Haversack RetrievabilityLevel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:31:23: warning: static property 'systemRootCertificates' is not concurrency-safe because non-'Sendable' type 'KeychainFile' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// Locking/unlocking the keychain file is logged at the `.info` level.
 25 | /// All errors are logged at the `.error` level.
 26 | public class KeychainFile {
    |              `- note: class 'KeychainFile' does not conform to the 'Sendable' protocol
 27 |     /// The path to the system keychain that contains the globally trusted root CA certificates.
 28 |     static let rootCertificatesKeychainPath = "/System/Library/Keychains/SystemRootCertificates.keychain"
 29 |
 30 |     /// An instance of ``KeychainFile`` that points at the system root certificates keychain
 31 |     public static let systemRootCertificates = KeychainFile(at: rootCertificatesKeychainPath)
    |                       |- warning: static property 'systemRootCertificates' is not concurrency-safe because non-'Sendable' type 'KeychainFile' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'systemRootCertificates' 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
 32 |
 33 |     /// The path to the system keychain.
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:37:23: warning: static property 'system' is not concurrency-safe because non-'Sendable' type 'KeychainFile' may have shared mutable state; this is an error in the Swift 6 language mode
 24 | /// Locking/unlocking the keychain file is logged at the `.info` level.
 25 | /// All errors are logged at the `.error` level.
 26 | public class KeychainFile {
    |              `- note: class 'KeychainFile' does not conform to the 'Sendable' protocol
 27 |     /// The path to the system keychain that contains the globally trusted root CA certificates.
 28 |     static let rootCertificatesKeychainPath = "/System/Library/Keychains/SystemRootCertificates.keychain"
    :
 35 |
 36 |     /// An instance of ``KeychainFile`` that points at the system keychain
 37 |     public static let system: KeychainFile = {
    |                       |- warning: static property 'system' is not concurrency-safe because non-'Sendable' type 'KeychainFile' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'system' 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
 38 |         let legacySystemKeychainPath = "/Library/Keychains/System.keychain"
 39 |         var searchList: CFArray?
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
 39 |         var searchList: CFArray?
 40 |         let status = withUnsafeMutablePointer(to: &searchList) {
 41 |             SecKeychainCopyDomainSearchList(.system, UnsafeMutablePointer($0))
    |             `- warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
 42 |         }
 43 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:85:13: warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated
 83 |         let pathName = UnsafeMutablePointer<CChar>.allocate(capacity: Int(pathLength))
 84 |         let status = withUnsafeMutablePointer(to: &pathLength) { pathLength in
 85 |             SecKeychainGetPath(reference, pathLength, pathName)
    |             `- warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated
 86 |         }
 87 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:127:22: warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated
125 |     func open() throws {
126 |         os_log("Attempting to open keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
127 |         let status = SecKeychainOpen(path, &reference)
    |                      `- warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated
128 |         if status != errSecSuccess {
129 |             os_log("SecKeychainOpen returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:159:22: warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
157 |
158 |         os_log("Attempting to create keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
159 |         let status = SecKeychainCreate(path, UInt32(rawPassword.count), rawPassword, false, nil, &reference)
    |                      `- warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
160 |         if status != errSecSuccess {
161 |             os_log("SecKeychainCreate returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:170:22: warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated
168 |     public func delete() throws {
169 |         os_log("Attempting to delete keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
170 |         let status = SecKeychainDelete(reference)
    |                      `- warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated
171 |         if status != errSecSuccess {
172 |             os_log("SecKeychainDelete returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:186:22: warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated
184 |
185 |         var rawStatus: SecKeychainStatus = .zero
186 |         let status = SecKeychainGetStatus(keychain, &rawStatus)
    |                      `- warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated
187 |         if status == errSecSuccess {
188 |             let keychainStatus = KeychainStatusOptions(rawValue: rawStatus)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:206:22: warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated
204 |
205 |         os_log("Attempting to lock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
206 |         let status = SecKeychainLock(keychain)
    |                      `- warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated
207 |         if status != errSecSuccess {
208 |             os_log("SecKeychainLock returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:228:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
226 |             // We can't unlock the system keychain with our password; prompt the user if needed.
227 |             os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
228 |             status = SecKeychainUnlock(keychain, 0, nil, false)
    |                      `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
229 |         } else {
230 |             guard let passwordFunc = passwordProvider else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:238:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
236 |             let rawPassword = passwordFunc(path)
237 |             os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
238 |             status = SecKeychainUnlock(keychain, UInt32(rawPassword.count), rawPassword, true)
    |                      `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
239 |         }
240 |         if status != errSecSuccess {
[97/101] Emitting module HaversackCryptoKit
/Users/admin/builder/spi-builder-workspace/Sources/HaversackCryptoKit/GenericPasswordConvertible+CryptoKit.swift:9:1: warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
 7 |
 8 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 9 | extension Curve25519.KeyAgreement.PrivateKey: GenericPasswordConvertible {
   | |- warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
10 |     public static func make(fromRaw data: Data) throws -> Self {
11 |         return try Self.init(rawRepresentation: data)
/Users/admin/builder/spi-builder-workspace/Sources/HaversackCryptoKit/GenericPasswordConvertible+CryptoKit.swift:16:1: warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
14 |
15 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
16 | extension Curve25519.Signing.PrivateKey: GenericPasswordConvertible {
   | |- warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
17 |     public static func make(fromRaw data: Data) throws -> Self {
18 |         return try Self.init(rawRepresentation: data)
/Users/admin/builder/spi-builder-workspace/Sources/HaversackCryptoKit/GenericPasswordConvertible+CryptoKit.swift:23:1: warning: extension declares a conformance of imported type 'SymmetricKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
21 |
22 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
23 | extension SymmetricKey: GenericPasswordConvertible {
   | |- warning: extension declares a conformance of imported type 'SymmetricKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |     public static func make(fromRaw data: Data) throws -> Self {
25 |         return Self.init(data: data)
/Users/admin/builder/spi-builder-workspace/Sources/HaversackCryptoKit/GenericPasswordConvertible+CryptoKit.swift:36:1: warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
34 |
35 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
36 | extension SecureEnclave.P256.KeyAgreement.PrivateKey: GenericPasswordConvertible {
   | |- warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
37 |     public static func make(fromRaw data: Data) throws -> Self {
38 |         return try Self.init(dataRepresentation: data)
/Users/admin/builder/spi-builder-workspace/Sources/HaversackCryptoKit/GenericPasswordConvertible+CryptoKit.swift:47:1: warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
45 |
46 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
47 | extension SecureEnclave.P256.Signing.PrivateKey: GenericPasswordConvertible {
   | |- warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
48 |     public static func make(fromRaw data: Data) throws -> Self {
49 |         return try Self.init(dataRepresentation: data)
[98/101] Compiling HaversackMock HaversackEphemeralStrategy.swift
[99/101] Emitting module HaversackMock
[100/101] Compiling HaversackCryptoKit GenericPasswordConvertible+CryptoKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/HaversackCryptoKit/GenericPasswordConvertible+CryptoKit.swift:9:1: warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
 7 |
 8 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 9 | extension Curve25519.KeyAgreement.PrivateKey: GenericPasswordConvertible {
   | |- warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
10 |     public static func make(fromRaw data: Data) throws -> Self {
11 |         return try Self.init(rawRepresentation: data)
/Users/admin/builder/spi-builder-workspace/Sources/HaversackCryptoKit/GenericPasswordConvertible+CryptoKit.swift:16:1: warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
14 |
15 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
16 | extension Curve25519.Signing.PrivateKey: GenericPasswordConvertible {
   | |- warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
17 |     public static func make(fromRaw data: Data) throws -> Self {
18 |         return try Self.init(rawRepresentation: data)
/Users/admin/builder/spi-builder-workspace/Sources/HaversackCryptoKit/GenericPasswordConvertible+CryptoKit.swift:23:1: warning: extension declares a conformance of imported type 'SymmetricKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
21 |
22 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
23 | extension SymmetricKey: GenericPasswordConvertible {
   | |- warning: extension declares a conformance of imported type 'SymmetricKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |     public static func make(fromRaw data: Data) throws -> Self {
25 |         return Self.init(data: data)
/Users/admin/builder/spi-builder-workspace/Sources/HaversackCryptoKit/GenericPasswordConvertible+CryptoKit.swift:36:1: warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
34 |
35 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
36 | extension SecureEnclave.P256.KeyAgreement.PrivateKey: GenericPasswordConvertible {
   | |- warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
37 |     public static func make(fromRaw data: Data) throws -> Self {
38 |         return try Self.init(dataRepresentation: data)
/Users/admin/builder/spi-builder-workspace/Sources/HaversackCryptoKit/GenericPasswordConvertible+CryptoKit.swift:47:1: warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
45 |
46 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
47 | extension SecureEnclave.P256.Signing.PrivateKey: GenericPasswordConvertible {
   | |- warning: extension declares a conformance of imported type 'PrivateKey' to imported protocol 'GenericPasswordConvertible'; this will not behave correctly if the owners of 'CryptoKit' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
48 |     public static func make(fromRaw data: Data) throws -> Self {
49 |         return try Self.init(dataRepresentation: data)
[101/101] Compiling HaversackCryptoKit SecKeyConvertible.swift
Build complete! (32.63s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-collections",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.4",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-collections"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "Haversack",
  "name" : "Haversack",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "5.0"
    }
  ],
  "products" : [
    {
      "name" : "Haversack",
      "targets" : [
        "Haversack"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "HaversackCryptoKit",
      "targets" : [
        "HaversackCryptoKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "HaversackMock",
      "targets" : [
        "HaversackMock"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "HaversackTests",
      "module_type" : "SwiftTarget",
      "name" : "HaversackTests",
      "path" : "Tests/HaversackTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HaversackTests/TestResources",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "CertificateIntegrationTests.swift",
        "Data+X501NameTests.swift",
        "EphemeralStrategyTests.swift",
        "GenericPasswordConvertibleTests.swift",
        "GenericPasswordIntegrationTests.swift",
        "HaversackAsyncAwaitTests.swift",
        "HaversackTests.swift",
        "IdentityIntegrationTests.swift",
        "InternetPasswordIntegrationTests.swift",
        "KeyGenerationConfigTests.swift",
        "KeyGenerationIntegrationTests.swift",
        "KeychainExportConfigTests.swift",
        "KeychainExportIntegrationTests.swift",
        "KeychainFileIntegrationTests.swift",
        "KeychainImportConfigTests.swift",
        "KeychainImportIntegrationTests.swift",
        "QueryCertificateTests.swift",
        "QueryIdentityTests.swift",
        "QueryKeyTests.swift",
        "QueryPasswordTests.swift",
        "SystemKeychainIntegrationTests.swift",
        "XCTestCase+TestResources.swift"
      ],
      "target_dependencies" : [
        "HaversackMock"
      ],
      "type" : "test"
    },
    {
      "c99name" : "HaversackMock",
      "module_type" : "SwiftTarget",
      "name" : "HaversackMock",
      "path" : "Sources/HaversackMock",
      "product_memberships" : [
        "HaversackMock"
      ],
      "sources" : [
        "HaversackEphemeralStrategy.swift"
      ],
      "target_dependencies" : [
        "Haversack"
      ],
      "type" : "library"
    },
    {
      "c99name" : "HaversackCryptoKit",
      "module_type" : "SwiftTarget",
      "name" : "HaversackCryptoKit",
      "path" : "Sources/HaversackCryptoKit",
      "product_memberships" : [
        "HaversackCryptoKit"
      ],
      "sources" : [
        "GenericPasswordConvertible+CryptoKit.swift",
        "SecKeyConvertible.swift"
      ],
      "target_dependencies" : [
        "Haversack"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Haversack",
      "module_type" : "SwiftTarget",
      "name" : "Haversack",
      "path" : "Sources/Haversack",
      "product_dependencies" : [
        "OrderedCollections"
      ],
      "product_memberships" : [
        "Haversack",
        "HaversackCryptoKit",
        "HaversackMock"
      ],
      "sources" : [
        "Entities/CertificateEntity.swift",
        "Entities/Data+X501Name.swift",
        "Entities/GenericPasswordEntity.swift",
        "Entities/IdentityEntity.swift",
        "Entities/InternetPasswordEntity.swift",
        "Entities/KeyEntity.swift",
        "Entities/KeychainStorable.swift",
        "Entities/PasswordBaseEntity.swift",
        "GenericPasswordConvertible.swift",
        "Haversack+AsyncAwait.swift",
        "Haversack.swift",
        "HaversackConfiguration.swift",
        "HaversackError.swift",
        "HaversackStrategy.swift",
        "ImportExport/KeychainExportConfig.swift",
        "ImportExport/KeychainImportConfig.swift",
        "ImportExport/KeychainPortable.swift",
        "ImportExport/PassphraseStrategy.swift",
        "ImportExport/PrivateKeyImporting.swift",
        "KeyGenerationConfig.swift",
        "Logs.swift",
        "Queries/CertificateBaseQuerying.swift",
        "Queries/CertificateQuery.swift",
        "Queries/GenericPasswordQuery.swift",
        "Queries/IdentityQuery.swift",
        "Queries/InternetPasswordQuery.swift",
        "Queries/KeyBaseQuerying.swift",
        "Queries/KeyQuery.swift",
        "Queries/KeychainQueryOptions.swift",
        "Queries/KeychainQuerying.swift",
        "Queries/PasswordBaseQuerying.swift",
        "Security/ItemSecurity.swift",
        "Security/KeychainFile.swift",
        "Security/KeychainItemRetrievability.swift",
        "Security/RetrievabilityLevel.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Done.