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 main (361e79), with Swift 6.0 for macOS (SPM) on 12 Oct 2024 16:34:38 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

   |               `- 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 | }
[108/127] Compiling Haversack KeychainQuerying.swift
/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 | }
[109/127] Compiling Haversack KeychainPortable.swift
/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/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.
[110/127] Compiling Haversack PassphraseStrategy.swift
/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/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.
[111/127] Compiling Haversack PrivateKeyImporting.swift
/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/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.
[112/127] Compiling Haversack KeyGenerationConfig.swift
/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/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.
[113/127] Compiling Haversack GenericPasswordConvertible.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:11:58: warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
 9 |     public func first<T: KeychainQuerying>(where query: T) async throws -> T.Entity {
10 |         try await withCheckedThrowingContinuation { continuation in
11 |             first(where: query, completion: continuation.resume)
   |                                                          |- warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, 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
12 |         }
13 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:18:59: warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
16 |     public func search<T: KeychainQuerying>(where query: T) async throws -> [T.Entity] {
17 |         try await withCheckedThrowingContinuation { continuation in
18 |             search(where: query, completion: continuation.resume)
   |                                                           |- warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], 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
19 |         }
20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:26:109: warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
24 |     public func save<T: KeychainStorable>(_ item: T, itemSecurity: ItemSecurity, updateExisting: Bool) async throws -> T {
25 |         try await withCheckedThrowingContinuation { continuation in
26 |             save(item, itemSecurity: itemSecurity, updateExisting: updateExisting, completion: continuation.resume)
   |                                                                                                             |- warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, 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
27 |         }
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 {
[114/127] Compiling Haversack Haversack+AsyncAwait.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:11:58: warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
 9 |     public func first<T: KeychainQuerying>(where query: T) async throws -> T.Entity {
10 |         try await withCheckedThrowingContinuation { continuation in
11 |             first(where: query, completion: continuation.resume)
   |                                                          |- warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, 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
12 |         }
13 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:18:59: warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
16 |     public func search<T: KeychainQuerying>(where query: T) async throws -> [T.Entity] {
17 |         try await withCheckedThrowingContinuation { continuation in
18 |             search(where: query, completion: continuation.resume)
   |                                                           |- warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], 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
19 |         }
20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:26:109: warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
24 |     public func save<T: KeychainStorable>(_ item: T, itemSecurity: ItemSecurity, updateExisting: Bool) async throws -> T {
25 |         try await withCheckedThrowingContinuation { continuation in
26 |             save(item, itemSecurity: itemSecurity, updateExisting: updateExisting, completion: continuation.resume)
   |                                                                                                             |- warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, 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
27 |         }
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 {
[115/127] Compiling Haversack Haversack.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:11:58: warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
 9 |     public func first<T: KeychainQuerying>(where query: T) async throws -> T.Entity {
10 |         try await withCheckedThrowingContinuation { continuation in
11 |             first(where: query, completion: continuation.resume)
   |                                                          |- warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, 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
12 |         }
13 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:18:59: warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
16 |     public func search<T: KeychainQuerying>(where query: T) async throws -> [T.Entity] {
17 |         try await withCheckedThrowingContinuation { continuation in
18 |             search(where: query, completion: continuation.resume)
   |                                                           |- warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], 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
19 |         }
20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:26:109: warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
24 |     public func save<T: KeychainStorable>(_ item: T, itemSecurity: ItemSecurity, updateExisting: Bool) async throws -> T {
25 |         try await withCheckedThrowingContinuation { continuation in
26 |             save(item, itemSecurity: itemSecurity, updateExisting: updateExisting, completion: continuation.resume)
   |                                                                                                             |- warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, 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
27 |         }
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 {
[116/127] Compiling Haversack HaversackConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:11:58: warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
 9 |     public func first<T: KeychainQuerying>(where query: T) async throws -> T.Entity {
10 |         try await withCheckedThrowingContinuation { continuation in
11 |             first(where: query, completion: continuation.resume)
   |                                                          |- warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, 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
12 |         }
13 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:18:59: warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
16 |     public func search<T: KeychainQuerying>(where query: T) async throws -> [T.Entity] {
17 |         try await withCheckedThrowingContinuation { continuation in
18 |             search(where: query, completion: continuation.resume)
   |                                                           |- warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], 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
19 |         }
20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:26:109: warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
24 |     public func save<T: KeychainStorable>(_ item: T, itemSecurity: ItemSecurity, updateExisting: Bool) async throws -> T {
25 |         try await withCheckedThrowingContinuation { continuation in
26 |             save(item, itemSecurity: itemSecurity, updateExisting: updateExisting, completion: continuation.resume)
   |                                                                                                             |- warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, 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
27 |         }
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 {
[117/127] Compiling Haversack Logs.swift
[118/127] Compiling Haversack CertificateBaseQuerying.swift
[119/127] Compiling Haversack CertificateQuery.swift
[120/127] Compiling Haversack GenericPasswordQuery.swift
[121/127] Compiling Haversack PasswordBaseQuerying.swift
/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.
/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 {
[122/127] Compiling Haversack ItemSecurity.swift
/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.
/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 {
[123/127] Compiling Haversack KeychainFile.swift
/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.
/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 {
[124/127] Compiling Haversack CertificateEntity.swift
[125/127] Compiling Haversack Data+X501Name.swift
[126/127] Compiling Haversack GenericPasswordEntity.swift
[127/127] Compiling Haversack IdentityEntity.swift
[128/132] Compiling HaversackMock HaversackEphemeralStrategy.swift
[129/132] Emitting module HaversackMock
[130/132] Compiling HaversackCryptoKit GenericPasswordConvertible+CryptoKit.swift
[131/132] Emitting module HaversackCryptoKit
[132/132] Compiling HaversackCryptoKit SecKeyConvertible.swift
Build complete! (30.90s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-collections",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-collections"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.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" : "visionos",
      "version" : "1.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"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Resources/PrivacyInfo.xcprivacy",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "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.9"
}
Done.