Build Information
Successful build of Haversack, reference main (a02118
), with Swift 6.2 (beta) for macOS (SPM) on 20 Jun 2025 23:35:44 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Build Log
========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jamf/Haversack.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jamf/Haversack
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at a02118c Improve HaversackEphemeralStrategy ergonomics
Cloned https://github.com/jamf/Haversack.git
Revision (git rev-parse @):
a02118c07e17acc916cadda05b9f6b15f0968ac3
SUCCESS checkout https://github.com/jamf/Haversack.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/jamf/Haversack.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/9] Write sources
[2/9] Copying PrivacyInfo.xcprivacy
[4/9] Write sources
[8/9] Write swift-version-1EA4D86E10B52AF.txt
[10/23] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[11/23] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[12/24] Compiling InternalCollectionsUtilities Descriptions.swift
[13/24] Compiling InternalCollectionsUtilities _UnsafeBitSet.swift
[14/24] Compiling InternalCollectionsUtilities _SortedCollection.swift
[15/24] Compiling InternalCollectionsUtilities UInt+first and last set bit.swift
[16/24] Compiling InternalCollectionsUtilities UInt+reversed.swift
[17/24] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[18/24] Compiling InternalCollectionsUtilities Integer rank.swift
[19/24] Compiling InternalCollectionsUtilities Debugging.swift
[20/24] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[21/24] Emitting module InternalCollectionsUtilities
[22/24] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[23/24] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[24/24] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[25/80] Compiling OrderedCollections OrderedSet+Codable.swift
[26/80] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[27/80] Compiling OrderedCollections OrderedSet+Descriptions.swift
[28/80] Compiling OrderedCollections OrderedSet+Diffing.swift
[29/80] Compiling OrderedCollections OrderedSet+Equatable.swift
[30/80] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[31/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formIntersection.swift
[32/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formSymmetricDifference.swift
[33/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formUnion.swift
[34/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra intersection.swift
[35/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isDisjoint.swift
[36/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isEqualSet.swift
[37/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSubset.swift
[38/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSuperset.swift
[39/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSubset.swift
[40/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSuperset.swift
[41/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtract.swift
[42/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtracting.swift
[43/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra symmetricDifference.swift
[44/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra union.swift
[45/86] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Basics.swift
[46/86] Compiling OrderedCollections OrderedSet+RandomAccessCollection.swift
[47/86] Compiling OrderedCollections OrderedSet+ReserveCapacity.swift
[48/86] Compiling OrderedCollections OrderedSet+Sendable.swift
[49/86] Compiling OrderedCollections _Hashtable+Header.swift
[50/86] Compiling OrderedCollections OrderedDictionary+Codable.swift
[51/86] Compiling OrderedCollections OrderedDictionary+CustomReflectable.swift
[52/86] Compiling OrderedCollections OrderedDictionary+Deprecations.swift
[53/86] Compiling OrderedCollections OrderedDictionary+Descriptions.swift
[54/86] Compiling OrderedCollections OrderedDictionary+Elements.SubSequence.swift
[55/86] Compiling OrderedCollections OrderedSet+Hashable.swift
[56/86] Compiling OrderedCollections OrderedSet+Initializers.swift
[57/86] Compiling OrderedCollections OrderedSet+Insertions.swift
[58/86] Compiling OrderedCollections OrderedSet+Invariants.swift
[59/86] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[60/86] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.swift
[61/86] Compiling OrderedCollections OrderedDictionary+Elements.swift
[62/86] Compiling OrderedCollections OrderedDictionary+Equatable.swift
[63/86] Compiling OrderedCollections OrderedDictionary+ExpressibleByDictionaryLiteral.swift
[64/86] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[65/86] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[66/86] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[67/86] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[68/86] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[69/86] Compiling OrderedCollections OrderedDictionary+Sendable.swift
[70/86] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[71/86] Compiling OrderedCollections OrderedDictionary+Values.swift
[72/86] Compiling OrderedCollections OrderedDictionary.swift
[73/86] Compiling OrderedCollections _HashTable+Bucket.swift
[74/86] Compiling OrderedCollections _HashTable+BucketIterator.swift
[75/86] Compiling OrderedCollections _HashTable+Constants.swift
[76/86] Compiling OrderedCollections _HashTable+CustomStringConvertible.swift
[77/86] Compiling OrderedCollections _HashTable+Testing.swift
[78/86] Compiling OrderedCollections _HashTable+UnsafeHandle.swift
[79/86] Compiling OrderedCollections _HashTable.swift
[80/86] Compiling OrderedCollections OrderedSet+SubSequence.swift
[81/86] Compiling OrderedCollections OrderedSet+Testing.swift
[82/86] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[83/86] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[84/86] Compiling OrderedCollections OrderedSet.swift
[85/86] Compiling OrderedCollections _UnsafeBitset.swift
[86/86] Emitting module OrderedCollections
[87/120] Emitting module Haversack
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
39 | var searchList: CFArray?
40 | let status = withUnsafeMutablePointer(to: &searchList) {
41 | SecKeychainCopyDomainSearchList(.system, UnsafeMutablePointer($0))
| `- warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
42 | }
43 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[88/123] Compiling Haversack KeychainItemRetrievability.swift
[89/123] Compiling Haversack RetrievabilityLevel.swift
[90/123] Compiling Haversack resource_bundle_accessor.swift
[91/123] Compiling Haversack GenericPasswordConvertible.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:11:58: warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
9 | public func first<T: KeychainQuerying>(where query: T) async throws -> T.Entity {
10 | try await withCheckedThrowingContinuation { continuation in
11 | first(where: query, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
12 | }
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:18:59: warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
16 | public func search<T: KeychainQuerying>(where query: T) async throws -> [T.Entity] {
17 | try await withCheckedThrowingContinuation { continuation in
18 | search(where: query, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
19 | }
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:26:109: warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
24 | public func save<T: KeychainStorable>(_ item: T, itemSecurity: ItemSecurity, updateExisting: Bool) async throws -> T {
25 | try await withCheckedThrowingContinuation { continuation in
26 | save(item, itemSecurity: itemSecurity, updateExisting: updateExisting, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
27 | }
28 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:33:98: warning: converting a value of type '(__shared sending Result<SecKey, any Error>) -> ()' to type '(Result<SecKey, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
31 | public func generateKey(fromConfig config: KeyGenerationConfig, itemSecurity: ItemSecurity) async throws -> SecKey {
32 | try await withCheckedThrowingContinuation { continuation in
33 | generateKey(fromConfig: config, itemSecurity: itemSecurity, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<SecKey, any Error>) -> ()' to type '(Result<SecKey, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
34 | }
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:40:107: warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
38 | public func delete<T: KeychainQuerying>(where query: T, treatNotFoundAsSuccess: Bool = true) async throws {
39 | let error = try await withCheckedThrowingContinuation { continuation in
40 | delete(where: query, treatNotFoundAsSuccess: treatNotFoundAsSuccess, completion: continuation.resume)
| |- warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
41 | }
42 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:51:99: warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
49 | public func delete<T: KeychainStorable>(_ item: T, treatNotFoundAsSuccess: Bool = true) async throws {
50 | let error = try await withCheckedThrowingContinuation { continuation in
51 | delete(item, treatNotFoundAsSuccess: treatNotFoundAsSuccess, completion: continuation.resume)
| |- warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
52 | }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:46:38: warning: capture of non-sendable type 'T.Type' in an isolated closure
44 | let result: Result<T.Entity, Error>
45 | do {
46 | let localQuery = try makeSearchQuery(query, singleItem: true)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
47 |
48 | let entity = try self.configuration.strategy.searchForOne(localQuery)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:41:50: warning: capture of non-sendable type 'T.Type' in an isolated closure
39 | /// - completion: A function/block to be called when the search operation is completed.
40 | /// - result: The item or an error will be given to the completion handler.
41 | public func first<T: KeychainQuerying>(where query: T, completionQueue: OperationQueue? = nil,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
42 | completion: @escaping (_ result: Result<T.Entity, Error>) -> Void) {
43 | configuration.serialQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:48:62: warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
46 | let localQuery = try makeSearchQuery(query, singleItem: true)
47 |
48 | let entity = try self.configuration.strategy.searchForOne(localQuery)
| `- warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
49 | result = .success(entity)
50 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:83:38: warning: capture of non-sendable type 'T.Type' in an isolated closure
81 | let result: Result<[T.Entity], Error>
82 | do {
83 | let localQuery = try makeSearchQuery(query, singleItem: true)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
84 |
85 | let entities = try self.configuration.strategy.search(localQuery)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:78:51: warning: capture of non-sendable type 'T.Type' in an isolated closure
76 | /// - completion: A function/block to be called when the search operation is completed.
77 | /// - result: An array of items or an error will be given to the completion handler.
78 | public func search<T: KeychainQuerying>(where query: T, completionQueue: OperationQueue? = nil,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
79 | completion: @escaping (_ result: Result<[T.Entity], Error>) -> Void) {
80 | configuration.serialQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:85:64: warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
83 | let localQuery = try makeSearchQuery(query, singleItem: true)
84 |
85 | let entities = try self.configuration.strategy.search(localQuery)
| `- warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
86 | result = .success(entities)
87 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:129:35: warning: capture of non-sendable type 'T.Type' in an isolated closure
127 |
128 | do {
129 | let theItem = try unsynchronizedSave(item, itemSecurity: itemSecurity, updateExisting: updateExisting)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
130 | result = .success(theItem)
131 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:122:45: warning: capture of non-sendable type 'T.Type' in an isolated closure
120 | /// - completion: A function/block to be called when the save operation is completed.
121 | /// - result: The original `item` that was saved or an error will be given to the completion handler.
122 | public func save<T: KeychainStorable>(_ item: T, itemSecurity: ItemSecurity, updateExisting: Bool,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
123 | completionQueue: OperationQueue? = nil,
124 | completion: @escaping (_ result: Result<T, Error>) -> Void) {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:175:26: warning: capture of non-sendable type 'T.Type' in an isolated closure
173 |
174 | do {
175 | try self.unsynchronizedDelete(item, treatNotFoundAsSuccess: treatNotFoundAsSuccess)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
176 | result = nil
177 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:168:47: warning: capture of non-sendable type 'T.Type' in an isolated closure
166 | /// - error: If an error occurs during the delete operation it will be given to the completion
167 | /// block; a `nil` represents no error.
168 | public func delete<T: KeychainStorable>(_ item: T, treatNotFoundAsSuccess: Bool = true,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
169 | completionQueue: OperationQueue? = nil,
170 | completion: @escaping (_ error: Error?) -> Void) {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:220:38: warning: capture of non-sendable type 'T.Type' in an isolated closure
218 |
219 | do {
220 | let localQuery = try makeDeleteQuery(query)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
221 | try self.configuration.strategy.delete(localQuery.query, treatNotFoundAsSuccess: treatNotFoundAsSuccess)
222 | result = nil
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:213:51: warning: capture of non-sendable type 'T.Type' in an isolated closure
211 | /// - error: If an error occurs during the delete operation it will be given to the completion
212 | /// block; a `nil` represents no error.
213 | public func delete<T: KeychainQuerying>(where query: T, treatNotFoundAsSuccess: Bool = true,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
214 | completionQueue: OperationQueue? = nil,
215 | completion: @escaping (_ error: Error?) -> Void) {
[92/123] Compiling Haversack Haversack+AsyncAwait.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:11:58: warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
9 | public func first<T: KeychainQuerying>(where query: T) async throws -> T.Entity {
10 | try await withCheckedThrowingContinuation { continuation in
11 | first(where: query, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
12 | }
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:18:59: warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
16 | public func search<T: KeychainQuerying>(where query: T) async throws -> [T.Entity] {
17 | try await withCheckedThrowingContinuation { continuation in
18 | search(where: query, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
19 | }
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:26:109: warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
24 | public func save<T: KeychainStorable>(_ item: T, itemSecurity: ItemSecurity, updateExisting: Bool) async throws -> T {
25 | try await withCheckedThrowingContinuation { continuation in
26 | save(item, itemSecurity: itemSecurity, updateExisting: updateExisting, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
27 | }
28 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:33:98: warning: converting a value of type '(__shared sending Result<SecKey, any Error>) -> ()' to type '(Result<SecKey, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
31 | public func generateKey(fromConfig config: KeyGenerationConfig, itemSecurity: ItemSecurity) async throws -> SecKey {
32 | try await withCheckedThrowingContinuation { continuation in
33 | generateKey(fromConfig: config, itemSecurity: itemSecurity, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<SecKey, any Error>) -> ()' to type '(Result<SecKey, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
34 | }
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:40:107: warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
38 | public func delete<T: KeychainQuerying>(where query: T, treatNotFoundAsSuccess: Bool = true) async throws {
39 | let error = try await withCheckedThrowingContinuation { continuation in
40 | delete(where: query, treatNotFoundAsSuccess: treatNotFoundAsSuccess, completion: continuation.resume)
| |- warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
41 | }
42 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:51:99: warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
49 | public func delete<T: KeychainStorable>(_ item: T, treatNotFoundAsSuccess: Bool = true) async throws {
50 | let error = try await withCheckedThrowingContinuation { continuation in
51 | delete(item, treatNotFoundAsSuccess: treatNotFoundAsSuccess, completion: continuation.resume)
| |- warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
52 | }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:46:38: warning: capture of non-sendable type 'T.Type' in an isolated closure
44 | let result: Result<T.Entity, Error>
45 | do {
46 | let localQuery = try makeSearchQuery(query, singleItem: true)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
47 |
48 | let entity = try self.configuration.strategy.searchForOne(localQuery)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:41:50: warning: capture of non-sendable type 'T.Type' in an isolated closure
39 | /// - completion: A function/block to be called when the search operation is completed.
40 | /// - result: The item or an error will be given to the completion handler.
41 | public func first<T: KeychainQuerying>(where query: T, completionQueue: OperationQueue? = nil,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
42 | completion: @escaping (_ result: Result<T.Entity, Error>) -> Void) {
43 | configuration.serialQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:48:62: warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
46 | let localQuery = try makeSearchQuery(query, singleItem: true)
47 |
48 | let entity = try self.configuration.strategy.searchForOne(localQuery)
| `- warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
49 | result = .success(entity)
50 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:83:38: warning: capture of non-sendable type 'T.Type' in an isolated closure
81 | let result: Result<[T.Entity], Error>
82 | do {
83 | let localQuery = try makeSearchQuery(query, singleItem: true)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
84 |
85 | let entities = try self.configuration.strategy.search(localQuery)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:78:51: warning: capture of non-sendable type 'T.Type' in an isolated closure
76 | /// - completion: A function/block to be called when the search operation is completed.
77 | /// - result: An array of items or an error will be given to the completion handler.
78 | public func search<T: KeychainQuerying>(where query: T, completionQueue: OperationQueue? = nil,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
79 | completion: @escaping (_ result: Result<[T.Entity], Error>) -> Void) {
80 | configuration.serialQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:85:64: warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
83 | let localQuery = try makeSearchQuery(query, singleItem: true)
84 |
85 | let entities = try self.configuration.strategy.search(localQuery)
| `- warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
86 | result = .success(entities)
87 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:129:35: warning: capture of non-sendable type 'T.Type' in an isolated closure
127 |
128 | do {
129 | let theItem = try unsynchronizedSave(item, itemSecurity: itemSecurity, updateExisting: updateExisting)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
130 | result = .success(theItem)
131 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:122:45: warning: capture of non-sendable type 'T.Type' in an isolated closure
120 | /// - completion: A function/block to be called when the save operation is completed.
121 | /// - result: The original `item` that was saved or an error will be given to the completion handler.
122 | public func save<T: KeychainStorable>(_ item: T, itemSecurity: ItemSecurity, updateExisting: Bool,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
123 | completionQueue: OperationQueue? = nil,
124 | completion: @escaping (_ result: Result<T, Error>) -> Void) {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:175:26: warning: capture of non-sendable type 'T.Type' in an isolated closure
173 |
174 | do {
175 | try self.unsynchronizedDelete(item, treatNotFoundAsSuccess: treatNotFoundAsSuccess)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
176 | result = nil
177 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:168:47: warning: capture of non-sendable type 'T.Type' in an isolated closure
166 | /// - error: If an error occurs during the delete operation it will be given to the completion
167 | /// block; a `nil` represents no error.
168 | public func delete<T: KeychainStorable>(_ item: T, treatNotFoundAsSuccess: Bool = true,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
169 | completionQueue: OperationQueue? = nil,
170 | completion: @escaping (_ error: Error?) -> Void) {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:220:38: warning: capture of non-sendable type 'T.Type' in an isolated closure
218 |
219 | do {
220 | let localQuery = try makeDeleteQuery(query)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
221 | try self.configuration.strategy.delete(localQuery.query, treatNotFoundAsSuccess: treatNotFoundAsSuccess)
222 | result = nil
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:213:51: warning: capture of non-sendable type 'T.Type' in an isolated closure
211 | /// - error: If an error occurs during the delete operation it will be given to the completion
212 | /// block; a `nil` represents no error.
213 | public func delete<T: KeychainQuerying>(where query: T, treatNotFoundAsSuccess: Bool = true,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
214 | completionQueue: OperationQueue? = nil,
215 | completion: @escaping (_ error: Error?) -> Void) {
[93/123] Compiling Haversack Haversack.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:11:58: warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
9 | public func first<T: KeychainQuerying>(where query: T) async throws -> T.Entity {
10 | try await withCheckedThrowingContinuation { continuation in
11 | first(where: query, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
12 | }
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:18:59: warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
16 | public func search<T: KeychainQuerying>(where query: T) async throws -> [T.Entity] {
17 | try await withCheckedThrowingContinuation { continuation in
18 | search(where: query, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
19 | }
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:26:109: warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
24 | public func save<T: KeychainStorable>(_ item: T, itemSecurity: ItemSecurity, updateExisting: Bool) async throws -> T {
25 | try await withCheckedThrowingContinuation { continuation in
26 | save(item, itemSecurity: itemSecurity, updateExisting: updateExisting, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
27 | }
28 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:33:98: warning: converting a value of type '(__shared sending Result<SecKey, any Error>) -> ()' to type '(Result<SecKey, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
31 | public func generateKey(fromConfig config: KeyGenerationConfig, itemSecurity: ItemSecurity) async throws -> SecKey {
32 | try await withCheckedThrowingContinuation { continuation in
33 | generateKey(fromConfig: config, itemSecurity: itemSecurity, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<SecKey, any Error>) -> ()' to type '(Result<SecKey, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
34 | }
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:40:107: warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
38 | public func delete<T: KeychainQuerying>(where query: T, treatNotFoundAsSuccess: Bool = true) async throws {
39 | let error = try await withCheckedThrowingContinuation { continuation in
40 | delete(where: query, treatNotFoundAsSuccess: treatNotFoundAsSuccess, completion: continuation.resume)
| |- warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
41 | }
42 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:51:99: warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
49 | public func delete<T: KeychainStorable>(_ item: T, treatNotFoundAsSuccess: Bool = true) async throws {
50 | let error = try await withCheckedThrowingContinuation { continuation in
51 | delete(item, treatNotFoundAsSuccess: treatNotFoundAsSuccess, completion: continuation.resume)
| |- warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
52 | }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:46:38: warning: capture of non-sendable type 'T.Type' in an isolated closure
44 | let result: Result<T.Entity, Error>
45 | do {
46 | let localQuery = try makeSearchQuery(query, singleItem: true)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
47 |
48 | let entity = try self.configuration.strategy.searchForOne(localQuery)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:41:50: warning: capture of non-sendable type 'T.Type' in an isolated closure
39 | /// - completion: A function/block to be called when the search operation is completed.
40 | /// - result: The item or an error will be given to the completion handler.
41 | public func first<T: KeychainQuerying>(where query: T, completionQueue: OperationQueue? = nil,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
42 | completion: @escaping (_ result: Result<T.Entity, Error>) -> Void) {
43 | configuration.serialQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:48:62: warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
46 | let localQuery = try makeSearchQuery(query, singleItem: true)
47 |
48 | let entity = try self.configuration.strategy.searchForOne(localQuery)
| `- warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
49 | result = .success(entity)
50 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:83:38: warning: capture of non-sendable type 'T.Type' in an isolated closure
81 | let result: Result<[T.Entity], Error>
82 | do {
83 | let localQuery = try makeSearchQuery(query, singleItem: true)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
84 |
85 | let entities = try self.configuration.strategy.search(localQuery)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:78:51: warning: capture of non-sendable type 'T.Type' in an isolated closure
76 | /// - completion: A function/block to be called when the search operation is completed.
77 | /// - result: An array of items or an error will be given to the completion handler.
78 | public func search<T: KeychainQuerying>(where query: T, completionQueue: OperationQueue? = nil,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
79 | completion: @escaping (_ result: Result<[T.Entity], Error>) -> Void) {
80 | configuration.serialQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:85:64: warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
83 | let localQuery = try makeSearchQuery(query, singleItem: true)
84 |
85 | let entities = try self.configuration.strategy.search(localQuery)
| `- warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
86 | result = .success(entities)
87 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:129:35: warning: capture of non-sendable type 'T.Type' in an isolated closure
127 |
128 | do {
129 | let theItem = try unsynchronizedSave(item, itemSecurity: itemSecurity, updateExisting: updateExisting)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
130 | result = .success(theItem)
131 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:122:45: warning: capture of non-sendable type 'T.Type' in an isolated closure
120 | /// - completion: A function/block to be called when the save operation is completed.
121 | /// - result: The original `item` that was saved or an error will be given to the completion handler.
122 | public func save<T: KeychainStorable>(_ item: T, itemSecurity: ItemSecurity, updateExisting: Bool,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
123 | completionQueue: OperationQueue? = nil,
124 | completion: @escaping (_ result: Result<T, Error>) -> Void) {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:175:26: warning: capture of non-sendable type 'T.Type' in an isolated closure
173 |
174 | do {
175 | try self.unsynchronizedDelete(item, treatNotFoundAsSuccess: treatNotFoundAsSuccess)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
176 | result = nil
177 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:168:47: warning: capture of non-sendable type 'T.Type' in an isolated closure
166 | /// - error: If an error occurs during the delete operation it will be given to the completion
167 | /// block; a `nil` represents no error.
168 | public func delete<T: KeychainStorable>(_ item: T, treatNotFoundAsSuccess: Bool = true,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
169 | completionQueue: OperationQueue? = nil,
170 | completion: @escaping (_ error: Error?) -> Void) {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:220:38: warning: capture of non-sendable type 'T.Type' in an isolated closure
218 |
219 | do {
220 | let localQuery = try makeDeleteQuery(query)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
221 | try self.configuration.strategy.delete(localQuery.query, treatNotFoundAsSuccess: treatNotFoundAsSuccess)
222 | result = nil
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:213:51: warning: capture of non-sendable type 'T.Type' in an isolated closure
211 | /// - error: If an error occurs during the delete operation it will be given to the completion
212 | /// block; a `nil` represents no error.
213 | public func delete<T: KeychainQuerying>(where query: T, treatNotFoundAsSuccess: Bool = true,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
214 | completionQueue: OperationQueue? = nil,
215 | completion: @escaping (_ error: Error?) -> Void) {
[94/123] Compiling Haversack HaversackConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:11:58: warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
9 | public func first<T: KeychainQuerying>(where query: T) async throws -> T.Entity {
10 | try await withCheckedThrowingContinuation { continuation in
11 | first(where: query, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<T.Entity, any Error>) -> ()' to type '(Result<T.Entity, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
12 | }
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:18:59: warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
16 | public func search<T: KeychainQuerying>(where query: T) async throws -> [T.Entity] {
17 | try await withCheckedThrowingContinuation { continuation in
18 | search(where: query, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<[T.Entity], any Error>) -> ()' to type '(Result<[T.Entity], any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
19 | }
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:26:109: warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
24 | public func save<T: KeychainStorable>(_ item: T, itemSecurity: ItemSecurity, updateExisting: Bool) async throws -> T {
25 | try await withCheckedThrowingContinuation { continuation in
26 | save(item, itemSecurity: itemSecurity, updateExisting: updateExisting, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<T, any Error>) -> ()' to type '(Result<T, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
27 | }
28 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:33:98: warning: converting a value of type '(__shared sending Result<SecKey, any Error>) -> ()' to type '(Result<SecKey, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
31 | public func generateKey(fromConfig config: KeyGenerationConfig, itemSecurity: ItemSecurity) async throws -> SecKey {
32 | try await withCheckedThrowingContinuation { continuation in
33 | generateKey(fromConfig: config, itemSecurity: itemSecurity, completion: continuation.resume)
| |- warning: converting a value of type '(__shared sending Result<SecKey, any Error>) -> ()' to type '(Result<SecKey, any Error>) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
34 | }
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:40:107: warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
38 | public func delete<T: KeychainQuerying>(where query: T, treatNotFoundAsSuccess: Bool = true) async throws {
39 | let error = try await withCheckedThrowingContinuation { continuation in
40 | delete(where: query, treatNotFoundAsSuccess: treatNotFoundAsSuccess, completion: continuation.resume)
| |- warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
41 | }
42 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack+AsyncAwait.swift:51:99: warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
49 | public func delete<T: KeychainStorable>(_ item: T, treatNotFoundAsSuccess: Bool = true) async throws {
50 | let error = try await withCheckedThrowingContinuation { continuation in
51 | delete(item, treatNotFoundAsSuccess: treatNotFoundAsSuccess, completion: continuation.resume)
| |- warning: converting a value of type '(sending (any Error)?) -> ()' to type '((any Error)?) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
52 | }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:46:38: warning: capture of non-sendable type 'T.Type' in an isolated closure
44 | let result: Result<T.Entity, Error>
45 | do {
46 | let localQuery = try makeSearchQuery(query, singleItem: true)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
47 |
48 | let entity = try self.configuration.strategy.searchForOne(localQuery)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:41:50: warning: capture of non-sendable type 'T.Type' in an isolated closure
39 | /// - completion: A function/block to be called when the search operation is completed.
40 | /// - result: The item or an error will be given to the completion handler.
41 | public func first<T: KeychainQuerying>(where query: T, completionQueue: OperationQueue? = nil,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
42 | completion: @escaping (_ result: Result<T.Entity, Error>) -> Void) {
43 | configuration.serialQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:48:62: warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
46 | let localQuery = try makeSearchQuery(query, singleItem: true)
47 |
48 | let entity = try self.configuration.strategy.searchForOne(localQuery)
| `- warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
49 | result = .success(entity)
50 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:83:38: warning: capture of non-sendable type 'T.Type' in an isolated closure
81 | let result: Result<[T.Entity], Error>
82 | do {
83 | let localQuery = try makeSearchQuery(query, singleItem: true)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
84 |
85 | let entities = try self.configuration.strategy.search(localQuery)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:78:51: warning: capture of non-sendable type 'T.Type' in an isolated closure
76 | /// - completion: A function/block to be called when the search operation is completed.
77 | /// - result: An array of items or an error will be given to the completion handler.
78 | public func search<T: KeychainQuerying>(where query: T, completionQueue: OperationQueue? = nil,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
79 | completion: @escaping (_ result: Result<[T.Entity], Error>) -> Void) {
80 | configuration.serialQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:85:64: warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
83 | let localQuery = try makeSearchQuery(query, singleItem: true)
84 |
85 | let entities = try self.configuration.strategy.search(localQuery)
| `- warning: capture of non-sendable type 'T.Entity.Type' in an isolated closure
86 | result = .success(entities)
87 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:129:35: warning: capture of non-sendable type 'T.Type' in an isolated closure
127 |
128 | do {
129 | let theItem = try unsynchronizedSave(item, itemSecurity: itemSecurity, updateExisting: updateExisting)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
130 | result = .success(theItem)
131 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:122:45: warning: capture of non-sendable type 'T.Type' in an isolated closure
120 | /// - completion: A function/block to be called when the save operation is completed.
121 | /// - result: The original `item` that was saved or an error will be given to the completion handler.
122 | public func save<T: KeychainStorable>(_ item: T, itemSecurity: ItemSecurity, updateExisting: Bool,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
123 | completionQueue: OperationQueue? = nil,
124 | completion: @escaping (_ result: Result<T, Error>) -> Void) {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:175:26: warning: capture of non-sendable type 'T.Type' in an isolated closure
173 |
174 | do {
175 | try self.unsynchronizedDelete(item, treatNotFoundAsSuccess: treatNotFoundAsSuccess)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
176 | result = nil
177 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:168:47: warning: capture of non-sendable type 'T.Type' in an isolated closure
166 | /// - error: If an error occurs during the delete operation it will be given to the completion
167 | /// block; a `nil` represents no error.
168 | public func delete<T: KeychainStorable>(_ item: T, treatNotFoundAsSuccess: Bool = true,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
169 | completionQueue: OperationQueue? = nil,
170 | completion: @escaping (_ error: Error?) -> Void) {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:220:38: warning: capture of non-sendable type 'T.Type' in an isolated closure
218 |
219 | do {
220 | let localQuery = try makeDeleteQuery(query)
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
221 | try self.configuration.strategy.delete(localQuery.query, treatNotFoundAsSuccess: treatNotFoundAsSuccess)
222 | result = nil
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Haversack.swift:213:51: warning: capture of non-sendable type 'T.Type' in an isolated closure
211 | /// - error: If an error occurs during the delete operation it will be given to the completion
212 | /// block; a `nil` represents no error.
213 | public func delete<T: KeychainQuerying>(where query: T, treatNotFoundAsSuccess: Bool = true,
| `- warning: capture of non-sendable type 'T.Type' in an isolated closure
214 | completionQueue: OperationQueue? = nil,
215 | completion: @escaping (_ error: Error?) -> Void) {
[95/123] Compiling Haversack CertificateEntity.swift
[96/123] Compiling Haversack Data+X501Name.swift
[97/123] Compiling Haversack GenericPasswordEntity.swift
[98/123] Compiling Haversack IdentityEntity.swift
[99/123] Compiling Haversack KeychainPortable.swift
[100/123] Compiling Haversack PassphraseStrategy.swift
[101/123] Compiling Haversack PrivateKeyImporting.swift
[102/123] Compiling Haversack KeyGenerationConfig.swift
[103/123] Compiling Haversack Logs.swift
[104/123] Compiling Haversack CertificateBaseQuerying.swift
[105/123] Compiling Haversack CertificateQuery.swift
[106/123] Compiling Haversack GenericPasswordQuery.swift
[107/123] Compiling Haversack IdentityQuery.swift
[108/123] Compiling Haversack InternetPasswordQuery.swift
[109/123] Compiling Haversack KeyBaseQuerying.swift
[110/123] Compiling Haversack HaversackError.swift
[111/123] Compiling Haversack HaversackStrategy.swift
[112/123] Compiling Haversack KeychainExportConfig.swift
[113/123] Compiling Haversack KeychainImportConfig.swift
[114/123] Compiling Haversack KeyQuery.swift
[115/123] Compiling Haversack KeychainQueryOptions.swift
[116/123] Compiling Haversack KeychainQuerying.swift
[117/123] Compiling Haversack PasswordBaseQuerying.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
39 | var searchList: CFArray?
40 | let status = withUnsafeMutablePointer(to: &searchList) {
41 | SecKeychainCopyDomainSearchList(.system, UnsafeMutablePointer($0))
| `- warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
42 | }
43 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:85:13: warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
83 | let pathName = UnsafeMutablePointer<CChar>.allocate(capacity: Int(pathLength))
84 | let status = withUnsafeMutablePointer(to: &pathLength) { pathLength in
85 | SecKeychainGetPath(reference, pathLength, pathName)
| `- warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
86 | }
87 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:127:22: warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
125 | func open() throws {
126 | os_log("Attempting to open keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
127 | let status = SecKeychainOpen(path, &reference)
| `- warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
128 | if status != errSecSuccess {
129 | os_log("SecKeychainOpen returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:159:22: warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
157 |
158 | os_log("Attempting to create keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
159 | let status = SecKeychainCreate(path, UInt32(rawPassword.count), rawPassword, false, nil, &reference)
| `- warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
160 | if status != errSecSuccess {
161 | os_log("SecKeychainCreate returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:170:22: warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
168 | public func delete() throws {
169 | os_log("Attempting to delete keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
170 | let status = SecKeychainDelete(reference)
| `- warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
171 | if status != errSecSuccess {
172 | os_log("SecKeychainDelete returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:186:22: warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
184 |
185 | var rawStatus: SecKeychainStatus = .zero
186 | let status = SecKeychainGetStatus(keychain, &rawStatus)
| `- warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
187 | if status == errSecSuccess {
188 | let keychainStatus = KeychainStatusOptions(rawValue: rawStatus)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:206:22: warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
204 |
205 | os_log("Attempting to lock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
206 | let status = SecKeychainLock(keychain)
| `- warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
207 | if status != errSecSuccess {
208 | os_log("SecKeychainLock returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:228:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
226 | // We can't unlock the system keychain with our password; prompt the user if needed.
227 | os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
228 | status = SecKeychainUnlock(keychain, 0, nil, false)
| `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
229 | } else {
230 | guard let passwordFunc = passwordProvider else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:238:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
236 | let rawPassword = passwordFunc(path)
237 | os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
238 | status = SecKeychainUnlock(keychain, UInt32(rawPassword.count), rawPassword, true)
| `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
239 | }
240 | if status != errSecSuccess {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[118/123] Compiling Haversack ItemSecurity.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
39 | var searchList: CFArray?
40 | let status = withUnsafeMutablePointer(to: &searchList) {
41 | SecKeychainCopyDomainSearchList(.system, UnsafeMutablePointer($0))
| `- warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
42 | }
43 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:85:13: warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
83 | let pathName = UnsafeMutablePointer<CChar>.allocate(capacity: Int(pathLength))
84 | let status = withUnsafeMutablePointer(to: &pathLength) { pathLength in
85 | SecKeychainGetPath(reference, pathLength, pathName)
| `- warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
86 | }
87 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:127:22: warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
125 | func open() throws {
126 | os_log("Attempting to open keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
127 | let status = SecKeychainOpen(path, &reference)
| `- warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
128 | if status != errSecSuccess {
129 | os_log("SecKeychainOpen returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:159:22: warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
157 |
158 | os_log("Attempting to create keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
159 | let status = SecKeychainCreate(path, UInt32(rawPassword.count), rawPassword, false, nil, &reference)
| `- warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
160 | if status != errSecSuccess {
161 | os_log("SecKeychainCreate returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:170:22: warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
168 | public func delete() throws {
169 | os_log("Attempting to delete keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
170 | let status = SecKeychainDelete(reference)
| `- warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
171 | if status != errSecSuccess {
172 | os_log("SecKeychainDelete returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:186:22: warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
184 |
185 | var rawStatus: SecKeychainStatus = .zero
186 | let status = SecKeychainGetStatus(keychain, &rawStatus)
| `- warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
187 | if status == errSecSuccess {
188 | let keychainStatus = KeychainStatusOptions(rawValue: rawStatus)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:206:22: warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
204 |
205 | os_log("Attempting to lock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
206 | let status = SecKeychainLock(keychain)
| `- warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
207 | if status != errSecSuccess {
208 | os_log("SecKeychainLock returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:228:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
226 | // We can't unlock the system keychain with our password; prompt the user if needed.
227 | os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
228 | status = SecKeychainUnlock(keychain, 0, nil, false)
| `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
229 | } else {
230 | guard let passwordFunc = passwordProvider else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:238:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
236 | let rawPassword = passwordFunc(path)
237 | os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
238 | status = SecKeychainUnlock(keychain, UInt32(rawPassword.count), rawPassword, true)
| `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
239 | }
240 | if status != errSecSuccess {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[119/123] Compiling Haversack KeychainFile.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
39 | var searchList: CFArray?
40 | let status = withUnsafeMutablePointer(to: &searchList) {
41 | SecKeychainCopyDomainSearchList(.system, UnsafeMutablePointer($0))
| `- warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
42 | }
43 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:85:13: warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
83 | let pathName = UnsafeMutablePointer<CChar>.allocate(capacity: Int(pathLength))
84 | let status = withUnsafeMutablePointer(to: &pathLength) { pathLength in
85 | SecKeychainGetPath(reference, pathLength, pathName)
| `- warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
86 | }
87 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:127:22: warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
125 | func open() throws {
126 | os_log("Attempting to open keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
127 | let status = SecKeychainOpen(path, &reference)
| `- warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
128 | if status != errSecSuccess {
129 | os_log("SecKeychainOpen returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:159:22: warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
157 |
158 | os_log("Attempting to create keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
159 | let status = SecKeychainCreate(path, UInt32(rawPassword.count), rawPassword, false, nil, &reference)
| `- warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
160 | if status != errSecSuccess {
161 | os_log("SecKeychainCreate returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:170:22: warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
168 | public func delete() throws {
169 | os_log("Attempting to delete keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
170 | let status = SecKeychainDelete(reference)
| `- warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
171 | if status != errSecSuccess {
172 | os_log("SecKeychainDelete returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:186:22: warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
184 |
185 | var rawStatus: SecKeychainStatus = .zero
186 | let status = SecKeychainGetStatus(keychain, &rawStatus)
| `- warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
187 | if status == errSecSuccess {
188 | let keychainStatus = KeychainStatusOptions(rawValue: rawStatus)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:206:22: warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
204 |
205 | os_log("Attempting to lock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
206 | let status = SecKeychainLock(keychain)
| `- warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
207 | if status != errSecSuccess {
208 | os_log("SecKeychainLock returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:228:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
226 | // We can't unlock the system keychain with our password; prompt the user if needed.
227 | os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
228 | status = SecKeychainUnlock(keychain, 0, nil, false)
| `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
229 | } else {
230 | guard let passwordFunc = passwordProvider else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:238:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
236 | let rawPassword = passwordFunc(path)
237 | os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
238 | status = SecKeychainUnlock(keychain, UInt32(rawPassword.count), rawPassword, true)
| `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated [#DeprecatedDeclaration]
239 | }
240 | if status != errSecSuccess {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[120/123] Compiling Haversack InternetPasswordEntity.swift
[121/123] Compiling Haversack KeyEntity.swift
[122/123] Compiling Haversack KeychainStorable.swift
[123/123] Compiling Haversack PasswordBaseEntity.swift
[124/129] Compiling HaversackCryptoKit GenericPasswordConvertible+CryptoKit.swift
[125/129] Compiling HaversackCryptoKit SecKeyConvertible.swift
[126/129] Emitting module HaversackCryptoKit
[127/129] Compiling HaversackMock HaversackEphemeralStrategy.swift
[128/129] Compiling HaversackMock HaversackEphemeralStrategy+mocking.swift
[129/129] Emitting module HaversackMock
Build complete! (29.26s)
Fetching https://github.com/apple/swift-collections
Fetching https://github.com/apple/swift-docc-plugin
[1/2082] Fetching swift-docc-plugin
[210/18722] Fetching swift-docc-plugin, swift-collections
Fetched https://github.com/apple/swift-collections from cache (1.72s)
Fetched https://github.com/apple/swift-docc-plugin from cache (1.72s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.4 (4.38s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3413] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.23s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.83s)
Computing version for https://github.com/apple/swift-collections
Computed https://github.com/apple/swift-collections at 1.2.0 (0.50s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.4.4
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-collections
Working copy of https://github.com/apple/swift-collections resolved at 1.2.0
Build complete.
{
"dependencies" : [
{
"identity" : "swift-collections",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-collections"
},
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "Haversack",
"name" : "Haversack",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "12.0"
},
{
"name" : "visionos",
"version" : "1.0"
},
{
"name" : "watchos",
"version" : "5.0"
}
],
"products" : [
{
"name" : "Haversack",
"targets" : [
"Haversack"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "HaversackCryptoKit",
"targets" : [
"HaversackCryptoKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "HaversackMock",
"targets" : [
"HaversackMock"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "HaversackTests",
"module_type" : "SwiftTarget",
"name" : "HaversackTests",
"path" : "Tests/HaversackTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/HaversackTests/TestResources",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"CertificateIntegrationTests.swift",
"Data+X501NameTests.swift",
"EphemeralStrategyTests.swift",
"GenericPasswordConvertibleTests.swift",
"GenericPasswordIntegrationTests.swift",
"HaversackAsyncAwaitTests.swift",
"HaversackTests.swift",
"IdentityIntegrationTests.swift",
"InternetPasswordIntegrationTests.swift",
"KeyGenerationConfigTests.swift",
"KeyGenerationIntegrationTests.swift",
"KeychainExportConfigTests.swift",
"KeychainExportIntegrationTests.swift",
"KeychainFileIntegrationTests.swift",
"KeychainImportConfigTests.swift",
"KeychainImportIntegrationTests.swift",
"QueryCertificateTests.swift",
"QueryIdentityTests.swift",
"QueryKeyTests.swift",
"QueryPasswordTests.swift",
"SystemKeychainIntegrationTests.swift",
"XCTestCase+TestResources.swift"
],
"target_dependencies" : [
"HaversackMock"
],
"type" : "test"
},
{
"c99name" : "HaversackMock",
"module_type" : "SwiftTarget",
"name" : "HaversackMock",
"path" : "Sources/HaversackMock",
"product_memberships" : [
"HaversackMock"
],
"sources" : [
"HaversackEphemeralStrategy+mocking.swift",
"HaversackEphemeralStrategy.swift"
],
"target_dependencies" : [
"Haversack"
],
"type" : "library"
},
{
"c99name" : "HaversackCryptoKit",
"module_type" : "SwiftTarget",
"name" : "HaversackCryptoKit",
"path" : "Sources/HaversackCryptoKit",
"product_memberships" : [
"HaversackCryptoKit"
],
"sources" : [
"GenericPasswordConvertible+CryptoKit.swift",
"SecKeyConvertible.swift"
],
"target_dependencies" : [
"Haversack"
],
"type" : "library"
},
{
"c99name" : "Haversack",
"module_type" : "SwiftTarget",
"name" : "Haversack",
"path" : "Sources/Haversack",
"product_dependencies" : [
"OrderedCollections"
],
"product_memberships" : [
"Haversack",
"HaversackCryptoKit",
"HaversackMock"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Resources/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Entities/CertificateEntity.swift",
"Entities/Data+X501Name.swift",
"Entities/GenericPasswordEntity.swift",
"Entities/IdentityEntity.swift",
"Entities/InternetPasswordEntity.swift",
"Entities/KeyEntity.swift",
"Entities/KeychainStorable.swift",
"Entities/PasswordBaseEntity.swift",
"GenericPasswordConvertible.swift",
"Haversack+AsyncAwait.swift",
"Haversack.swift",
"HaversackConfiguration.swift",
"HaversackError.swift",
"HaversackStrategy.swift",
"ImportExport/KeychainExportConfig.swift",
"ImportExport/KeychainImportConfig.swift",
"ImportExport/KeychainPortable.swift",
"ImportExport/PassphraseStrategy.swift",
"ImportExport/PrivateKeyImporting.swift",
"KeyGenerationConfig.swift",
"Logs.swift",
"Queries/CertificateBaseQuerying.swift",
"Queries/CertificateQuery.swift",
"Queries/GenericPasswordQuery.swift",
"Queries/IdentityQuery.swift",
"Queries/InternetPasswordQuery.swift",
"Queries/KeyBaseQuerying.swift",
"Queries/KeyQuery.swift",
"Queries/KeychainQueryOptions.swift",
"Queries/KeychainQuerying.swift",
"Queries/PasswordBaseQuerying.swift",
"Security/ItemSecurity.swift",
"Security/KeychainFile.swift",
"Security/KeychainItemRetrievability.swift",
"Security/RetrievabilityLevel.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.