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

Failed to build Swiftchain, reference main (ab0409), with Swift 6.0 for Linux on 1 Nov 2024 14:38:59 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/sbertix/Swiftchain.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/sbertix/Swiftchain
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at ab0409e Update to `1.0.5`
Cloned https://github.com/sbertix/Swiftchain.git
Revision (git rev-parse @):
ab0409e62f1629bc1a153f41dec5856a3c05a548
SUCCESS checkout https://github.com/sbertix/Swiftchain.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/sbertix/Swiftchain.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/9] Compiling Swiftchain KeychainError.swift
/host/spi-builder-workspace/Sources/Swiftchain/KeychainError.swift:14:21: error: cannot find type 'OSStatus' in scope
12 |     enum Error: LocalizedError {
13 |         /// A keychain specific error.
14 |         case status(OSStatus)
   |                     `- error: cannot find type 'OSStatus' in scope
15 |         /// Invalid downcast.
16 |         case invalidCasting
/host/spi-builder-workspace/Sources/Swiftchain/KeychainError.swift:23:28: error: cannot find 'SecCopyErrorMessageString' in scope
21 |             case .status(let status):
22 |                 if #available(iOS 11.3, tvOS 11.3, watchOS 4.3, *) {
23 |                     return SecCopyErrorMessageString(status, nil) as String? ?? String(describing: status)
   |                            `- error: cannot find 'SecCopyErrorMessageString' in scope
24 |                 } else {
25 |                     return String(describing: status)
/host/spi-builder-workspace/Sources/Swiftchain/KeychainError.swift:23:62: error: 'nil' requires a contextual type
21 |             case .status(let status):
22 |                 if #available(iOS 11.3, tvOS 11.3, watchOS 4.3, *) {
23 |                     return SecCopyErrorMessageString(status, nil) as String? ?? String(describing: status)
   |                                                              `- error: 'nil' requires a contextual type
24 |                 } else {
25 |                     return String(describing: status)
[4/9] Compiling Swiftchain SecurityConstants.swift
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:54:22: error: cannot find type 'CFString' in scope
 52 |     ///
 53 |     /// - returns: A dictionary.
 54 |     func query() -> [CFString: Any] {
    |                      `- error: cannot find type 'CFString' in scope
 55 |         // Prepare the query.
 56 |         var query: [CFString: Any] = [kSecClass: kSecClassGenericPassword]
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:73:51: error: cannot find type 'CFString' in scope
 71 |     /// - throws: Some `CFError`.
 72 |     /// - returns: A dictionary.
 73 |     func query(for keychain: Keychain) throws -> [CFString: Any] {
    |                                                   `- error: cannot find type 'CFString' in scope
 74 |         // Prepare the query.
 75 |         var query = self.query()
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:102:87: error: cannot find type 'CFString' in scope
100 |     /// - throws: Some `CFError`.
101 |     /// - returns: A dictionary.
102 |     func query(for container: Keychain.Container, with value: Data? = nil) throws -> [CFString: Any] {
    |                                                                                       `- error: cannot find type 'CFString' in scope
103 |         // Prepare the query.
104 |         var query = try self.query(for: container.keychain)
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:56:21: error: cannot find type 'CFString' in scope
 54 |     func query() -> [CFString: Any] {
 55 |         // Prepare the query.
 56 |         var query: [CFString: Any] = [kSecClass: kSecClassGenericPassword]
    |                     `- error: cannot find type 'CFString' in scope
 57 |         if contains(.one) {
 58 |             query[kSecMatchLimit] = kSecMatchLimitOne
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:58:19: error: cannot find 'kSecMatchLimit' in scope
 56 |         var query: [CFString: Any] = [kSecClass: kSecClassGenericPassword]
 57 |         if contains(.one) {
 58 |             query[kSecMatchLimit] = kSecMatchLimitOne
    |                   `- error: cannot find 'kSecMatchLimit' in scope
 59 |         } else if contains(.all) {
 60 |             query[kSecMatchLimit] = kSecMatchLimitAll
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:58:37: error: cannot find 'kSecMatchLimitOne' in scope
 56 |         var query: [CFString: Any] = [kSecClass: kSecClassGenericPassword]
 57 |         if contains(.one) {
 58 |             query[kSecMatchLimit] = kSecMatchLimitOne
    |                                     `- error: cannot find 'kSecMatchLimitOne' in scope
 59 |         } else if contains(.all) {
 60 |             query[kSecMatchLimit] = kSecMatchLimitAll
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:60:19: error: cannot find 'kSecMatchLimit' in scope
 58 |             query[kSecMatchLimit] = kSecMatchLimitOne
 59 |         } else if contains(.all) {
 60 |             query[kSecMatchLimit] = kSecMatchLimitAll
    |                   `- error: cannot find 'kSecMatchLimit' in scope
 61 |         }
 62 |         if contains(.attributes) { query[kSecReturnAttributes] = kCFBooleanTrue! }
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:60:37: error: cannot find 'kSecMatchLimitAll' in scope
 58 |             query[kSecMatchLimit] = kSecMatchLimitOne
 59 |         } else if contains(.all) {
 60 |             query[kSecMatchLimit] = kSecMatchLimitAll
    |                                     `- error: cannot find 'kSecMatchLimitAll' in scope
 61 |         }
 62 |         if contains(.attributes) { query[kSecReturnAttributes] = kCFBooleanTrue! }
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:62:42: error: cannot find 'kSecReturnAttributes' in scope
 60 |             query[kSecMatchLimit] = kSecMatchLimitAll
 61 |         }
 62 |         if contains(.attributes) { query[kSecReturnAttributes] = kCFBooleanTrue! }
    |                                          `- error: cannot find 'kSecReturnAttributes' in scope
 63 |         if contains(.data) { query[kSecReturnData] = kCFBooleanTrue! }
 64 |         // Return query.
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:62:66: error: cannot find 'kCFBooleanTrue' in scope
 60 |             query[kSecMatchLimit] = kSecMatchLimitAll
 61 |         }
 62 |         if contains(.attributes) { query[kSecReturnAttributes] = kCFBooleanTrue! }
    |                                                                  `- error: cannot find 'kCFBooleanTrue' in scope
 63 |         if contains(.data) { query[kSecReturnData] = kCFBooleanTrue! }
 64 |         // Return query.
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:63:36: error: cannot find 'kSecReturnData' in scope
 61 |         }
 62 |         if contains(.attributes) { query[kSecReturnAttributes] = kCFBooleanTrue! }
 63 |         if contains(.data) { query[kSecReturnData] = kCFBooleanTrue! }
    |                                    `- error: cannot find 'kSecReturnData' in scope
 64 |         // Return query.
 65 |         return query
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:63:54: error: cannot find 'kCFBooleanTrue' in scope
 61 |         }
 62 |         if contains(.attributes) { query[kSecReturnAttributes] = kCFBooleanTrue! }
 63 |         if contains(.data) { query[kSecReturnData] = kCFBooleanTrue! }
    |                                                      `- error: cannot find 'kCFBooleanTrue' in scope
 64 |         // Return query.
 65 |         return query
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:76:71: error: cannot find 'kSecAttrService' in scope
 74 |         // Prepare the query.
 75 |         var query = self.query()
 76 |         if let service = keychain.service, contains(.service) { query[kSecAttrService] = service as CFString }
    |                                                                       `- error: cannot find 'kSecAttrService' in scope
 77 |         if let group = keychain.group, contains(.group) { query[kSecAttrAccessGroup] = group as CFString }
 78 |         if keychain.authentication.isEmpty, contains(.accessibility) { query[kSecAttrAccessible] = keychain.accessibility.rawValue }
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:76:101: error: cannot find type 'CFString' in scope
 74 |         // Prepare the query.
 75 |         var query = self.query()
 76 |         if let service = keychain.service, contains(.service) { query[kSecAttrService] = service as CFString }
    |                                                                                                     `- error: cannot find type 'CFString' in scope
 77 |         if let group = keychain.group, contains(.group) { query[kSecAttrAccessGroup] = group as CFString }
 78 |         if keychain.authentication.isEmpty, contains(.accessibility) { query[kSecAttrAccessible] = keychain.accessibility.rawValue }
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:77:65: error: cannot find 'kSecAttrAccessGroup' in scope
 75 |         var query = self.query()
 76 |         if let service = keychain.service, contains(.service) { query[kSecAttrService] = service as CFString }
 77 |         if let group = keychain.group, contains(.group) { query[kSecAttrAccessGroup] = group as CFString }
    |                                                                 `- error: cannot find 'kSecAttrAccessGroup' in scope
 78 |         if keychain.authentication.isEmpty, contains(.accessibility) { query[kSecAttrAccessible] = keychain.accessibility.rawValue }
 79 |         if !keychain.authentication.isEmpty, contains(.authentication) {
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:77:97: error: cannot find type 'CFString' in scope
 75 |         var query = self.query()
 76 |         if let service = keychain.service, contains(.service) { query[kSecAttrService] = service as CFString }
 77 |         if let group = keychain.group, contains(.group) { query[kSecAttrAccessGroup] = group as CFString }
    |                                                                                                 `- error: cannot find type 'CFString' in scope
 78 |         if keychain.authentication.isEmpty, contains(.accessibility) { query[kSecAttrAccessible] = keychain.accessibility.rawValue }
 79 |         if !keychain.authentication.isEmpty, contains(.authentication) {
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:78:78: error: cannot find 'kSecAttrAccessible' in scope
 76 |         if let service = keychain.service, contains(.service) { query[kSecAttrService] = service as CFString }
 77 |         if let group = keychain.group, contains(.group) { query[kSecAttrAccessGroup] = group as CFString }
 78 |         if keychain.authentication.isEmpty, contains(.accessibility) { query[kSecAttrAccessible] = keychain.accessibility.rawValue }
    |                                                                              `- error: cannot find 'kSecAttrAccessible' in scope
 79 |         if !keychain.authentication.isEmpty, contains(.authentication) {
 80 |             var error: Unmanaged<CFError>?
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:57:31: error: cannot find type 'CFString' in scope
55 |         ///
56 |         /// - parameter rawValue: A valid `CFString`.
57 |         public init(rawValue: CFString) { self.rawValue = rawValue }
   |                               `- error: cannot find type 'CFString' in scope
58 |     }
59 | }
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:14:30: error: cannot find type 'CFString' in scope
12 |     struct Accessibility: Hashable, RawRepresentable {
13 |         /// The underlying value.
14 |         public let rawValue: CFString
   |                              `- error: cannot find type 'CFString' in scope
15 |
16 |         /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:73:10: error: type 'Keychain.Accessibility' does not conform to protocol 'RawRepresentable'
 71 |     /// - throws: Some `CFError`.
 72 |     /// - returns: A dictionary.
 73 |     func query(for keychain: Keychain) throws -> [CFString: Any] {
    |          `- error: type 'Keychain.Accessibility' does not conform to protocol 'RawRepresentable'
 74 |         // Prepare the query.
 75 |         var query = self.query()
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:80:34: error: cannot find type 'CFError' in scope
 78 |         if keychain.authentication.isEmpty, contains(.accessibility) { query[kSecAttrAccessible] = keychain.accessibility.rawValue }
 79 |         if !keychain.authentication.isEmpty, contains(.authentication) {
 80 |             var error: Unmanaged<CFError>?
    |                                  `- error: cannot find type 'CFError' in scope
 81 |             query[kSecAttrAccessControl] = withUnsafeMutablePointer(to: &error) {
 82 |                 SecAccessControlCreateWithFlags(nil,
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:81:19: error: cannot find 'kSecAttrAccessControl' in scope
 79 |         if !keychain.authentication.isEmpty, contains(.authentication) {
 80 |             var error: Unmanaged<CFError>?
 81 |             query[kSecAttrAccessControl] = withUnsafeMutablePointer(to: &error) {
    |                   `- error: cannot find 'kSecAttrAccessControl' in scope
 82 |                 SecAccessControlCreateWithFlags(nil,
 83 |                                                 keychain.accessibility.rawValue,
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:82:17: error: cannot find 'SecAccessControlCreateWithFlags' in scope
 80 |             var error: Unmanaged<CFError>?
 81 |             query[kSecAttrAccessControl] = withUnsafeMutablePointer(to: &error) {
 82 |                 SecAccessControlCreateWithFlags(nil,
    |                 `- error: cannot find 'SecAccessControlCreateWithFlags' in scope
 83 |                                                 keychain.accessibility.rawValue,
 84 |                                                 keychain.authentication.flags,
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:103:20: error: cannot find type 'SecAccessControlCreateFlags' in scope
101 |         ///
102 |         /// - returns: Some `SecAccessControlCreateFlags`.
103 |         var flags: SecAccessControlCreateFlags {
    |                    `- error: cannot find type 'SecAccessControlCreateFlags' in scope
104 |             var set: SecAccessControlCreateFlags = []
105 |             // Prepare set.
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:82:49: error: 'nil' requires a contextual type
 80 |             var error: Unmanaged<CFError>?
 81 |             query[kSecAttrAccessControl] = withUnsafeMutablePointer(to: &error) {
 82 |                 SecAccessControlCreateWithFlags(nil,
    |                                                 `- error: 'nil' requires a contextual type
 83 |                                                 keychain.accessibility.rawValue,
 84 |                                                 keychain.authentication.flags,
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:90:74: error: cannot find 'kSecAttrSynchronizable' in scope
 88 |             if let error = error?.takeUnretainedValue() { throw error }
 89 |         }
 90 |         if keychain.isSynchronizable, contains(.synchronization) { query[kSecAttrSynchronizable] = kSecAttrSynchronizableAny }
    |                                                                          `- error: cannot find 'kSecAttrSynchronizable' in scope
 91 |         // Return query.
 92 |         return query
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:90:100: error: cannot find 'kSecAttrSynchronizableAny' in scope
 88 |             if let error = error?.takeUnretainedValue() { throw error }
 89 |         }
 90 |         if keychain.isSynchronizable, contains(.synchronization) { query[kSecAttrSynchronizable] = kSecAttrSynchronizableAny }
    |                                                                                                    `- error: cannot find 'kSecAttrSynchronizableAny' in scope
 91 |         // Return query.
 92 |         return query
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:105:35: error: cannot find 'kSecAttrAccount' in scope
103 |         // Prepare the query.
104 |         var query = try self.query(for: container.keychain)
105 |         if contains(.key) { query[kSecAttrAccount] = container.key }
    |                                   `- error: cannot find 'kSecAttrAccount' in scope
106 |         if let value = value, contains(.value) {
107 |             query[kSecValueData] = value as CFData
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:107:19: error: cannot find 'kSecValueData' in scope
105 |         if contains(.key) { query[kSecAttrAccount] = container.key }
106 |         if let value = value, contains(.value) {
107 |             query[kSecValueData] = value as CFData
    |                   `- error: cannot find 'kSecValueData' in scope
108 |             if query[kSecAttrSynchronizable] != nil { query[kSecAttrSynchronizable] = kCFBooleanTrue! }
109 |         }
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:107:45: error: cannot find type 'CFData' in scope
105 |         if contains(.key) { query[kSecAttrAccount] = container.key }
106 |         if let value = value, contains(.value) {
107 |             query[kSecValueData] = value as CFData
    |                                             `- error: cannot find type 'CFData' in scope
108 |             if query[kSecAttrSynchronizable] != nil { query[kSecAttrSynchronizable] = kCFBooleanTrue! }
109 |         }
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:108:22: error: cannot find 'kSecAttrSynchronizable' in scope
106 |         if let value = value, contains(.value) {
107 |             query[kSecValueData] = value as CFData
108 |             if query[kSecAttrSynchronizable] != nil { query[kSecAttrSynchronizable] = kCFBooleanTrue! }
    |                      `- error: cannot find 'kSecAttrSynchronizable' in scope
109 |         }
110 |         // Return query.
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:108:61: error: cannot find 'kSecAttrSynchronizable' in scope
106 |         if let value = value, contains(.value) {
107 |             query[kSecValueData] = value as CFData
108 |             if query[kSecAttrSynchronizable] != nil { query[kSecAttrSynchronizable] = kCFBooleanTrue! }
    |                                                             `- error: cannot find 'kSecAttrSynchronizable' in scope
109 |         }
110 |         // Return query.
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:108:87: error: cannot find 'kCFBooleanTrue' in scope
106 |         if let value = value, contains(.value) {
107 |             query[kSecValueData] = value as CFData
108 |             if query[kSecAttrSynchronizable] != nil { query[kSecAttrSynchronizable] = kCFBooleanTrue! }
    |                                                                                       `- error: cannot find 'kCFBooleanTrue' in scope
109 |         }
110 |         // Return query.
[5/9] Compiling Swiftchain KeychainAccessibility.swift
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:14:30: error: cannot find type 'CFString' in scope
12 |     struct Accessibility: Hashable, RawRepresentable {
13 |         /// The underlying value.
14 |         public let rawValue: CFString
   |                              `- error: cannot find type 'CFString' in scope
15 |
16 |         /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:21:70: error: cannot find 'kSecAttrAccessibleAfterFirstUnlock' in scope
19 |         /// This is recommended for items that need to be accessed by background applications.
20 |         /// Items with this attribute migrate to a new device when using encrypted backups.
21 |         public static let afterFirstUnlock = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlock)
   |                                                                      `- error: cannot find 'kSecAttrAccessibleAfterFirstUnlock' in scope
22 |
23 |         /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:57:31: error: cannot find type 'CFString' in scope
55 |         ///
56 |         /// - parameter rawValue: A valid `CFString`.
57 |         public init(rawValue: CFString) { self.rawValue = rawValue }
   |                               `- error: cannot find type 'CFString' in scope
58 |     }
59 | }
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:21:46: error: no exact matches in call to initializer
19 |         /// This is recommended for items that need to be accessed by background applications.
20 |         /// Items with this attribute migrate to a new device when using encrypted backups.
21 |         public static let afterFirstUnlock = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlock)
   |                                              |- error: no exact matches in call to initializer
   |                                              `- note: found candidate with type '(any Decoder) throws -> Keychain.Accessibility'
22 |
23 |         /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:29:84: error: cannot find 'kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly' in scope
27 |         /// Items with this attribute do not migrate to a new device.
28 |         ///  Thus, after restoring from a backup of a different device, these items will not be present.
29 |         public static let afterFirstUnlockThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly)
   |                                                                                    `- error: cannot find 'kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly' in scope
30 |
31 |         /// The data in the keychain can only be accessed when the device is unlocked. Only available if a passcode is set on the device.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:29:60: error: no exact matches in call to initializer
27 |         /// Items with this attribute do not migrate to a new device.
28 |         ///  Thus, after restoring from a backup of a different device, these items will not be present.
29 |         public static let afterFirstUnlockThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly)
   |                                                            |- error: no exact matches in call to initializer
   |                                                            `- note: found candidate with type '(any Decoder) throws -> Keychain.Accessibility'
30 |
31 |         /// The data in the keychain can only be accessed when the device is unlocked. Only available if a passcode is set on the device.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:38:83: error: cannot find 'kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly' in scope
36 |         /// No items can be stored in this class on devices without a passcode.
37 |         /// Disabling the device passcode causes all items in this class to be deleted.
38 |         public static let whenPasscodeSetThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly)
   |                                                                                   `- error: cannot find 'kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly' in scope
39 |
40 |         /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:38:59: error: no exact matches in call to initializer
36 |         /// No items can be stored in this class on devices without a passcode.
37 |         /// Disabling the device passcode causes all items in this class to be deleted.
38 |         public static let whenPasscodeSetThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly)
   |                                                           |- error: no exact matches in call to initializer
   |                                                           `- note: found candidate with type '(any Decoder) throws -> Keychain.Accessibility'
39 |
40 |         /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:45:66: error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
43 |         /// Items with this attribute migrate to a new device when using encrypted backups.
44 |         /// This is the default value for keychain items added without explicitly setting an accessibility constant.
45 |         public static let whenUnlocked = Accessibility(rawValue: kSecAttrAccessibleWhenUnlocked)
   |                                                                  `- error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
46 |
47 |         /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:45:42: error: no exact matches in call to initializer
43 |         /// Items with this attribute migrate to a new device when using encrypted backups.
44 |         /// This is the default value for keychain items added without explicitly setting an accessibility constant.
45 |         public static let whenUnlocked = Accessibility(rawValue: kSecAttrAccessibleWhenUnlocked)
   |                                          |- error: no exact matches in call to initializer
   |                                          `- note: found candidate with type '(any Decoder) throws -> Keychain.Accessibility'
46 |
47 |         /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:52:80: error: cannot find 'kSecAttrAccessibleWhenUnlockedThisDeviceOnly' in scope
50 |         /// Items with this attribute do not migrate to a new device.
51 |         /// Thus, after restoring from a backup of a different device, these items will not be present.
52 |         public static let whenUnlockedThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleWhenUnlockedThisDeviceOnly)
   |                                                                                `- error: cannot find 'kSecAttrAccessibleWhenUnlockedThisDeviceOnly' in scope
53 |
54 |         /// Init.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:52:56: error: no exact matches in call to initializer
50 |         /// Items with this attribute do not migrate to a new device.
51 |         /// Thus, after restoring from a backup of a different device, these items will not be present.
52 |         public static let whenUnlockedThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleWhenUnlockedThisDeviceOnly)
   |                                                        |- error: no exact matches in call to initializer
   |                                                        `- note: found candidate with type '(any Decoder) throws -> Keychain.Accessibility'
53 |
54 |         /// Init.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:12:12: error: type 'Keychain.Accessibility' does not conform to protocol 'Hashable'
10 | public extension Keychain {
11 |     /// A `struct` holding reference to item accessibility.
12 |     struct Accessibility: Hashable, RawRepresentable {
   |            `- error: type 'Keychain.Accessibility' does not conform to protocol 'Hashable'
13 |         /// The underlying value.
14 |         public let rawValue: CFString
   |                    `- note: stored property type '<<error type>>' does not conform to protocol 'Hashable', preventing synthesized conformance of 'Keychain.Accessibility' to 'Hashable'
15 |
16 |         /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:12:12: error: type 'Keychain.Accessibility' does not conform to protocol 'RawRepresentable'
10 | public extension Keychain {
11 |     /// A `struct` holding reference to item accessibility.
12 |     struct Accessibility: Hashable, RawRepresentable {
   |            `- error: type 'Keychain.Accessibility' does not conform to protocol 'RawRepresentable'
13 |         /// The underlying value.
14 |         public let rawValue: CFString
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:12:12: error: type 'Keychain.Accessibility' does not conform to protocol 'Equatable'
10 | public extension Keychain {
11 |     /// A `struct` holding reference to item accessibility.
12 |     struct Accessibility: Hashable, RawRepresentable {
   |            `- error: type 'Keychain.Accessibility' does not conform to protocol 'Equatable'
13 |         /// The underlying value.
14 |         public let rawValue: CFString
   |                    `- note: stored property type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'Keychain.Accessibility' to 'Equatable'
15 |
16 |         /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
Swift.==:1:24: note: candidate would match if 'Keychain.Accessibility.RawValue' conformed to 'Equatable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'Keychain.Accessibility.RawValue' conformed to 'Equatable'
Swift.FloatingPoint:2:24: note: candidate would match if 'Keychain.Accessibility' conformed to 'FloatingPoint'
1 | extension FloatingPoint {
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
  |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to 'FloatingPoint'
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
4 |     public static func <= (lhs: Self, rhs: Self) -> Bool
Swift.BinaryInteger:2:24: note: candidate would match if 'Keychain.Accessibility' conformed to 'BinaryInteger'
1 | extension BinaryInteger {
2 |     public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
  |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to 'BinaryInteger'
3 |     public static func != <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
4 |     public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
Swift._Pointer:2:24: note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
1 | extension _Pointer {
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
  |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
  |                                   `- note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
4 |     @inlinable public static func != <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
5 | }
Swift.Strideable:3:35: note: candidate would match if 'Keychain.Accessibility' conformed to 'Strideable'
1 | extension Strideable {
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
  |                                   `- note: candidate would match if 'Keychain.Accessibility' conformed to 'Strideable'
4 | }
Swift.StringProtocol:2:35: note: candidate would match if 'Keychain.Accessibility' conformed to 'StringProtocol'
1 | extension StringProtocol {
2 |     @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol
  |                                   `- note: candidate would match if 'Keychain.Accessibility' conformed to 'StringProtocol'
3 |     @inlinable public static func != <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol
4 |     @inlinable public static func < <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol
Swift.SIMD:4:24: note: candidate would match if 'Keychain.Accessibility' conformed to 'SIMD'
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
 4 |     public static func == (a: Self, b: Self) -> Bool
   |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to 'SIMD'
 5 |     @inlinable public func hash(into hasher: inout Hasher)
 6 |     public func encode(to encoder: any Encoder) throws
Foundation.__BridgedNSError:2:24: note: candidate would match if 'Keychain.Accessibility' conformed to '__BridgedNSError'
1 | extension __BridgedNSError where Self : RawRepresentable, Self.RawValue : FixedWidthInteger {
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
  |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to '__BridgedNSError'
3 | }
Foundation._BridgedStoredNSError:2:24: note: candidate would match if 'Keychain.Accessibility' conformed to '_BridgedStoredNSError'
1 | extension _BridgedStoredNSError {
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
  |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to '_BridgedStoredNSError'
3 | }
FoundationEssentials.AttributedStringProtocol:3:24: note: candidate would match if 'Keychain.Accessibility' conformed to 'AttributedStringProtocol'
1 | @available(macOS 12, iOS 15, tvOS 15, watchOS 8, *)
2 | extension AttributedStringProtocol {
3 |     public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol
  |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to 'AttributedStringProtocol'
4 |     public func hash(into hasher: inout Hasher)
5 | }
Swift.RawRepresentable:2:20: note: protocol requires nested type 'RawValue'; add nested type 'RawValue' for conformance
1 | public protocol RawRepresentable<RawValue> {
2 |     associatedtype RawValue
  |                    `- note: protocol requires nested type 'RawValue'; add nested type 'RawValue' for conformance
3 |     init?(rawValue: Self.RawValue)
4 |     var rawValue: Self.RawValue { get }
Swift.Equatable:2:17: note: protocol requires function '==' with type '(Keychain.Accessibility, Keychain.Accessibility) -> Bool'
1 | public protocol Equatable {
2 |     static func == (lhs: Self, rhs: Self) -> Bool
  |                 `- note: protocol requires function '==' with type '(Keychain.Accessibility, Keychain.Accessibility) -> Bool'
3 | }
[6/9] Compiling Swiftchain Keychain.swift
/host/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:13:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 11 | open class Keychain {
 12 |     /// A shared instance of `Keychain`.
 13 |     public static var `default` = Keychain()
    |                       |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- 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
 14 |
 15 |     /// A shared lock.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:45:66: error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
43 |         /// Items with this attribute migrate to a new device when using encrypted backups.
44 |         /// This is the default value for keychain items added without explicitly setting an accessibility constant.
45 |         public static let whenUnlocked = Accessibility(rawValue: kSecAttrAccessibleWhenUnlocked)
   |                                                                  `- error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
46 |
47 |         /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:57:31: error: cannot find type 'CFString' in scope
55 |         ///
56 |         /// - parameter rawValue: A valid `CFString`.
57 |         public init(rawValue: CFString) { self.rawValue = rawValue }
   |                               `- error: cannot find type 'CFString' in scope
58 |     }
59 | }
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:14:30: error: cannot find type 'CFString' in scope
12 |     struct Accessibility: Hashable, RawRepresentable {
13 |         /// The underlying value.
14 |         public let rawValue: CFString
   |                              `- error: cannot find type 'CFString' in scope
15 |
16 |         /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
/host/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:49:26: error: type 'Keychain.Accessibility' does not conform to protocol 'RawRepresentable'
 47 |     public required init(service: String? = Bundle.main.bundleIdentifier ?? "Swiftchain",
 48 |                          group: String? = nil,
 49 |                          accessibility: Accessibility = .whenUnlocked,
    |                          `- error: type 'Keychain.Accessibility' does not conform to protocol 'RawRepresentable'
 50 |                          authentication: Authentication = [],
 51 |                          isSynchronizable: Bool = false) {
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:45:42: error: no exact matches in call to initializer
43 |         /// Items with this attribute migrate to a new device when using encrypted backups.
44 |         /// This is the default value for keychain items added without explicitly setting an accessibility constant.
45 |         public static let whenUnlocked = Accessibility(rawValue: kSecAttrAccessibleWhenUnlocked)
   |                                          |- error: no exact matches in call to initializer
   |                                          `- note: found candidate with type '(any Decoder) throws -> Keychain.Accessibility'
46 |
47 |         /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:54:22: error: cannot find type 'CFString' in scope
 52 |     ///
 53 |     /// - returns: A dictionary.
 54 |     func query() -> [CFString: Any] {
    |                      `- error: cannot find type 'CFString' in scope
 55 |         // Prepare the query.
 56 |         var query: [CFString: Any] = [kSecClass: kSecClassGenericPassword]
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:73:51: error: cannot find type 'CFString' in scope
 71 |     /// - throws: Some `CFError`.
 72 |     /// - returns: A dictionary.
 73 |     func query(for keychain: Keychain) throws -> [CFString: Any] {
    |                                                   `- error: cannot find type 'CFString' in scope
 74 |         // Prepare the query.
 75 |         var query = self.query()
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:102:87: error: cannot find type 'CFString' in scope
100 |     /// - throws: Some `CFError`.
101 |     /// - returns: A dictionary.
102 |     func query(for container: Keychain.Container, with value: Data? = nil) throws -> [CFString: Any] {
    |                                                                                       `- error: cannot find type 'CFString' in scope
103 |         // Prepare the query.
104 |         var query = try self.query(for: container.keychain)
/host/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:75:35: error: cannot find 'SecItemDelete' in scope
 73 |         let query = try constants.query(for: self)
 74 |         // Remove items.
 75 |         switch Keychain.locking({ SecItemDelete(query as CFDictionary) }) {
    |                                   `- error: cannot find 'SecItemDelete' in scope
 76 |         case errSecSuccess, errSecItemNotFound: break
 77 |         case let status: throw Error.status(status)
/host/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:75:58: error: cannot find type 'CFDictionary' in scope
 73 |         let query = try constants.query(for: self)
 74 |         // Remove items.
 75 |         switch Keychain.locking({ SecItemDelete(query as CFDictionary) }) {
    |                                                          `- error: cannot find type 'CFDictionary' in scope
 76 |         case errSecSuccess, errSecItemNotFound: break
 77 |         case let status: throw Error.status(status)
/host/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:76:14: error: cannot find 'errSecSuccess' in scope
 74 |         // Remove items.
 75 |         switch Keychain.locking({ SecItemDelete(query as CFDictionary) }) {
 76 |         case errSecSuccess, errSecItemNotFound: break
    |              `- error: cannot find 'errSecSuccess' in scope
 77 |         case let status: throw Error.status(status)
 78 |         }
/host/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:76:29: error: cannot find 'errSecItemNotFound' in scope
 74 |         // Remove items.
 75 |         switch Keychain.locking({ SecItemDelete(query as CFDictionary) }) {
 76 |         case errSecSuccess, errSecItemNotFound: break
    |                             `- error: cannot find 'errSecItemNotFound' in scope
 77 |         case let status: throw Error.status(status)
 78 |         }
/host/spi-builder-workspace/Sources/Swiftchain/KeychainError.swift:14:21: error: cannot find type 'OSStatus' in scope
12 |     enum Error: LocalizedError {
13 |         /// A keychain specific error.
14 |         case status(OSStatus)
   |                     `- error: cannot find type 'OSStatus' in scope
15 |         /// Invalid downcast.
16 |         case invalidCasting
/host/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:91:75: error: cannot find 'SecItemCopyMatching' in scope
 89 |         // Fetch results.
 90 |         var result: AnyObject?
 91 |         switch Keychain.locking({ withUnsafeMutablePointer(to: &result) { SecItemCopyMatching(query as CFDictionary, $0) }}) {
    |                                                                           `- error: cannot find 'SecItemCopyMatching' in scope
 92 |         case errSecSuccess: break
 93 |         case errSecItemNotFound: return []
/host/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:91:104: error: cannot find type 'CFDictionary' in scope
 89 |         // Fetch results.
 90 |         var result: AnyObject?
 91 |         switch Keychain.locking({ withUnsafeMutablePointer(to: &result) { SecItemCopyMatching(query as CFDictionary, $0) }}) {
    |                                                                                                        `- error: cannot find type 'CFDictionary' in scope
 92 |         case errSecSuccess: break
 93 |         case errSecItemNotFound: return []
/host/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:92:14: error: cannot find 'errSecSuccess' in scope
 90 |         var result: AnyObject?
 91 |         switch Keychain.locking({ withUnsafeMutablePointer(to: &result) { SecItemCopyMatching(query as CFDictionary, $0) }}) {
 92 |         case errSecSuccess: break
    |              `- error: cannot find 'errSecSuccess' in scope
 93 |         case errSecItemNotFound: return []
 94 |         case let status: throw Error.status(status)
/host/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:93:14: error: cannot find 'errSecItemNotFound' in scope
 91 |         switch Keychain.locking({ withUnsafeMutablePointer(to: &result) { SecItemCopyMatching(query as CFDictionary, $0) }}) {
 92 |         case errSecSuccess: break
 93 |         case errSecItemNotFound: return []
    |              `- error: cannot find 'errSecItemNotFound' in scope
 94 |         case let status: throw Error.status(status)
 95 |         }
/host/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:99:40: error: cannot find 'kSecAttrAccount' in scope
 97 |         // Return results.
 98 |         return results.reduce(into: Set<String>()) { set, attributes in
 99 |             guard let key = attributes[kSecAttrAccount] as? String else { return }
    |                                        `- error: cannot find 'kSecAttrAccount' in scope
100 |             set.insert(key as String)
101 |         }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/9] Emitting module Swiftchain
/host/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:13:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 11 | open class Keychain {
 12 |     /// A shared instance of `Keychain`.
 13 |     public static var `default` = Keychain()
    |                       |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- 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
 14 |
 15 |     /// A shared lock.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:45:66: error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
43 |         /// Items with this attribute migrate to a new device when using encrypted backups.
44 |         /// This is the default value for keychain items added without explicitly setting an accessibility constant.
45 |         public static let whenUnlocked = Accessibility(rawValue: kSecAttrAccessibleWhenUnlocked)
   |                                                                  `- error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
46 |
47 |         /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:57:31: error: cannot find type 'CFString' in scope
55 |         ///
56 |         /// - parameter rawValue: A valid `CFString`.
57 |         public init(rawValue: CFString) { self.rawValue = rawValue }
   |                               `- error: cannot find type 'CFString' in scope
58 |     }
59 | }
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:14:30: error: cannot find type 'CFString' in scope
12 |     struct Accessibility: Hashable, RawRepresentable {
13 |         /// The underlying value.
14 |         public let rawValue: CFString
   |                              `- error: cannot find type 'CFString' in scope
15 |
16 |         /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:45:42: error: no exact matches in call to initializer
43 |         /// Items with this attribute migrate to a new device when using encrypted backups.
44 |         /// This is the default value for keychain items added without explicitly setting an accessibility constant.
45 |         public static let whenUnlocked = Accessibility(rawValue: kSecAttrAccessibleWhenUnlocked)
   |                                          |- error: no exact matches in call to initializer
   |                                          `- note: found candidate with type '(any Decoder) throws -> Keychain.Accessibility'
46 |
47 |         /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:21:70: error: cannot find 'kSecAttrAccessibleAfterFirstUnlock' in scope
19 |         /// This is recommended for items that need to be accessed by background applications.
20 |         /// Items with this attribute migrate to a new device when using encrypted backups.
21 |         public static let afterFirstUnlock = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlock)
   |                                                                      `- error: cannot find 'kSecAttrAccessibleAfterFirstUnlock' in scope
22 |
23 |         /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:21:46: error: no exact matches in call to initializer
19 |         /// This is recommended for items that need to be accessed by background applications.
20 |         /// Items with this attribute migrate to a new device when using encrypted backups.
21 |         public static let afterFirstUnlock = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlock)
   |                                              |- error: no exact matches in call to initializer
   |                                              `- note: found candidate with type '(any Decoder) throws -> Keychain.Accessibility'
22 |
23 |         /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:29:84: error: cannot find 'kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly' in scope
27 |         /// Items with this attribute do not migrate to a new device.
28 |         ///  Thus, after restoring from a backup of a different device, these items will not be present.
29 |         public static let afterFirstUnlockThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly)
   |                                                                                    `- error: cannot find 'kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly' in scope
30 |
31 |         /// The data in the keychain can only be accessed when the device is unlocked. Only available if a passcode is set on the device.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:29:60: error: no exact matches in call to initializer
27 |         /// Items with this attribute do not migrate to a new device.
28 |         ///  Thus, after restoring from a backup of a different device, these items will not be present.
29 |         public static let afterFirstUnlockThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly)
   |                                                            |- error: no exact matches in call to initializer
   |                                                            `- note: found candidate with type '(any Decoder) throws -> Keychain.Accessibility'
30 |
31 |         /// The data in the keychain can only be accessed when the device is unlocked. Only available if a passcode is set on the device.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:38:83: error: cannot find 'kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly' in scope
36 |         /// No items can be stored in this class on devices without a passcode.
37 |         /// Disabling the device passcode causes all items in this class to be deleted.
38 |         public static let whenPasscodeSetThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly)
   |                                                                                   `- error: cannot find 'kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly' in scope
39 |
40 |         /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:38:59: error: no exact matches in call to initializer
36 |         /// No items can be stored in this class on devices without a passcode.
37 |         /// Disabling the device passcode causes all items in this class to be deleted.
38 |         public static let whenPasscodeSetThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly)
   |                                                           |- error: no exact matches in call to initializer
   |                                                           `- note: found candidate with type '(any Decoder) throws -> Keychain.Accessibility'
39 |
40 |         /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:52:80: error: cannot find 'kSecAttrAccessibleWhenUnlockedThisDeviceOnly' in scope
50 |         /// Items with this attribute do not migrate to a new device.
51 |         /// Thus, after restoring from a backup of a different device, these items will not be present.
52 |         public static let whenUnlockedThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleWhenUnlockedThisDeviceOnly)
   |                                                                                `- error: cannot find 'kSecAttrAccessibleWhenUnlockedThisDeviceOnly' in scope
53 |
54 |         /// Init.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:52:56: error: no exact matches in call to initializer
50 |         /// Items with this attribute do not migrate to a new device.
51 |         /// Thus, after restoring from a backup of a different device, these items will not be present.
52 |         public static let whenUnlockedThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleWhenUnlockedThisDeviceOnly)
   |                                                        |- error: no exact matches in call to initializer
   |                                                        `- note: found candidate with type '(any Decoder) throws -> Keychain.Accessibility'
53 |
54 |         /// Init.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:12:12: error: type 'Keychain.Accessibility' does not conform to protocol 'Hashable'
10 | public extension Keychain {
11 |     /// A `struct` holding reference to item accessibility.
12 |     struct Accessibility: Hashable, RawRepresentable {
   |            `- error: type 'Keychain.Accessibility' does not conform to protocol 'Hashable'
13 |         /// The underlying value.
14 |         public let rawValue: CFString
   |                    `- note: stored property type '<<error type>>' does not conform to protocol 'Hashable', preventing synthesized conformance of 'Keychain.Accessibility' to 'Hashable'
15 |
16 |         /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:12:12: error: type 'Keychain.Accessibility' does not conform to protocol 'RawRepresentable'
10 | public extension Keychain {
11 |     /// A `struct` holding reference to item accessibility.
12 |     struct Accessibility: Hashable, RawRepresentable {
   |            `- error: type 'Keychain.Accessibility' does not conform to protocol 'RawRepresentable'
13 |         /// The underlying value.
14 |         public let rawValue: CFString
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:12:12: error: type 'Keychain.Accessibility' does not conform to protocol 'Equatable'
10 | public extension Keychain {
11 |     /// A `struct` holding reference to item accessibility.
12 |     struct Accessibility: Hashable, RawRepresentable {
   |            `- error: type 'Keychain.Accessibility' does not conform to protocol 'Equatable'
13 |         /// The underlying value.
14 |         public let rawValue: CFString
   |                    `- note: stored property type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'Keychain.Accessibility' to 'Equatable'
15 |
16 |         /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
Swift.==:1:24: note: candidate would match if 'Keychain.Accessibility.RawValue' conformed to 'Equatable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'Keychain.Accessibility.RawValue' conformed to 'Equatable'
Swift.FloatingPoint:2:24: note: candidate would match if 'Keychain.Accessibility' conformed to 'FloatingPoint'
1 | extension FloatingPoint {
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
  |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to 'FloatingPoint'
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
4 |     public static func <= (lhs: Self, rhs: Self) -> Bool
Swift.BinaryInteger:2:24: note: candidate would match if 'Keychain.Accessibility' conformed to 'BinaryInteger'
1 | extension BinaryInteger {
2 |     public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
  |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to 'BinaryInteger'
3 |     public static func != <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
4 |     public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
Swift._Pointer:2:24: note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
1 | extension _Pointer {
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
  |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
  |                                   `- note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
4 |     @inlinable public static func != <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
5 | }
Swift.Strideable:3:35: note: candidate would match if 'Keychain.Accessibility' conformed to 'Strideable'
1 | extension Strideable {
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
  |                                   `- note: candidate would match if 'Keychain.Accessibility' conformed to 'Strideable'
4 | }
Swift.StringProtocol:2:35: note: candidate would match if 'Keychain.Accessibility' conformed to 'StringProtocol'
1 | extension StringProtocol {
2 |     @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol
  |                                   `- note: candidate would match if 'Keychain.Accessibility' conformed to 'StringProtocol'
3 |     @inlinable public static func != <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol
4 |     @inlinable public static func < <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol
Swift.SIMD:4:24: note: candidate would match if 'Keychain.Accessibility' conformed to 'SIMD'
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
 4 |     public static func == (a: Self, b: Self) -> Bool
   |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to 'SIMD'
 5 |     @inlinable public func hash(into hasher: inout Hasher)
 6 |     public func encode(to encoder: any Encoder) throws
Foundation.__BridgedNSError:2:24: note: candidate would match if 'Keychain.Accessibility' conformed to '__BridgedNSError'
1 | extension __BridgedNSError where Self : RawRepresentable, Self.RawValue : FixedWidthInteger {
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
  |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to '__BridgedNSError'
3 | }
Foundation._BridgedStoredNSError:2:24: note: candidate would match if 'Keychain.Accessibility' conformed to '_BridgedStoredNSError'
1 | extension _BridgedStoredNSError {
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
  |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to '_BridgedStoredNSError'
3 | }
FoundationEssentials.AttributedStringProtocol:3:24: note: candidate would match if 'Keychain.Accessibility' conformed to 'AttributedStringProtocol'
1 | @available(macOS 12, iOS 15, tvOS 15, watchOS 8, *)
2 | extension AttributedStringProtocol {
3 |     public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol
  |                        `- note: candidate would match if 'Keychain.Accessibility' conformed to 'AttributedStringProtocol'
4 |     public func hash(into hasher: inout Hasher)
5 | }
Swift.RawRepresentable:2:20: note: protocol requires nested type 'RawValue'; add nested type 'RawValue' for conformance
1 | public protocol RawRepresentable<RawValue> {
2 |     associatedtype RawValue
  |                    `- note: protocol requires nested type 'RawValue'; add nested type 'RawValue' for conformance
3 |     init?(rawValue: Self.RawValue)
4 |     var rawValue: Self.RawValue { get }
Swift.Equatable:2:17: note: protocol requires function '==' with type '(Keychain.Accessibility, Keychain.Accessibility) -> Bool'
1 | public protocol Equatable {
2 |     static func == (lhs: Self, rhs: Self) -> Bool
  |                 `- note: protocol requires function '==' with type '(Keychain.Accessibility, Keychain.Accessibility) -> Bool'
3 | }
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:34:27: warning: static property 'devicePasscode' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |     ///         If you were looking for the **intersection** of all its elements,
 15 |     ///         just use `.and()` instead.
 16 |     struct Authentication: OptionSet {
    |            `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
 17 |         /// An `enum` representing the binary operator used to consider all options set.
 18 |         public enum Operator {
    :
 32 |         /// Constraint to access an item with a passcode.
 33 |         @available(macOS 10.11, *)
 34 |         public static let devicePasscode = Authentication(rawValue: 1 << 0)
    |                           |- warning: static property 'devicePasscode' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'devicePasscode' 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
 35 |
 36 |         /// Constraint to access an item with Touch ID for any enrolled fingers, or Face ID.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:41:27: warning: static property 'biometryAny' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |     ///         If you were looking for the **intersection** of all its elements,
 15 |     ///         just use `.and()` instead.
 16 |     struct Authentication: OptionSet {
    |            `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
 17 |         /// An `enum` representing the binary operator used to consider all options set.
 18 |         public enum Operator {
    :
 39 |         /// The item is still accessible by Touch ID if fingers are added or removed, or by Face ID if the user is re-enrolled.
 40 |         @available(iOS 11.3, macOS 10.13.4, tvOS 11.3, watchOS 4.3, *)
 41 |         public static let biometryAny = Authentication(rawValue: 1 << 1)
    |                           |- warning: static property 'biometryAny' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'biometryAny' 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 |         /// Constraint to access an item with Touch ID for currently enrolled fingers, or from Face ID with the currently enrolled user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:48:27: warning: static property 'biometryCurrentSet' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |     ///         If you were looking for the **intersection** of all its elements,
 15 |     ///         just use `.and()` instead.
 16 |     struct Authentication: OptionSet {
    |            `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
 17 |         /// An `enum` representing the binary operator used to consider all options set.
 18 |         public enum Operator {
    :
 46 |         /// The item is invalidated if fingers are added or removed for Touch ID, or if the user re-enrolls for Face ID.
 47 |         @available(iOS 11.3, macOS 10.13.4, tvOS 11.3, watchOS 4.3, *)
 48 |         public static let biometryCurrentSet = Authentication(rawValue: 1 << 2)
    |                           |- warning: static property 'biometryCurrentSet' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'biometryCurrentSet' 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
 49 |
 50 |         /// Constraint to access an item with a watch.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:57:27: warning: static property 'watch' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |     ///         If you were looking for the **intersection** of all its elements,
 15 |     ///         just use `.and()` instead.
 16 |     struct Authentication: OptionSet {
    |            `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
 17 |         /// An `enum` representing the binary operator used to consider all options set.
 18 |         public enum Operator {
    :
 55 |         @available(tvOS, unavailable)
 56 |         @available(watchOS, unavailable)
 57 |         public static let watch = Authentication(rawValue: 1 << 3)
    |                           |- warning: static property 'watch' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'watch' 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
 58 |
 59 |         /// Constraint to access an item with either biometry or passcode.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:103:20: error: cannot find type 'SecAccessControlCreateFlags' in scope
101 |         ///
102 |         /// - returns: Some `SecAccessControlCreateFlags`.
103 |         var flags: SecAccessControlCreateFlags {
    |                    `- error: cannot find type 'SecAccessControlCreateFlags' in scope
104 |             var set: SecAccessControlCreateFlags = []
105 |             // Prepare set.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainError.swift:14:21: error: cannot find type 'OSStatus' in scope
12 |     enum Error: LocalizedError {
13 |         /// A keychain specific error.
14 |         case status(OSStatus)
   |                     `- error: cannot find type 'OSStatus' in scope
15 |         /// Invalid downcast.
16 |         case invalidCasting
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:54:22: error: cannot find type 'CFString' in scope
 52 |     ///
 53 |     /// - returns: A dictionary.
 54 |     func query() -> [CFString: Any] {
    |                      `- error: cannot find type 'CFString' in scope
 55 |         // Prepare the query.
 56 |         var query: [CFString: Any] = [kSecClass: kSecClassGenericPassword]
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:73:51: error: cannot find type 'CFString' in scope
 71 |     /// - throws: Some `CFError`.
 72 |     /// - returns: A dictionary.
 73 |     func query(for keychain: Keychain) throws -> [CFString: Any] {
    |                                                   `- error: cannot find type 'CFString' in scope
 74 |         // Prepare the query.
 75 |         var query = self.query()
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:102:87: error: cannot find type 'CFString' in scope
100 |     /// - throws: Some `CFError`.
101 |     /// - returns: A dictionary.
102 |     func query(for container: Keychain.Container, with value: Data? = nil) throws -> [CFString: Any] {
    |                                                                                       `- error: cannot find type 'CFString' in scope
103 |         // Prepare the query.
104 |         var query = try self.query(for: container.keychain)
[8/9] Compiling Swiftchain KeychainAuthentication.swift
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:34:27: warning: static property 'devicePasscode' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |     ///         If you were looking for the **intersection** of all its elements,
 15 |     ///         just use `.and()` instead.
 16 |     struct Authentication: OptionSet {
    |            `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
 17 |         /// An `enum` representing the binary operator used to consider all options set.
 18 |         public enum Operator {
    :
 32 |         /// Constraint to access an item with a passcode.
 33 |         @available(macOS 10.11, *)
 34 |         public static let devicePasscode = Authentication(rawValue: 1 << 0)
    |                           |- warning: static property 'devicePasscode' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'devicePasscode' 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
 35 |
 36 |         /// Constraint to access an item with Touch ID for any enrolled fingers, or Face ID.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:41:27: warning: static property 'biometryAny' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |     ///         If you were looking for the **intersection** of all its elements,
 15 |     ///         just use `.and()` instead.
 16 |     struct Authentication: OptionSet {
    |            `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
 17 |         /// An `enum` representing the binary operator used to consider all options set.
 18 |         public enum Operator {
    :
 39 |         /// The item is still accessible by Touch ID if fingers are added or removed, or by Face ID if the user is re-enrolled.
 40 |         @available(iOS 11.3, macOS 10.13.4, tvOS 11.3, watchOS 4.3, *)
 41 |         public static let biometryAny = Authentication(rawValue: 1 << 1)
    |                           |- warning: static property 'biometryAny' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'biometryAny' 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 |         /// Constraint to access an item with Touch ID for currently enrolled fingers, or from Face ID with the currently enrolled user.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:48:27: warning: static property 'biometryCurrentSet' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |     ///         If you were looking for the **intersection** of all its elements,
 15 |     ///         just use `.and()` instead.
 16 |     struct Authentication: OptionSet {
    |            `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
 17 |         /// An `enum` representing the binary operator used to consider all options set.
 18 |         public enum Operator {
    :
 46 |         /// The item is invalidated if fingers are added or removed for Touch ID, or if the user re-enrolls for Face ID.
 47 |         @available(iOS 11.3, macOS 10.13.4, tvOS 11.3, watchOS 4.3, *)
 48 |         public static let biometryCurrentSet = Authentication(rawValue: 1 << 2)
    |                           |- warning: static property 'biometryCurrentSet' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'biometryCurrentSet' 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
 49 |
 50 |         /// Constraint to access an item with a watch.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:57:27: warning: static property 'watch' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |     ///         If you were looking for the **intersection** of all its elements,
 15 |     ///         just use `.and()` instead.
 16 |     struct Authentication: OptionSet {
    |            `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
 17 |         /// An `enum` representing the binary operator used to consider all options set.
 18 |         public enum Operator {
    :
 55 |         @available(tvOS, unavailable)
 56 |         @available(watchOS, unavailable)
 57 |         public static let watch = Authentication(rawValue: 1 << 3)
    |                           |- warning: static property 'watch' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'watch' 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
 58 |
 59 |         /// Constraint to access an item with either biometry or passcode.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:103:20: error: cannot find type 'SecAccessControlCreateFlags' in scope
101 |         ///
102 |         /// - returns: Some `SecAccessControlCreateFlags`.
103 |         var flags: SecAccessControlCreateFlags {
    |                    `- error: cannot find type 'SecAccessControlCreateFlags' in scope
104 |             var set: SecAccessControlCreateFlags = []
105 |             // Prepare set.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:104:22: error: cannot find type 'SecAccessControlCreateFlags' in scope
102 |         /// - returns: Some `SecAccessControlCreateFlags`.
103 |         var flags: SecAccessControlCreateFlags {
104 |             var set: SecAccessControlCreateFlags = []
    |                      `- error: cannot find type 'SecAccessControlCreateFlags' in scope
105 |             // Prepare set.
106 |             if #available(macOS 10.11, *), contains(.devicePasscode) {
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:107:29: error: cannot infer contextual base in reference to member 'devicePasscode'
105 |             // Prepare set.
106 |             if #available(macOS 10.11, *), contains(.devicePasscode) {
107 |                 set.insert(.devicePasscode)
    |                             `- error: cannot infer contextual base in reference to member 'devicePasscode'
108 |             }
109 |             if #available(iOS 11.3, macOS 10.13.4, tvOS 11.3, watchOS 4.3, *),
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:111:29: error: cannot infer contextual base in reference to member 'biometryAny'
109 |             if #available(iOS 11.3, macOS 10.13.4, tvOS 11.3, watchOS 4.3, *),
110 |                contains(.biometryAny) {
111 |                 set.insert(.biometryAny)
    |                             `- error: cannot infer contextual base in reference to member 'biometryAny'
112 |             }
113 |             if #available(iOS 11.3, macOS 10.13.4, tvOS 11.3, watchOS 4.3, *),
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:115:29: error: cannot infer contextual base in reference to member 'biometryCurrentSet'
113 |             if #available(iOS 11.3, macOS 10.13.4, tvOS 11.3, watchOS 4.3, *),
114 |                contains(.biometryCurrentSet) {
115 |                 set.insert(.biometryCurrentSet)
    |                             `- error: cannot infer contextual base in reference to member 'biometryCurrentSet'
116 |             }
117 |             #if os(macOS)
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:123:33: error: cannot infer contextual base in reference to member 'and'
121 |             if #available(macOS 10.12.1, *) {
122 |                 if self.operator == .and {
123 |                     set.insert(.and)
    |                                 `- error: cannot infer contextual base in reference to member 'and'
124 |                 } else {
125 |                     set.insert(.or)
/host/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:125:33: error: cannot infer contextual base in reference to member 'or'
123 |                     set.insert(.and)
124 |                 } else {
125 |                     set.insert(.or)
    |                                 `- error: cannot infer contextual base in reference to member 'or'
126 |                 }
127 |             }
[9/9] Compiling Swiftchain KeychainContainer.swift
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:54:22: error: cannot find type 'CFString' in scope
 52 |     ///
 53 |     /// - returns: A dictionary.
 54 |     func query() -> [CFString: Any] {
    |                      `- error: cannot find type 'CFString' in scope
 55 |         // Prepare the query.
 56 |         var query: [CFString: Any] = [kSecClass: kSecClassGenericPassword]
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:73:51: error: cannot find type 'CFString' in scope
 71 |     /// - throws: Some `CFError`.
 72 |     /// - returns: A dictionary.
 73 |     func query(for keychain: Keychain) throws -> [CFString: Any] {
    |                                                   `- error: cannot find type 'CFString' in scope
 74 |         // Prepare the query.
 75 |         var query = self.query()
/host/spi-builder-workspace/Sources/Swiftchain/SecurityConstants.swift:102:87: error: cannot find type 'CFString' in scope
100 |     /// - throws: Some `CFError`.
101 |     /// - returns: A dictionary.
102 |     func query(for container: Keychain.Container, with value: Data? = nil) throws -> [CFString: Any] {
    |                                                                                       `- error: cannot find type 'CFString' in scope
103 |         // Prepare the query.
104 |         var query = try self.query(for: container.keychain)
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:56:43: error: cannot find 'SecItemAdd' in scope
 54 |                 let query = try constants.query(for: self, with: data)
 55 |                 // Store results.
 56 |                 switch Keychain.locking({ SecItemAdd(query as CFDictionary, nil) }) {
    |                                           `- error: cannot find 'SecItemAdd' in scope
 57 |                 case errSecSuccess: break
 58 |                 case errSecDuplicateItem:
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:56:63: error: cannot find type 'CFDictionary' in scope
 54 |                 let query = try constants.query(for: self, with: data)
 55 |                 // Store results.
 56 |                 switch Keychain.locking({ SecItemAdd(query as CFDictionary, nil) }) {
    |                                                               `- error: cannot find type 'CFDictionary' in scope
 57 |                 case errSecSuccess: break
 58 |                 case errSecDuplicateItem:
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:56:77: error: 'nil' requires a contextual type
 54 |                 let query = try constants.query(for: self, with: data)
 55 |                 // Store results.
 56 |                 switch Keychain.locking({ SecItemAdd(query as CFDictionary, nil) }) {
    |                                                                             `- error: 'nil' requires a contextual type
 57 |                 case errSecSuccess: break
 58 |                 case errSecDuplicateItem:
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:57:22: error: cannot find 'errSecSuccess' in scope
 55 |                 // Store results.
 56 |                 switch Keychain.locking({ SecItemAdd(query as CFDictionary, nil) }) {
 57 |                 case errSecSuccess: break
    |                      `- error: cannot find 'errSecSuccess' in scope
 58 |                 case errSecDuplicateItem:
 59 |                     // Update attributes.
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:58:22: error: cannot find 'errSecDuplicateItem' in scope
 56 |                 switch Keychain.locking({ SecItemAdd(query as CFDictionary, nil) }) {
 57 |                 case errSecSuccess: break
 58 |                 case errSecDuplicateItem:
    |                      `- error: cannot find 'errSecDuplicateItem' in scope
 59 |                     // Update attributes.
 60 |                     let initialConstants: SecurityConstants = [.service, .group, .key]
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:61:84: error: 'nil' requires a contextual type
 59 |                     // Update attributes.
 60 |                     let initialConstants: SecurityConstants = [.service, .group, .key]
 61 |                     let initialQuery = try initialConstants.query(for: self, with: nil)
    |                                                                                    `- error: 'nil' requires a contextual type
 62 |                     let updateQuery = try SecurityConstants.value.query(for: self, with: data)
 63 |                     switch Keychain.locking({ SecItemUpdate(initialQuery as CFDictionary, updateQuery as CFDictionary) }) {
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:63:47: error: cannot find 'SecItemUpdate' in scope
 61 |                     let initialQuery = try initialConstants.query(for: self, with: nil)
 62 |                     let updateQuery = try SecurityConstants.value.query(for: self, with: data)
 63 |                     switch Keychain.locking({ SecItemUpdate(initialQuery as CFDictionary, updateQuery as CFDictionary) }) {
    |                                               `- error: cannot find 'SecItemUpdate' in scope
 64 |                     case errSecSuccess: break
 65 |                     case let status: throw Error.status(status)
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:63:77: error: cannot find type 'CFDictionary' in scope
 61 |                     let initialQuery = try initialConstants.query(for: self, with: nil)
 62 |                     let updateQuery = try SecurityConstants.value.query(for: self, with: data)
 63 |                     switch Keychain.locking({ SecItemUpdate(initialQuery as CFDictionary, updateQuery as CFDictionary) }) {
    |                                                                             `- error: cannot find type 'CFDictionary' in scope
 64 |                     case errSecSuccess: break
 65 |                     case let status: throw Error.status(status)
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:63:106: error: cannot find type 'CFDictionary' in scope
 61 |                     let initialQuery = try initialConstants.query(for: self, with: nil)
 62 |                     let updateQuery = try SecurityConstants.value.query(for: self, with: data)
 63 |                     switch Keychain.locking({ SecItemUpdate(initialQuery as CFDictionary, updateQuery as CFDictionary) }) {
    |                                                                                                          `- error: cannot find type 'CFDictionary' in scope
 64 |                     case errSecSuccess: break
 65 |                     case let status: throw Error.status(status)
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:64:26: error: cannot find 'errSecSuccess' in scope
 62 |                     let updateQuery = try SecurityConstants.value.query(for: self, with: data)
 63 |                     switch Keychain.locking({ SecItemUpdate(initialQuery as CFDictionary, updateQuery as CFDictionary) }) {
 64 |                     case errSecSuccess: break
    |                          `- error: cannot find 'errSecSuccess' in scope
 65 |                     case let status: throw Error.status(status)
 66 |                     }
/host/spi-builder-workspace/Sources/Swiftchain/KeychainError.swift:14:21: error: cannot find type 'OSStatus' in scope
12 |     enum Error: LocalizedError {
13 |         /// A keychain specific error.
14 |         case status(OSStatus)
   |                     `- error: cannot find type 'OSStatus' in scope
15 |         /// Invalid downcast.
16 |         case invalidCasting
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:124:39: error: cannot find 'SecItemDelete' in scope
122 |             let query = try constants.query(for: self)
123 |             // Delete.
124 |             switch Keychain.locking({ SecItemDelete(query as CFDictionary) }) {
    |                                       `- error: cannot find 'SecItemDelete' in scope
125 |             case errSecSuccess, errSecItemNotFound: break
126 |             case let status: throw Error.status(status)
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:124:62: error: cannot find type 'CFDictionary' in scope
122 |             let query = try constants.query(for: self)
123 |             // Delete.
124 |             switch Keychain.locking({ SecItemDelete(query as CFDictionary) }) {
    |                                                              `- error: cannot find type 'CFDictionary' in scope
125 |             case errSecSuccess, errSecItemNotFound: break
126 |             case let status: throw Error.status(status)
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:125:18: error: cannot find 'errSecSuccess' in scope
123 |             // Delete.
124 |             switch Keychain.locking({ SecItemDelete(query as CFDictionary) }) {
125 |             case errSecSuccess, errSecItemNotFound: break
    |                  `- error: cannot find 'errSecSuccess' in scope
126 |             case let status: throw Error.status(status)
127 |             }
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:125:33: error: cannot find 'errSecItemNotFound' in scope
123 |             // Delete.
124 |             switch Keychain.locking({ SecItemDelete(query as CFDictionary) }) {
125 |             case errSecSuccess, errSecItemNotFound: break
    |                                 `- error: cannot find 'errSecItemNotFound' in scope
126 |             case let status: throw Error.status(status)
127 |             }
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:163:39: error: cannot find 'SecItemCopyMatching' in scope
161 |             // Fetch results.
162 |             var result: AnyObject?
163 |             switch Keychain.locking({ SecItemCopyMatching(query as CFDictionary, &result) }) {
    |                                       `- error: cannot find 'SecItemCopyMatching' in scope
164 |             case errSecItemNotFound: return nil
165 |             case noErr: break
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:163:68: error: cannot find type 'CFDictionary' in scope
161 |             // Fetch results.
162 |             var result: AnyObject?
163 |             switch Keychain.locking({ SecItemCopyMatching(query as CFDictionary, &result) }) {
    |                                                                    `- error: cannot find type 'CFDictionary' in scope
164 |             case errSecItemNotFound: return nil
165 |             case noErr: break
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:164:18: error: cannot find 'errSecItemNotFound' in scope
162 |             var result: AnyObject?
163 |             switch Keychain.locking({ SecItemCopyMatching(query as CFDictionary, &result) }) {
164 |             case errSecItemNotFound: return nil
    |                  `- error: cannot find 'errSecItemNotFound' in scope
165 |             case noErr: break
166 |             case let status: throw Error.status(status)
/host/spi-builder-workspace/Sources/Swiftchain/KeychainContainer.swift:165:18: error: cannot find 'noErr' in scope
163 |             switch Keychain.locking({ SecItemCopyMatching(query as CFDictionary, &result) }) {
164 |             case errSecItemNotFound: return nil
165 |             case noErr: break
    |                  `- error: cannot find 'noErr' in scope
166 |             case let status: throw Error.status(status)
167 |             }
BUILD FAILURE 6.0 linux