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 DevKeychain, reference main (9edb0b), with Swift 6.2 (beta) for Linux on 2 Sep 2025 21:45:45 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" 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.67.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/DevKitOrganization/DevKeychain.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/DevKitOrganization/DevKeychain
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 9edb0b6 Add Swift Package Index manifest
Cloned https://github.com/DevKitOrganization/DevKeychain.git
Revision (git rev-parse @):
9edb0b677d6883dcc5c93810019104d190791082
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/DevKitOrganization/DevKeychain.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.2
Building package at path:  $PWD
https://github.com/DevKitOrganization/DevKeychain.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" 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:c6c8e08ea30bca759adf847aac87887750120fe9b6eaea09f5af37036a41e81a
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.2-latest
Fetching https://github.com/DevKitOrganization/DevTesting
[1/292] Fetching devtesting
Fetched https://github.com/DevKitOrganization/DevTesting from cache (0.35s)
Computing version for https://github.com/DevKitOrganization/DevTesting
Computed https://github.com/DevKitOrganization/DevTesting at 1.0.0 (1.07s)
Creating working copy for https://github.com/DevKitOrganization/DevTesting
Working copy of https://github.com/DevKitOrganization/DevTesting resolved at 1.0.0
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/11] Compiling DevKeychain KeychainServices.swift
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:18:46: error: cannot find type 'CFString' in scope
16 |     /// - Parameter attributes: The new keychain item’s attributes.
17 |     /// - Returns: The newly added item.
18 |     func addItem(withAttributes attributes: [CFString: Any]) throws -> AnyObject?
   |                                              `- error: cannot find type 'CFString' in scope
19 |
20 |     /// Returns keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:23:38: error: cannot find type 'CFString' in scope
21 |     ///
22 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
23 |     func items(matchingQuery query: [CFString: Any]) throws -> AnyObject?
   |                                      `- error: cannot find type 'CFString' in scope
24 |
25 |     /// Deletes keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:28:49: error: cannot find type 'CFString' in scope
26 |     ///
27 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
28 |     func deleteItems(matchingQuery attributes: [CFString: Any]) throws
   |                                                 `- error: cannot find type 'CFString' in scope
29 | }
30 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:29: error: cannot find type 'CFDictionary' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                             `- error: cannot find type 'CFDictionary' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:64: error: cannot find type 'CFTypeRef' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                `- error: cannot find type 'CFTypeRef' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:81: error: cannot find type 'OSStatus' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                                 `- error: cannot find type 'OSStatus' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:39: error: cannot find type 'CFDictionary' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                       `- error: cannot find type 'CFDictionary' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:74: error: cannot find type 'CFTypeRef' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                          `- error: cannot find type 'CFTypeRef' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:91: error: cannot find type 'OSStatus' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                                           `- error: cannot find type 'OSStatus' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:33: error: cannot find type 'CFDictionary' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                 `- error: cannot find type 'CFDictionary' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:50: error: cannot find type 'OSStatus' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                                  `- error: cannot find type 'OSStatus' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:53:46: error: cannot find type 'CFString' in scope
51 |
52 |
53 |     func addItem(withAttributes attributes: [CFString: Any]) throws -> AnyObject? {
   |                                              `- error: cannot find type 'CFString' in scope
54 |         var result: AnyObject?
55 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:65:38: error: cannot find type 'CFString' in scope
63 |
64 |
65 |     func items(matchingQuery query: [CFString: Any]) throws -> AnyObject? {
   |                                      `- error: cannot find type 'CFString' in scope
66 |         var result: AnyObject?
67 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:80:44: error: cannot find type 'CFString' in scope
78 |
79 |
80 |     func deleteItems(matchingQuery query: [CFString: Any]) throws {
   |                                            `- error: cannot find type 'CFString' in scope
81 |         let osStatus = deleteItems(query as CFDictionary)
82 |         if osStatus != errSecSuccess && osStatus != errSecItemNotFound {
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:56:46: error: cannot find type 'CFDictionary' in scope
54 |         var result: AnyObject?
55 |
56 |         let osStatus = addItem(attributes as CFDictionary, &result)
   |                                              `- error: cannot find type 'CFDictionary' in scope
57 |         guard osStatus == errSecSuccess else {
58 |             throw KeychainServicesError(osStatus: osStatus)
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:57:27: error: cannot find 'errSecSuccess' in scope
55 |
56 |         let osStatus = addItem(attributes as CFDictionary, &result)
57 |         guard osStatus == errSecSuccess else {
   |                           `- error: cannot find 'errSecSuccess' in scope
58 |             throw KeychainServicesError(osStatus: osStatus)
59 |         }
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:13:19: error: cannot find type 'OSStatus' in scope
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |                   `- error: cannot find type 'OSStatus' in scope
14 |
15 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:68:51: error: cannot find type 'CFDictionary' in scope
66 |         var result: AnyObject?
67 |
68 |         let osStatus = copyMatchingItems(query as CFDictionary, &result)
   |                                                   `- error: cannot find type 'CFDictionary' in scope
69 |         switch osStatus {
70 |         case errSecSuccess:
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:70:14: error: cannot find 'errSecSuccess' in scope
68 |         let osStatus = copyMatchingItems(query as CFDictionary, &result)
69 |         switch osStatus {
70 |         case errSecSuccess:
   |              `- error: cannot find 'errSecSuccess' in scope
71 |             return result
72 |         case errSecItemNotFound:
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:72:14: error: cannot find 'errSecItemNotFound' in scope
70 |         case errSecSuccess:
71 |             return result
72 |         case errSecItemNotFound:
   |              `- error: cannot find 'errSecItemNotFound' in scope
73 |             return [] as CFArray
74 |         default:
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:73:26: error: cannot find type 'CFArray' in scope
71 |             return result
72 |         case errSecItemNotFound:
73 |             return [] as CFArray
   |                          `- error: cannot find type 'CFArray' in scope
74 |         default:
75 |             throw KeychainServicesError(osStatus: osStatus)
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:81:45: error: cannot find type 'CFDictionary' in scope
79 |
80 |     func deleteItems(matchingQuery query: [CFString: Any]) throws {
81 |         let osStatus = deleteItems(query as CFDictionary)
   |                                             `- error: cannot find type 'CFDictionary' in scope
82 |         if osStatus != errSecSuccess && osStatus != errSecItemNotFound {
83 |             throw KeychainServicesError(osStatus: osStatus)
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:82:24: error: cannot find 'errSecSuccess' in scope
80 |     func deleteItems(matchingQuery query: [CFString: Any]) throws {
81 |         let osStatus = deleteItems(query as CFDictionary)
82 |         if osStatus != errSecSuccess && osStatus != errSecItemNotFound {
   |                        `- error: cannot find 'errSecSuccess' in scope
83 |             throw KeychainServicesError(osStatus: osStatus)
84 |         }
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:82:53: error: cannot find 'errSecItemNotFound' in scope
80 |     func deleteItems(matchingQuery query: [CFString: Any]) throws {
81 |         let osStatus = deleteItems(query as CFDictionary)
82 |         if osStatus != errSecSuccess && osStatus != errSecItemNotFound {
   |                                                     `- error: cannot find 'errSecItemNotFound' in scope
83 |             throw KeychainServicesError(osStatus: osStatus)
84 |         }
[4/12] Compiling DevKeychain KeychainItemQuery.swift
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:20:32: error: cannot find type 'CFString' in scope
18 |     /// `kSecMatchCaseInsensitive` or `kSecMatchLimit`, or item return result keys like `kSecReturnAttributes` or
19 |     /// `kSecReturnData`.
20 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
21 |
22 |     /// A dictionary describing how query results should be returned from the keychain services API.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:26:28: error: cannot find type 'CFString' in scope
24 |     /// This dictionary is combined with ``attributesDictionary`` when finding items. It is not used to delete items. It
25 |     /// should only contain item return result keys like `kSecReturnAttributes` or `kSecReturnData`.
26 |     var returnDictionary: [CFString: Any] { get }
   |                            `- error: cannot find type 'CFString' in scope
27 |
28 |     /// Maps the raw return value from the keychain services API into an array of the instance’s `Item` type.
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/12] Emitting module DevKeychain
/host/spi-builder-workspace/Sources/DevKeychain/Core/Keychain.swift:107:32: error: cannot find type 'CFString' in scope
105 |
106 |         /// A dictionary-representation of the options to pass to the keychain services API.
107 |         var optionDictionary: [CFString: Any] {
    |                                `- error: cannot find type 'CFString' in scope
108 |             return [
109 |                 kSecMatchCaseInsensitive: isCaseInsensitive,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemAdditionAttributes.swift:16:32: error: cannot find type 'CFString' in scope
14 |
15 |     /// A dictionary-representation of the new item to pass to the keychain services API.
16 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
17 |
18 |     /// Maps the raw return value from the keychain services API into the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:20:32: error: cannot find type 'CFString' in scope
18 |     /// `kSecMatchCaseInsensitive` or `kSecMatchLimit`, or item return result keys like `kSecReturnAttributes` or
19 |     /// `kSecReturnData`.
20 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
21 |
22 |     /// A dictionary describing how query results should be returned from the keychain services API.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:26:28: error: cannot find type 'CFString' in scope
24 |     /// This dictionary is combined with ``attributesDictionary`` when finding items. It is not used to delete items. It
25 |     /// should only contain item return result keys like `kSecReturnAttributes` or `kSecReturnData`.
26 |     var returnDictionary: [CFString: Any] { get }
   |                            `- error: cannot find type 'CFString' in scope
27 |
28 |     /// Maps the raw return value from the keychain services API into an array of the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:18:46: error: cannot find type 'CFString' in scope
16 |     /// - Parameter attributes: The new keychain item’s attributes.
17 |     /// - Returns: The newly added item.
18 |     func addItem(withAttributes attributes: [CFString: Any]) throws -> AnyObject?
   |                                              `- error: cannot find type 'CFString' in scope
19 |
20 |     /// Returns keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:23:38: error: cannot find type 'CFString' in scope
21 |     ///
22 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
23 |     func items(matchingQuery query: [CFString: Any]) throws -> AnyObject?
   |                                      `- error: cannot find type 'CFString' in scope
24 |
25 |     /// Deletes keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:28:49: error: cannot find type 'CFString' in scope
26 |     ///
27 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
28 |     func deleteItems(matchingQuery attributes: [CFString: Any]) throws
   |                                                 `- error: cannot find type 'CFString' in scope
29 | }
30 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:29: error: cannot find type 'CFDictionary' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                             `- error: cannot find type 'CFDictionary' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:64: error: cannot find type 'CFTypeRef' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                `- error: cannot find type 'CFTypeRef' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:81: error: cannot find type 'OSStatus' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                                 `- error: cannot find type 'OSStatus' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:39: error: cannot find type 'CFDictionary' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                       `- error: cannot find type 'CFDictionary' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:74: error: cannot find type 'CFTypeRef' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                          `- error: cannot find type 'CFTypeRef' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:91: error: cannot find type 'OSStatus' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                                           `- error: cannot find type 'OSStatus' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:33: error: cannot find type 'CFDictionary' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                 `- error: cannot find type 'CFDictionary' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:50: error: cannot find type 'OSStatus' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                                  `- error: cannot find type 'OSStatus' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:53:46: error: cannot find type 'CFString' in scope
51 |
52 |
53 |     func addItem(withAttributes attributes: [CFString: Any]) throws -> AnyObject? {
   |                                              `- error: cannot find type 'CFString' in scope
54 |         var result: AnyObject?
55 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:65:38: error: cannot find type 'CFString' in scope
63 |
64 |
65 |     func items(matchingQuery query: [CFString: Any]) throws -> AnyObject? {
   |                                      `- error: cannot find type 'CFString' in scope
66 |         var result: AnyObject?
67 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:80:44: error: cannot find type 'CFString' in scope
78 |
79 |
80 |     func deleteItems(matchingQuery query: [CFString: Any]) throws {
   |                                            `- error: cannot find type 'CFString' in scope
81 |         let osStatus = deleteItems(query as CFDictionary)
82 |         if osStatus != errSecSuccess && osStatus != errSecItemNotFound {
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:13:19: error: cannot find type 'OSStatus' in scope
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |                   `- error: cannot find type 'OSStatus' in scope
14 |
15 |
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:11:8: error: type 'KeychainServicesError' does not conform to protocol 'Hashable'
 9 |
10 | /// An error from the keychain services API.
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
   |        `- error: type 'KeychainServicesError' does not conform to protocol 'Hashable'
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |         `- note: stored property type '<<error type>>' does not conform to protocol 'Hashable', preventing synthesized conformance of 'KeychainServicesError' to 'Hashable'
14 |
15 |
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:11:8: error: type 'KeychainServicesError' does not conform to protocol 'Equatable'
 9 |
10 | /// An error from the keychain services API.
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
   |        |- error: type 'KeychainServicesError' does not conform to protocol 'Equatable'
   |        `- note: add stubs for conformance
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |         `- note: stored property type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'KeychainServicesError' to 'Equatable'
14 |
15 |
Swift.==:1:24: note: candidate would match if 'KeychainServicesError' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'KeychainServicesError' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'KeychainServicesError' 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 'KeychainServicesError' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'KeychainServicesError' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'KeychainServicesError' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'KeychainServicesError' 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 'KeychainServicesError' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(KeychainServicesError, KeychainServicesError) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(KeychainServicesError, KeychainServicesError) -> Bool'
3 |
/host/spi-builder-workspace/Sources/DevKeychain/Extensions/Dictionary+KeychainItemMapping.swift:10:35: error: cannot find type 'CFString' in scope
 8 | import Foundation
 9 |
10 | extension Dictionary where Key == CFString, Value == Any {
   |                                   `- error: cannot find type 'CFString' in scope
11 |     /// Accesses the value for an attribute of a specified type, throwing errors as appropriate.
12 |     ///
/host/spi-builder-workspace/Sources/DevKeychain/Extensions/Dictionary+KeychainItemMapping.swift:19:51: error: cannot find type 'CFString' in scope
17 |     ///   - attribute: The attribute to find in the dictionary.
18 |     ///   - type: The expected type of the attribute’s value.
19 |     func value<V>(forKeychainAttribute attribute: CFString, type: V.Type) throws -> V {
   |                                                   `- error: cannot find type 'CFString' in scope
20 |         guard let rawValue = self[attribute] else {
21 |             throw KeychainItemMappingError.attributeNotFound(attribute as String)
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:44:23: error: cannot find type 'CFString' in scope
 42 |     ///
 43 |     /// - Parameter attributes: A dictionary of attributes from the keychain services API.
 44 |     init(attributes: [CFString: Any]) throws {
    |                       `- error: cannot find type 'CFString' in scope
 45 |         self.init(
 46 |             service: try attributes.value(forKeychainAttribute: kSecAttrService, type: String.self),
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:98:43: error: cannot find type 'CFString' in scope
 96 |
 97 |
 98 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
 99 |             return [
100 |                 kSecAttrAccount: account,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:149:43: error: cannot find type 'CFString' in scope
147 |
148 |
149 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassGenericPassword,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:167:39: error: cannot find type 'CFString' in scope
165 |
166 |
167 |         public var returnDictionary: [CFString: Any] {
    |                                       `- error: cannot find type 'CFString' in scope
168 |             return [
169 |                 kSecReturnAttributes: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:44:23: error: cannot find type 'CFString' in scope
 42 |     ///
 43 |     /// - Parameter attributes: A dictionary of attributes from the keychain services API.
 44 |     init(attributes: [CFString: Any]) throws {
    |                       `- error: cannot find type 'CFString' in scope
 45 |         self.init(
 46 |             server: try attributes.value(forKeychainAttribute: kSecAttrServer, type: String.self),
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:98:43: error: cannot find type 'CFString' in scope
 96 |
 97 |
 98 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
 99 |             return [
100 |                 kSecAttrAccount: account,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:149:43: error: cannot find type 'CFString' in scope
147 |
148 |
149 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassInternetPassword,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:167:39: error: cannot find type 'CFString' in scope
165 |
166 |
167 |         public var returnDictionary: [CFString: Any] {
    |                                       `- error: cannot find type 'CFString' in scope
168 |             return [
169 |                 kSecReturnAttributes: true,
[6/12] Compiling DevKeychain Keychain.swift
/host/spi-builder-workspace/Sources/DevKeychain/Core/Keychain.swift:107:32: error: cannot find type 'CFString' in scope
105 |
106 |         /// A dictionary-representation of the options to pass to the keychain services API.
107 |         var optionDictionary: [CFString: Any] {
    |                                `- error: cannot find type 'CFString' in scope
108 |             return [
109 |                 kSecMatchCaseInsensitive: isCaseInsensitive,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:29: error: cannot find type 'CFDictionary' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                             `- error: cannot find type 'CFDictionary' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:64: error: cannot find type 'CFTypeRef' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                `- error: cannot find type 'CFTypeRef' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:81: error: cannot find type 'OSStatus' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                                 `- error: cannot find type 'OSStatus' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:39: error: cannot find type 'CFDictionary' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                       `- error: cannot find type 'CFDictionary' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:74: error: cannot find type 'CFTypeRef' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                          `- error: cannot find type 'CFTypeRef' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:91: error: cannot find type 'OSStatus' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                                           `- error: cannot find type 'OSStatus' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:33: error: cannot find type 'CFDictionary' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                 `- error: cannot find type 'CFDictionary' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:50: error: cannot find type 'OSStatus' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                                  `- error: cannot find type 'OSStatus' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:18:46: error: cannot find type 'CFString' in scope
16 |     /// - Parameter attributes: The new keychain item’s attributes.
17 |     /// - Returns: The newly added item.
18 |     func addItem(withAttributes attributes: [CFString: Any]) throws -> AnyObject?
   |                                              `- error: cannot find type 'CFString' in scope
19 |
20 |     /// Returns keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemAdditionAttributes.swift:16:32: error: cannot find type 'CFString' in scope
14 |
15 |     /// A dictionary-representation of the new item to pass to the keychain services API.
16 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
17 |
18 |     /// Maps the raw return value from the keychain services API into the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:20:32: error: cannot find type 'CFString' in scope
18 |     /// `kSecMatchCaseInsensitive` or `kSecMatchLimit`, or item return result keys like `kSecReturnAttributes` or
19 |     /// `kSecReturnData`.
20 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
21 |
22 |     /// A dictionary describing how query results should be returned from the keychain services API.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:26:28: error: cannot find type 'CFString' in scope
24 |     /// This dictionary is combined with ``attributesDictionary`` when finding items. It is not used to delete items. It
25 |     /// should only contain item return result keys like `kSecReturnAttributes` or `kSecReturnData`.
26 |     var returnDictionary: [CFString: Any] { get }
   |                            `- error: cannot find type 'CFString' in scope
27 |
28 |     /// Maps the raw return value from the keychain services API into an array of the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:23:38: error: cannot find type 'CFString' in scope
21 |     ///
22 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
23 |     func items(matchingQuery query: [CFString: Any]) throws -> AnyObject?
   |                                      `- error: cannot find type 'CFString' in scope
24 |
25 |     /// Deletes keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:28:49: error: cannot find type 'CFString' in scope
26 |     ///
27 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
28 |     func deleteItems(matchingQuery attributes: [CFString: Any]) throws
   |                                                 `- error: cannot find type 'CFString' in scope
29 | }
30 |
[7/12] Compiling DevKeychain KeychainItemAdditionAttributes.swift
/host/spi-builder-workspace/Sources/DevKeychain/Core/Keychain.swift:107:32: error: cannot find type 'CFString' in scope
105 |
106 |         /// A dictionary-representation of the options to pass to the keychain services API.
107 |         var optionDictionary: [CFString: Any] {
    |                                `- error: cannot find type 'CFString' in scope
108 |             return [
109 |                 kSecMatchCaseInsensitive: isCaseInsensitive,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:29: error: cannot find type 'CFDictionary' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                             `- error: cannot find type 'CFDictionary' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:64: error: cannot find type 'CFTypeRef' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                `- error: cannot find type 'CFTypeRef' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:81: error: cannot find type 'OSStatus' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                                 `- error: cannot find type 'OSStatus' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:39: error: cannot find type 'CFDictionary' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                       `- error: cannot find type 'CFDictionary' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:74: error: cannot find type 'CFTypeRef' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                          `- error: cannot find type 'CFTypeRef' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:91: error: cannot find type 'OSStatus' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                                           `- error: cannot find type 'OSStatus' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:33: error: cannot find type 'CFDictionary' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                 `- error: cannot find type 'CFDictionary' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:50: error: cannot find type 'OSStatus' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                                  `- error: cannot find type 'OSStatus' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:18:46: error: cannot find type 'CFString' in scope
16 |     /// - Parameter attributes: The new keychain item’s attributes.
17 |     /// - Returns: The newly added item.
18 |     func addItem(withAttributes attributes: [CFString: Any]) throws -> AnyObject?
   |                                              `- error: cannot find type 'CFString' in scope
19 |
20 |     /// Returns keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemAdditionAttributes.swift:16:32: error: cannot find type 'CFString' in scope
14 |
15 |     /// A dictionary-representation of the new item to pass to the keychain services API.
16 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
17 |
18 |     /// Maps the raw return value from the keychain services API into the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:20:32: error: cannot find type 'CFString' in scope
18 |     /// `kSecMatchCaseInsensitive` or `kSecMatchLimit`, or item return result keys like `kSecReturnAttributes` or
19 |     /// `kSecReturnData`.
20 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
21 |
22 |     /// A dictionary describing how query results should be returned from the keychain services API.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:26:28: error: cannot find type 'CFString' in scope
24 |     /// This dictionary is combined with ``attributesDictionary`` when finding items. It is not used to delete items. It
25 |     /// should only contain item return result keys like `kSecReturnAttributes` or `kSecReturnData`.
26 |     var returnDictionary: [CFString: Any] { get }
   |                            `- error: cannot find type 'CFString' in scope
27 |
28 |     /// Maps the raw return value from the keychain services API into an array of the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:23:38: error: cannot find type 'CFString' in scope
21 |     ///
22 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
23 |     func items(matchingQuery query: [CFString: Any]) throws -> AnyObject?
   |                                      `- error: cannot find type 'CFString' in scope
24 |
25 |     /// Deletes keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:28:49: error: cannot find type 'CFString' in scope
26 |     ///
27 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
28 |     func deleteItems(matchingQuery attributes: [CFString: Any]) throws
   |                                                 `- error: cannot find type 'CFString' in scope
29 | }
30 |
[8/12] Compiling DevKeychain GenericPassword.swift
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:44:23: error: cannot find type 'CFString' in scope
 42 |     ///
 43 |     /// - Parameter attributes: A dictionary of attributes from the keychain services API.
 44 |     init(attributes: [CFString: Any]) throws {
    |                       `- error: cannot find type 'CFString' in scope
 45 |         self.init(
 46 |             service: try attributes.value(forKeychainAttribute: kSecAttrService, type: String.self),
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:98:43: error: cannot find type 'CFString' in scope
 96 |
 97 |
 98 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
 99 |             return [
100 |                 kSecAttrAccount: account,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemAdditionAttributes.swift:16:32: error: cannot find type 'CFString' in scope
14 |
15 |     /// A dictionary-representation of the new item to pass to the keychain services API.
16 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
17 |
18 |     /// Maps the raw return value from the keychain services API into the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:149:43: error: cannot find type 'CFString' in scope
147 |
148 |
149 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassGenericPassword,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:167:39: error: cannot find type 'CFString' in scope
165 |
166 |
167 |         public var returnDictionary: [CFString: Any] {
    |                                       `- error: cannot find type 'CFString' in scope
168 |             return [
169 |                 kSecReturnAttributes: true,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:20:32: error: cannot find type 'CFString' in scope
18 |     /// `kSecMatchCaseInsensitive` or `kSecMatchLimit`, or item return result keys like `kSecReturnAttributes` or
19 |     /// `kSecReturnData`.
20 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
21 |
22 |     /// A dictionary describing how query results should be returned from the keychain services API.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:26:28: error: cannot find type 'CFString' in scope
24 |     /// This dictionary is combined with ``attributesDictionary`` when finding items. It is not used to delete items. It
25 |     /// should only contain item return result keys like `kSecReturnAttributes` or `kSecReturnData`.
26 |     var returnDictionary: [CFString: Any] { get }
   |                            `- error: cannot find type 'CFString' in scope
27 |
28 |     /// Maps the raw return value from the keychain services API into an array of the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:46:65: error: cannot find 'kSecAttrService' in scope
 44 |     init(attributes: [CFString: Any]) throws {
 45 |         self.init(
 46 |             service: try attributes.value(forKeychainAttribute: kSecAttrService, type: String.self),
    |                                                                 `- error: cannot find 'kSecAttrService' in scope
 47 |             account: try attributes.value(forKeychainAttribute: kSecAttrAccount, type: String.self),
 48 |             data: try attributes.value(forKeychainAttribute: kSecValueData, type: Data.self)
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:47:65: error: cannot find 'kSecAttrAccount' in scope
 45 |         self.init(
 46 |             service: try attributes.value(forKeychainAttribute: kSecAttrService, type: String.self),
 47 |             account: try attributes.value(forKeychainAttribute: kSecAttrAccount, type: String.self),
    |                                                                 `- error: cannot find 'kSecAttrAccount' in scope
 48 |             data: try attributes.value(forKeychainAttribute: kSecValueData, type: Data.self)
 49 |         )
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:48:62: error: cannot find 'kSecValueData' in scope
 46 |             service: try attributes.value(forKeychainAttribute: kSecAttrService, type: String.self),
 47 |             account: try attributes.value(forKeychainAttribute: kSecAttrAccount, type: String.self),
 48 |             data: try attributes.value(forKeychainAttribute: kSecValueData, type: Data.self)
    |                                                              `- error: cannot find 'kSecValueData' in scope
 49 |         )
 50 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:112:49: error: cannot find type 'CFString' in scope
110 |
111 |         public func mapAddedItem(_ rawItem: AnyObject) throws -> GenericPassword {
112 |             guard let attributes = rawItem as? [CFString: Any] else {
    |                                                 `- error: cannot find type 'CFString' in scope
113 |                 throw KeychainItemMappingError.dataCorrupted
114 |             }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:116:42: error: extra argument 'attributes' in call
114 |             }
115 |
116 |             return try .init(attributes: attributes)
    |                                          `- error: extra argument 'attributes' in call
117 |         }
118 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:116:29: error: missing arguments for parameters 'service', 'account', 'data' in call
  9 |
 10 | /// A generic password keychain item.
 11 | public struct GenericPassword: Hashable, Sendable {
    |               `- note: 'init(service:account:data:)' declared here
 12 |     /// The item’s service.
 13 |     public let service: String
    :
114 |             }
115 |
116 |             return try .init(attributes: attributes)
    |                             `- error: missing arguments for parameters 'service', 'account', 'data' in call
117 |         }
118 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:150:30: error: cannot find type 'CFString' in scope
148 |
149 |         public var attributesDictionary: [CFString: Any] {
150 |             var dictionary: [CFString: Any] = [
    |                              `- error: cannot find type 'CFString' in scope
151 |                 kSecClass: kSecClassGenericPassword,
152 |                 kSecUseDataProtectionKeychain: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:156:28: error: cannot find 'kSecAttrAccount' in scope
154 |
155 |             if let account = account {
156 |                 dictionary[kSecAttrAccount] = account
    |                            `- error: cannot find 'kSecAttrAccount' in scope
157 |             }
158 |
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:160:28: error: cannot find 'kSecAttrService' in scope
158 |
159 |             if let service = service {
160 |                 dictionary[kSecAttrService] = service
    |                            `- error: cannot find 'kSecAttrService' in scope
161 |             }
162 |
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:176:36: error: cannot find type 'CFString' in scope
174 |
175 |         public func mapMatchingItems(_ rawItems: AnyObject) throws -> [GenericPassword] {
176 |             let attributesArray: [[CFString: Any]]
    |                                    `- error: cannot find type 'CFString' in scope
177 |
178 |             if let singleItem = rawItems as? [CFString: Any] {
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:178:47: error: cannot find type 'CFString' in scope
176 |             let attributesArray: [[CFString: Any]]
177 |
178 |             if let singleItem = rawItems as? [CFString: Any] {
    |                                               `- error: cannot find type 'CFString' in scope
179 |                 attributesArray = [singleItem]
180 |             } else if let array = rawItems as? [[CFString: Any]] {
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:180:50: error: cannot find type 'CFString' in scope
178 |             if let singleItem = rawItems as? [CFString: Any] {
179 |                 attributesArray = [singleItem]
180 |             } else if let array = rawItems as? [[CFString: Any]] {
    |                                                  `- error: cannot find type 'CFString' in scope
181 |                 attributesArray = array
182 |             } else {
[9/12] Compiling DevKeychain KeychainItemMappingError.swift
[10/12] Compiling DevKeychain Dictionary+KeychainItemMapping.swift
/host/spi-builder-workspace/Sources/DevKeychain/Extensions/Dictionary+KeychainItemMapping.swift:10:35: error: cannot find type 'CFString' in scope
 8 | import Foundation
 9 |
10 | extension Dictionary where Key == CFString, Value == Any {
   |                                   `- error: cannot find type 'CFString' in scope
11 |     /// Accesses the value for an attribute of a specified type, throwing errors as appropriate.
12 |     ///
/host/spi-builder-workspace/Sources/DevKeychain/Extensions/Dictionary+KeychainItemMapping.swift:19:51: error: cannot find type 'CFString' in scope
17 |     ///   - attribute: The attribute to find in the dictionary.
18 |     ///   - type: The expected type of the attribute’s value.
19 |     func value<V>(forKeychainAttribute attribute: CFString, type: V.Type) throws -> V {
   |                                                   `- error: cannot find type 'CFString' in scope
20 |         guard let rawValue = self[attribute] else {
21 |             throw KeychainItemMappingError.attributeNotFound(attribute as String)
[11/12] Compiling DevKeychain KeychainServicesError.swift
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:13:19: error: cannot find type 'OSStatus' in scope
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |                   `- error: cannot find type 'OSStatus' in scope
14 |
15 |
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:11:8: error: type 'KeychainServicesError' does not conform to protocol 'Hashable'
 9 |
10 | /// An error from the keychain services API.
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
   |        `- error: type 'KeychainServicesError' does not conform to protocol 'Hashable'
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |         `- note: stored property type '<<error type>>' does not conform to protocol 'Hashable', preventing synthesized conformance of 'KeychainServicesError' to 'Hashable'
14 |
15 |
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:11:8: error: type 'KeychainServicesError' does not conform to protocol 'Equatable'
 9 |
10 | /// An error from the keychain services API.
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
   |        |- error: type 'KeychainServicesError' does not conform to protocol 'Equatable'
   |        `- note: add stubs for conformance
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |         `- note: stored property type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'KeychainServicesError' to 'Equatable'
14 |
15 |
Swift.==:1:24: note: candidate would match if 'KeychainServicesError' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'KeychainServicesError' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'KeychainServicesError' 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 'KeychainServicesError' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'KeychainServicesError' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'KeychainServicesError' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'KeychainServicesError' 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 'KeychainServicesError' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(KeychainServicesError, KeychainServicesError) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(KeychainServicesError, KeychainServicesError) -> Bool'
3 |
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:17:16: error: cannot find 'SecCopyErrorMessageString' in scope
15 |
16 |     var description: String {
17 |         return SecCopyErrorMessageString(osStatus, nil)
   |                `- error: cannot find 'SecCopyErrorMessageString' in scope
18 |             .map { $0 as String } ?? "Unknown Keychain error: \(osStatus)"
19 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:17:52: error: 'nil' requires a contextual type
15 |
16 |     var description: String {
17 |         return SecCopyErrorMessageString(osStatus, nil)
   |                                                    `- error: 'nil' requires a contextual type
18 |             .map { $0 as String } ?? "Unknown Keychain error: \(osStatus)"
19 |     }
[12/12] Compiling DevKeychain InternetPassword.swift
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:44:23: error: cannot find type 'CFString' in scope
 42 |     ///
 43 |     /// - Parameter attributes: A dictionary of attributes from the keychain services API.
 44 |     init(attributes: [CFString: Any]) throws {
    |                       `- error: cannot find type 'CFString' in scope
 45 |         self.init(
 46 |             server: try attributes.value(forKeychainAttribute: kSecAttrServer, type: String.self),
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:98:43: error: cannot find type 'CFString' in scope
 96 |
 97 |
 98 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
 99 |             return [
100 |                 kSecAttrAccount: account,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemAdditionAttributes.swift:16:32: error: cannot find type 'CFString' in scope
14 |
15 |     /// A dictionary-representation of the new item to pass to the keychain services API.
16 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
17 |
18 |     /// Maps the raw return value from the keychain services API into the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:149:43: error: cannot find type 'CFString' in scope
147 |
148 |
149 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassInternetPassword,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:167:39: error: cannot find type 'CFString' in scope
165 |
166 |
167 |         public var returnDictionary: [CFString: Any] {
    |                                       `- error: cannot find type 'CFString' in scope
168 |             return [
169 |                 kSecReturnAttributes: true,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:20:32: error: cannot find type 'CFString' in scope
18 |     /// `kSecMatchCaseInsensitive` or `kSecMatchLimit`, or item return result keys like `kSecReturnAttributes` or
19 |     /// `kSecReturnData`.
20 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
21 |
22 |     /// A dictionary describing how query results should be returned from the keychain services API.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:26:28: error: cannot find type 'CFString' in scope
24 |     /// This dictionary is combined with ``attributesDictionary`` when finding items. It is not used to delete items. It
25 |     /// should only contain item return result keys like `kSecReturnAttributes` or `kSecReturnData`.
26 |     var returnDictionary: [CFString: Any] { get }
   |                            `- error: cannot find type 'CFString' in scope
27 |
28 |     /// Maps the raw return value from the keychain services API into an array of the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:46:64: error: cannot find 'kSecAttrServer' in scope
 44 |     init(attributes: [CFString: Any]) throws {
 45 |         self.init(
 46 |             server: try attributes.value(forKeychainAttribute: kSecAttrServer, type: String.self),
    |                                                                `- error: cannot find 'kSecAttrServer' in scope
 47 |             account: try attributes.value(forKeychainAttribute: kSecAttrAccount, type: String.self),
 48 |             data: try attributes.value(forKeychainAttribute: kSecValueData, type: Data.self)
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:47:65: error: cannot find 'kSecAttrAccount' in scope
 45 |         self.init(
 46 |             server: try attributes.value(forKeychainAttribute: kSecAttrServer, type: String.self),
 47 |             account: try attributes.value(forKeychainAttribute: kSecAttrAccount, type: String.self),
    |                                                                 `- error: cannot find 'kSecAttrAccount' in scope
 48 |             data: try attributes.value(forKeychainAttribute: kSecValueData, type: Data.self)
 49 |         )
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:48:62: error: cannot find 'kSecValueData' in scope
 46 |             server: try attributes.value(forKeychainAttribute: kSecAttrServer, type: String.self),
 47 |             account: try attributes.value(forKeychainAttribute: kSecAttrAccount, type: String.self),
 48 |             data: try attributes.value(forKeychainAttribute: kSecValueData, type: Data.self)
    |                                                              `- error: cannot find 'kSecValueData' in scope
 49 |         )
 50 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:112:49: error: cannot find type 'CFString' in scope
110 |
111 |         public func mapAddedItem(_ rawItem: AnyObject) throws -> InternetPassword {
112 |             guard let attributes = rawItem as? [CFString: Any] else {
    |                                                 `- error: cannot find type 'CFString' in scope
113 |                 throw KeychainItemMappingError.dataCorrupted
114 |             }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:116:42: error: extra argument 'attributes' in call
114 |             }
115 |
116 |             return try .init(attributes: attributes)
    |                                          `- error: extra argument 'attributes' in call
117 |         }
118 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:116:29: error: missing arguments for parameters 'server', 'account', 'data' in call
  9 |
 10 | /// An internet password keychain item.
 11 | public struct InternetPassword: Hashable, Sendable {
    |               `- note: 'init(server:account:data:)' declared here
 12 |     /// The item’s server.
 13 |     public let server: String
    :
114 |             }
115 |
116 |             return try .init(attributes: attributes)
    |                             `- error: missing arguments for parameters 'server', 'account', 'data' in call
117 |         }
118 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:150:30: error: cannot find type 'CFString' in scope
148 |
149 |         public var attributesDictionary: [CFString: Any] {
150 |             var dictionary: [CFString: Any] = [
    |                              `- error: cannot find type 'CFString' in scope
151 |                 kSecClass: kSecClassInternetPassword,
152 |                 kSecUseDataProtectionKeychain: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:156:28: error: cannot find 'kSecAttrAccount' in scope
154 |
155 |             if let account = account {
156 |                 dictionary[kSecAttrAccount] = account
    |                            `- error: cannot find 'kSecAttrAccount' in scope
157 |             }
158 |
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:160:28: error: cannot find 'kSecAttrServer' in scope
158 |
159 |             if let server = server {
160 |                 dictionary[kSecAttrServer] = server
    |                            `- error: cannot find 'kSecAttrServer' in scope
161 |             }
162 |
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:176:36: error: cannot find type 'CFString' in scope
174 |
175 |         public func mapMatchingItems(_ rawItems: AnyObject) throws -> [InternetPassword] {
176 |             let attributesArray: [[CFString: Any]]
    |                                    `- error: cannot find type 'CFString' in scope
177 |
178 |             if let singleItem = rawItems as? [CFString: Any] {
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:178:47: error: cannot find type 'CFString' in scope
176 |             let attributesArray: [[CFString: Any]]
177 |
178 |             if let singleItem = rawItems as? [CFString: Any] {
    |                                               `- error: cannot find type 'CFString' in scope
179 |                 attributesArray = [singleItem]
180 |             } else if let array = rawItems as? [[CFString: Any]] {
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:180:50: error: cannot find type 'CFString' in scope
178 |             if let singleItem = rawItems as? [CFString: Any] {
179 |                 attributesArray = [singleItem]
180 |             } else if let array = rawItems as? [[CFString: Any]] {
    |                                                  `- error: cannot find type 'CFString' in scope
181 |                 attributesArray = array
182 |             } else {
BUILD FAILURE 6.2 linux