Build Information
Successful build of Swiftchain, reference main (ab0409
), with Swift 6.0 for macOS (SPM) on 1 Nov 2024 14:49:29 UTC.
Swift 6 data race errors: 10
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/sbertix/Swiftchain.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/sbertix/Swiftchain
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at ab0409e Update to `1.0.5`
Cloned https://github.com/sbertix/Swiftchain.git
Revision (git rev-parse @):
ab0409e62f1629bc1a153f41dec5856a3c05a548
SUCCESS checkout https://github.com/sbertix/Swiftchain.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "swiftchain",
"name": "Swiftchain",
"url": "https://github.com/sbertix/Swiftchain.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Swiftchain",
"dependencies": [
]
}
]
}
Fetching https://github.com/sbertix/Swiftchain.git
[1/123] Fetching swiftchain
Fetched https://github.com/sbertix/Swiftchain.git from cache (0.69s)
Creating working copy for https://github.com/sbertix/Swiftchain.git
Working copy of https://github.com/sbertix/Swiftchain.git resolved at main (ab0409e)
warning: '.resolve-product-dependencies': dependency 'swiftchain' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/sbertix/Swiftchain.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/9] Compiling Swiftchain KeychainError.swift
[4/9] Compiling Swiftchain SecurityConstants.swift
[5/9] Compiling Swiftchain KeychainAuthentication.swift
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:34:27: warning: static property 'devicePasscode' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// If you were looking for the **intersection** of all its elements,
15 | /// just use `.and()` instead.
16 | struct Authentication: OptionSet {
| `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
17 | /// An `enum` representing the binary operator used to consider all options set.
18 | public enum Operator {
:
32 | /// Constraint to access an item with a passcode.
33 | @available(macOS 10.11, *)
34 | public static let devicePasscode = Authentication(rawValue: 1 << 0)
| |- warning: static property 'devicePasscode' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'devicePasscode' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 |
36 | /// Constraint to access an item with Touch ID for any enrolled fingers, or Face ID.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:41:27: warning: static property 'biometryAny' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// If you were looking for the **intersection** of all its elements,
15 | /// just use `.and()` instead.
16 | struct Authentication: OptionSet {
| `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
17 | /// An `enum` representing the binary operator used to consider all options set.
18 | public enum Operator {
:
39 | /// The item is still accessible by Touch ID if fingers are added or removed, or by Face ID if the user is re-enrolled.
40 | @available(iOS 11.3, macOS 10.13.4, tvOS 11.3, watchOS 4.3, *)
41 | public static let biometryAny = Authentication(rawValue: 1 << 1)
| |- warning: static property 'biometryAny' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'biometryAny' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | /// Constraint to access an item with Touch ID for currently enrolled fingers, or from Face ID with the currently enrolled user.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:48:27: warning: static property 'biometryCurrentSet' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// If you were looking for the **intersection** of all its elements,
15 | /// just use `.and()` instead.
16 | struct Authentication: OptionSet {
| `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
17 | /// An `enum` representing the binary operator used to consider all options set.
18 | public enum Operator {
:
46 | /// The item is invalidated if fingers are added or removed for Touch ID, or if the user re-enrolls for Face ID.
47 | @available(iOS 11.3, macOS 10.13.4, tvOS 11.3, watchOS 4.3, *)
48 | public static let biometryCurrentSet = Authentication(rawValue: 1 << 2)
| |- warning: static property 'biometryCurrentSet' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'biometryCurrentSet' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// Constraint to access an item with a watch.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:57:27: warning: static property 'watch' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// If you were looking for the **intersection** of all its elements,
15 | /// just use `.and()` instead.
16 | struct Authentication: OptionSet {
| `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
17 | /// An `enum` representing the binary operator used to consider all options set.
18 | public enum Operator {
:
55 | @available(tvOS, unavailable)
56 | @available(watchOS, unavailable)
57 | public static let watch = Authentication(rawValue: 1 << 3)
| |- warning: static property 'watch' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'watch' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 |
59 | /// Constraint to access an item with either biometry or passcode.
[6/9] Compiling Swiftchain KeychainAccessibility.swift
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:21:27: warning: static property 'afterFirstUnlock' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public extension Keychain {
11 | /// A `struct` holding reference to item accessibility.
12 | struct Accessibility: Hashable, RawRepresentable {
| `- note: consider making struct 'Accessibility' conform to the 'Sendable' protocol
13 | /// The underlying value.
14 | public let rawValue: CFString
:
19 | /// This is recommended for items that need to be accessed by background applications.
20 | /// Items with this attribute migrate to a new device when using encrypted backups.
21 | public static let afterFirstUnlock = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlock)
| |- warning: static property 'afterFirstUnlock' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'afterFirstUnlock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:29:27: warning: static property 'afterFirstUnlockThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public extension Keychain {
11 | /// A `struct` holding reference to item accessibility.
12 | struct Accessibility: Hashable, RawRepresentable {
| `- note: consider making struct 'Accessibility' conform to the 'Sendable' protocol
13 | /// The underlying value.
14 | public let rawValue: CFString
:
27 | /// Items with this attribute do not migrate to a new device.
28 | /// Thus, after restoring from a backup of a different device, these items will not be present.
29 | public static let afterFirstUnlockThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly)
| |- warning: static property 'afterFirstUnlockThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'afterFirstUnlockThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | /// The data in the keychain can only be accessed when the device is unlocked. Only available if a passcode is set on the device.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:38:27: warning: static property 'whenPasscodeSetThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public extension Keychain {
11 | /// A `struct` holding reference to item accessibility.
12 | struct Accessibility: Hashable, RawRepresentable {
| `- note: consider making struct 'Accessibility' conform to the 'Sendable' protocol
13 | /// The underlying value.
14 | public let rawValue: CFString
:
36 | /// No items can be stored in this class on devices without a passcode.
37 | /// Disabling the device passcode causes all items in this class to be deleted.
38 | public static let whenPasscodeSetThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly)
| |- warning: static property 'whenPasscodeSetThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenPasscodeSetThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |
40 | /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:45:27: warning: static property 'whenUnlocked' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public extension Keychain {
11 | /// A `struct` holding reference to item accessibility.
12 | struct Accessibility: Hashable, RawRepresentable {
| `- note: consider making struct 'Accessibility' conform to the 'Sendable' protocol
13 | /// The underlying value.
14 | public let rawValue: CFString
:
43 | /// Items with this attribute migrate to a new device when using encrypted backups.
44 | /// This is the default value for keychain items added without explicitly setting an accessibility constant.
45 | public static let whenUnlocked = Accessibility(rawValue: kSecAttrAccessibleWhenUnlocked)
| |- warning: static property 'whenUnlocked' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenUnlocked' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:52:27: warning: static property 'whenUnlockedThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public extension Keychain {
11 | /// A `struct` holding reference to item accessibility.
12 | struct Accessibility: Hashable, RawRepresentable {
| `- note: consider making struct 'Accessibility' conform to the 'Sendable' protocol
13 | /// The underlying value.
14 | public let rawValue: CFString
:
50 | /// Items with this attribute do not migrate to a new device.
51 | /// Thus, after restoring from a backup of a different device, these items will not be present.
52 | public static let whenUnlockedThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleWhenUnlockedThisDeviceOnly)
| |- warning: static property 'whenUnlockedThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenUnlockedThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |
54 | /// Init.
[7/9] Compiling Swiftchain Keychain.swift
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:13:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | open class Keychain {
12 | /// A shared instance of `Keychain`.
13 | public static var `default` = Keychain()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | /// A shared lock.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:45:27: warning: static property 'whenUnlocked' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public extension Keychain {
11 | /// A `struct` holding reference to item accessibility.
12 | struct Accessibility: Hashable, RawRepresentable {
| `- note: consider making struct 'Accessibility' conform to the 'Sendable' protocol
13 | /// The underlying value.
14 | public let rawValue: CFString
:
43 | /// Items with this attribute migrate to a new device when using encrypted backups.
44 | /// This is the default value for keychain items added without explicitly setting an accessibility constant.
45 | public static let whenUnlocked = Accessibility(rawValue: kSecAttrAccessibleWhenUnlocked)
| |- warning: static property 'whenUnlocked' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenUnlocked' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// The data in the keychain item can be accessed only while the device is unlocked by the user.
[8/9] Emitting module Swiftchain
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/Keychain.swift:13:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | open class Keychain {
12 | /// A shared instance of `Keychain`.
13 | public static var `default` = Keychain()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | /// A shared lock.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:45:27: warning: static property 'whenUnlocked' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public extension Keychain {
11 | /// A `struct` holding reference to item accessibility.
12 | struct Accessibility: Hashable, RawRepresentable {
| `- note: consider making struct 'Accessibility' conform to the 'Sendable' protocol
13 | /// The underlying value.
14 | public let rawValue: CFString
:
43 | /// Items with this attribute migrate to a new device when using encrypted backups.
44 | /// This is the default value for keychain items added without explicitly setting an accessibility constant.
45 | public static let whenUnlocked = Accessibility(rawValue: kSecAttrAccessibleWhenUnlocked)
| |- warning: static property 'whenUnlocked' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenUnlocked' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:21:27: warning: static property 'afterFirstUnlock' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public extension Keychain {
11 | /// A `struct` holding reference to item accessibility.
12 | struct Accessibility: Hashable, RawRepresentable {
| `- note: consider making struct 'Accessibility' conform to the 'Sendable' protocol
13 | /// The underlying value.
14 | public let rawValue: CFString
:
19 | /// This is recommended for items that need to be accessed by background applications.
20 | /// Items with this attribute migrate to a new device when using encrypted backups.
21 | public static let afterFirstUnlock = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlock)
| |- warning: static property 'afterFirstUnlock' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'afterFirstUnlock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:29:27: warning: static property 'afterFirstUnlockThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public extension Keychain {
11 | /// A `struct` holding reference to item accessibility.
12 | struct Accessibility: Hashable, RawRepresentable {
| `- note: consider making struct 'Accessibility' conform to the 'Sendable' protocol
13 | /// The underlying value.
14 | public let rawValue: CFString
:
27 | /// Items with this attribute do not migrate to a new device.
28 | /// Thus, after restoring from a backup of a different device, these items will not be present.
29 | public static let afterFirstUnlockThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly)
| |- warning: static property 'afterFirstUnlockThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'afterFirstUnlockThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | /// The data in the keychain can only be accessed when the device is unlocked. Only available if a passcode is set on the device.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:38:27: warning: static property 'whenPasscodeSetThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public extension Keychain {
11 | /// A `struct` holding reference to item accessibility.
12 | struct Accessibility: Hashable, RawRepresentable {
| `- note: consider making struct 'Accessibility' conform to the 'Sendable' protocol
13 | /// The underlying value.
14 | public let rawValue: CFString
:
36 | /// No items can be stored in this class on devices without a passcode.
37 | /// Disabling the device passcode causes all items in this class to be deleted.
38 | public static let whenPasscodeSetThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly)
| |- warning: static property 'whenPasscodeSetThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenPasscodeSetThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |
40 | /// The data in the keychain item can be accessed only while the device is unlocked by the user.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAccessibility.swift:52:27: warning: static property 'whenUnlockedThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public extension Keychain {
11 | /// A `struct` holding reference to item accessibility.
12 | struct Accessibility: Hashable, RawRepresentable {
| `- note: consider making struct 'Accessibility' conform to the 'Sendable' protocol
13 | /// The underlying value.
14 | public let rawValue: CFString
:
50 | /// Items with this attribute do not migrate to a new device.
51 | /// Thus, after restoring from a backup of a different device, these items will not be present.
52 | public static let whenUnlockedThisDeviceOnly = Accessibility(rawValue: kSecAttrAccessibleWhenUnlockedThisDeviceOnly)
| |- warning: static property 'whenUnlockedThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'Keychain.Accessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenUnlockedThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |
54 | /// Init.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:34:27: warning: static property 'devicePasscode' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// If you were looking for the **intersection** of all its elements,
15 | /// just use `.and()` instead.
16 | struct Authentication: OptionSet {
| `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
17 | /// An `enum` representing the binary operator used to consider all options set.
18 | public enum Operator {
:
32 | /// Constraint to access an item with a passcode.
33 | @available(macOS 10.11, *)
34 | public static let devicePasscode = Authentication(rawValue: 1 << 0)
| |- warning: static property 'devicePasscode' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'devicePasscode' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 |
36 | /// Constraint to access an item with Touch ID for any enrolled fingers, or Face ID.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:41:27: warning: static property 'biometryAny' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// If you were looking for the **intersection** of all its elements,
15 | /// just use `.and()` instead.
16 | struct Authentication: OptionSet {
| `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
17 | /// An `enum` representing the binary operator used to consider all options set.
18 | public enum Operator {
:
39 | /// The item is still accessible by Touch ID if fingers are added or removed, or by Face ID if the user is re-enrolled.
40 | @available(iOS 11.3, macOS 10.13.4, tvOS 11.3, watchOS 4.3, *)
41 | public static let biometryAny = Authentication(rawValue: 1 << 1)
| |- warning: static property 'biometryAny' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'biometryAny' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | /// Constraint to access an item with Touch ID for currently enrolled fingers, or from Face ID with the currently enrolled user.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:48:27: warning: static property 'biometryCurrentSet' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// If you were looking for the **intersection** of all its elements,
15 | /// just use `.and()` instead.
16 | struct Authentication: OptionSet {
| `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
17 | /// An `enum` representing the binary operator used to consider all options set.
18 | public enum Operator {
:
46 | /// The item is invalidated if fingers are added or removed for Touch ID, or if the user re-enrolls for Face ID.
47 | @available(iOS 11.3, macOS 10.13.4, tvOS 11.3, watchOS 4.3, *)
48 | public static let biometryCurrentSet = Authentication(rawValue: 1 << 2)
| |- warning: static property 'biometryCurrentSet' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'biometryCurrentSet' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// Constraint to access an item with a watch.
/Users/admin/builder/spi-builder-workspace/Sources/Swiftchain/KeychainAuthentication.swift:57:27: warning: static property 'watch' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// If you were looking for the **intersection** of all its elements,
15 | /// just use `.and()` instead.
16 | struct Authentication: OptionSet {
| `- note: consider making struct 'Authentication' conform to the 'Sendable' protocol
17 | /// An `enum` representing the binary operator used to consider all options set.
18 | public enum Operator {
:
55 | @available(tvOS, unavailable)
56 | @available(watchOS, unavailable)
57 | public static let watch = Authentication(rawValue: 1 << 3)
| |- warning: static property 'watch' is not concurrency-safe because non-'Sendable' type 'Keychain.Authentication' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'watch' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 |
59 | /// Constraint to access an item with either biometry or passcode.
[9/9] Compiling Swiftchain KeychainContainer.swift
Build complete! (8.19s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Swiftchain",
"name" : "Swiftchain",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "9.0"
},
{
"name" : "macos",
"version" : "10.10"
},
{
"name" : "tvos",
"version" : "9.0"
},
{
"name" : "watchos",
"version" : "2.0"
}
],
"products" : [
{
"name" : "Swiftchain",
"targets" : [
"Swiftchain"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftchainTests",
"module_type" : "SwiftTarget",
"name" : "SwiftchainTests",
"path" : "Tests/SwiftchainTests",
"sources" : [
"SwiftchainAuthenticationTests.swift",
"SwiftchainTests.swift"
],
"target_dependencies" : [
"Swiftchain"
],
"type" : "test"
},
{
"c99name" : "Swiftchain",
"module_type" : "SwiftTarget",
"name" : "Swiftchain",
"path" : "Sources/Swiftchain",
"product_memberships" : [
"Swiftchain"
],
"sources" : [
"Keychain.swift",
"KeychainAccessibility.swift",
"KeychainAuthentication.swift",
"KeychainContainer.swift",
"KeychainError.swift",
"SecurityConstants.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.