The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build Swiftchain, reference main (ab0409), with Swift 6.2 (beta) for Linux on 18 Jun 2025 22:42:44 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.64.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.2
Building package at path:  $PWD
https://github.com/sbertix/Swiftchain.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:f81a7bd7aa87a0f81848d48c5bcc03f5f78deebd37fa5f9be9913077205d3687
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.2-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)
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/9] Emitting module Swiftchain
/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'
   |            `- note: add stubs for conformance
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:20: note: candidate would match if 'Keychain.Accessibility' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Keychain.Accessibility' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'Keychain.Accessibility' conformed to 'BinaryInteger'
1 | protocol 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 |
Swift._Pointer.==:2:20: note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'Keychain.Accessibility' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'Keychain.Accessibility' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'Keychain.Accessibility' conformed to 'StringProtocol'
1 | protocol 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 |
Swift.SIMD.==:2:20: note: candidate would match if 'Keychain.Accessibility' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'Keychain.Accessibility' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'Keychain.Accessibility' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Keychain.Accessibility' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'Keychain.Accessibility' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Keychain.Accessibility' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'Keychain.Accessibility' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'Keychain.Accessibility' conformed to 'AttributedStringProtocol'
3 |
Swift.RawRepresentable.RawValue:2:16: note: protocol requires nested type 'RawValue'
1 | protocol RawRepresentable {
2 | associatedtype RawValue}
  |                `- note: protocol requires nested type 'RawValue'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(Keychain.Accessibility, Keychain.Accessibility) -> Bool'
1 | 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: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)
[5/9] Compiling Swiftchain Keychain.swift
/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 |         }
[6/9] Compiling Swiftchain KeychainAuthentication.swift
/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 |             }
[7/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'
   |            `- note: add stubs for conformance
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:20: note: candidate would match if 'Keychain.Accessibility' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Keychain.Accessibility' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'Keychain.Accessibility' conformed to 'BinaryInteger'
1 | protocol 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 |
Swift._Pointer.==:2:20: note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'Keychain.Accessibility' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'Keychain.Accessibility' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'Keychain.Accessibility' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'Keychain.Accessibility' conformed to 'StringProtocol'
1 | protocol 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 |
Swift.SIMD.==:2:20: note: candidate would match if 'Keychain.Accessibility' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'Keychain.Accessibility' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'Keychain.Accessibility' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Keychain.Accessibility' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'Keychain.Accessibility' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Keychain.Accessibility' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'Keychain.Accessibility' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'Keychain.Accessibility' conformed to 'AttributedStringProtocol'
3 |
Swift.RawRepresentable.RawValue:2:16: note: protocol requires nested type 'RawValue'
1 | protocol RawRepresentable {
2 | associatedtype RawValue}
  |                `- note: protocol requires nested type 'RawValue'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(Keychain.Accessibility, Keychain.Accessibility) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(Keychain.Accessibility, Keychain.Accessibility) -> Bool'
3 |
[8/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.
[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.2 linux