This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of KeychainAccess with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 14

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kishikawakatsumi/KeychainAccess.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/kishikawakatsumi/KeychainAccess
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at e0c7eeb Remove ruby related files.
Cloned https://github.com/kishikawakatsumi/KeychainAccess.git
Revision (git rev-parse @):
e0c7eebc5a4465a3c4680764f26b7a61f567cdaf
SUCCESS checkout https://github.com/kishikawakatsumi/KeychainAccess.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/kishikawakatsumi/KeychainAccess.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a 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-6F35C1178C84523A.txt
[3/4] Emitting module KeychainAccess
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:216:23: warning: static property 'userPresence' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 214 |      */
 215 |     @available(iOS 8.0, macOS 10.10, watchOS 2.0, tvOS 8.0, *)
 216 |     public static let userPresence = AuthenticationPolicy(rawValue: 1 << 0)
     |                       |- warning: static property 'userPresence' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'userPresence' 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
 217 |
 218 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:224:23: warning: static property 'biometryAny' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 222 |      */
 223 |     @available(iOS 11.3, macOS 10.13.4, watchOS 4.3, tvOS 11.3, *)
 224 |     public static let biometryAny = AuthenticationPolicy(rawValue: 1 << 1)
     |                       |- warning: static property 'biometryAny' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' 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
 225 |
 226 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:233:23: warning: static property 'touchIDAny' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 231 |     @available(watchOS, introduced: 2.0, deprecated: 4.3, renamed: "biometryAny")
 232 |     @available(tvOS, introduced: 9.0, deprecated: 11.3, renamed: "biometryAny")
 233 |     public static let touchIDAny = AuthenticationPolicy(rawValue: 1 << 1)
     |                       |- warning: static property 'touchIDAny' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'touchIDAny' 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
 234 |
 235 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:240:23: warning: static property 'biometryCurrentSet' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 238 |      */
 239 |     @available(iOS 11.3, macOS 10.13, watchOS 4.3, tvOS 11.3, *)
 240 |     public static let biometryCurrentSet = AuthenticationPolicy(rawValue: 1 << 3)
     |                       |- warning: static property 'biometryCurrentSet' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' 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
 241 |
 242 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:249:23: warning: static property 'touchIDCurrentSet' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 247 |     @available(watchOS, introduced: 2.0, deprecated: 4.3, renamed: "biometryCurrentSet")
 248 |     @available(tvOS, introduced: 9.0, deprecated: 11.3, renamed: "biometryCurrentSet")
 249 |     public static let touchIDCurrentSet = AuthenticationPolicy(rawValue: 1 << 3)
     |                       |- warning: static property 'touchIDCurrentSet' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'touchIDCurrentSet' 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
 250 |
 251 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:255:23: warning: static property 'devicePasscode' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 253 |      */
 254 |     @available(iOS 9.0, macOS 10.11, watchOS 2.0, tvOS 9.0, *)
 255 |     public static let devicePasscode = AuthenticationPolicy(rawValue: 1 << 4)
     |                       |- warning: static property 'devicePasscode' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' 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
 256 |
 257 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:264:23: warning: static property 'watch' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 262 |     @available(watchOS, unavailable)
 263 |     @available(tvOS, unavailable)
 264 |     public static let watch = AuthenticationPolicy(rawValue: 1 << 5)
     |                       |- warning: static property 'watch' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' 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
 265 |
 266 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:271:23: warning: static property 'or' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 269 |      */
 270 |     @available(iOS 9.0, macOS 10.12.1, watchOS 2.0, tvOS 9.0, *)
 271 |     public static let or = AuthenticationPolicy(rawValue: 1 << 14)
     |                       |- warning: static property 'or' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'or' 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
 272 |
 273 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:278:23: warning: static property 'and' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 276 |      */
 277 |     @available(iOS 9.0, macOS 10.12.1, watchOS 2.0, tvOS 9.0, *)
 278 |     public static let and = AuthenticationPolicy(rawValue: 1 << 15)
     |                       |- warning: static property 'and' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'and' 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
 279 |
 280 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:284:23: warning: static property 'privateKeyUsage' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 282 |      */
 283 |     @available(iOS 9.0, macOS 10.12.1, watchOS 2.0, tvOS 9.0, *)
 284 |     public static let privateKeyUsage = AuthenticationPolicy(rawValue: 1 << 30)
     |                       |- warning: static property 'privateKeyUsage' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'privateKeyUsage' 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
 285 |
 286 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:291:23: warning: static property 'applicationPassword' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 289 |      */
 290 |     @available(iOS 9.0, macOS 10.12.1, watchOS 2.0, tvOS 9.0, *)
 291 |     public static let applicationPassword = AuthenticationPolicy(rawValue: 1 << 31)
     |                       |- warning: static property 'applicationPassword' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'applicationPassword' 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
 292 |
 293 |     #if swift(>=2.3)
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:1253:13: warning: let 'SynchronizableAny' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
1251 | private let AttributePath = String(kSecAttrPath)
1252 |
1253 | private let SynchronizableAny = kSecAttrSynchronizableAny
     |             `- warning: let 'SynchronizableAny' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
1254 |
1255 | /** Search Constants */
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:26:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  24 | // THE SOFTWARE.
  25 |
  26 | import Foundation
     | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  27 | import Security
  28 | #if os(iOS) || os(macOS)
     :
1251 | private let AttributePath = String(kSecAttrPath)
1252 |
1253 | private let SynchronizableAny = kSecAttrSynchronizableAny
     |             |- note: annotate 'SynchronizableAny' 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
1254 |
1255 | /** Search Constants */
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:1257:13: warning: let 'MatchLimitOne' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
1255 | /** Search Constants */
1256 | private let MatchLimit = String(kSecMatchLimit)
1257 | private let MatchLimitOne = kSecMatchLimitOne
     |             |- warning: let 'MatchLimitOne' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
     |             |- note: annotate 'MatchLimitOne' 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
1258 | private let MatchLimitAll = kSecMatchLimitAll
1259 |
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:1258:13: warning: let 'MatchLimitAll' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
1256 | private let MatchLimit = String(kSecMatchLimit)
1257 | private let MatchLimitOne = kSecMatchLimitOne
1258 | private let MatchLimitAll = kSecMatchLimitAll
     |             |- warning: let 'MatchLimitAll' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
     |             |- note: annotate 'MatchLimitAll' 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
1259 |
1260 | /** Return Type Key Constants */
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
[4/4] Compiling KeychainAccess Keychain.swift
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:854:23: warning: unnecessary check for 'macOS'; enclosing scope ensures guard will always be true
 846 |             }
 847 |             #else
 848 |             if #available(macOS 10.11, *) {
     |             `- note: enclosing scope here
 849 |                 if let authenticationUI = options.authenticationUI {
 850 |                     query[UseAuthenticationUI] = authenticationUI.rawValue
     :
 852 |                     query[UseAuthenticationUI] = UseAuthenticationUIFail
 853 |                 }
 854 |             } else if #available(macOS 10.10, *) {
     |                       `- warning: unnecessary check for 'macOS'; enclosing scope ensures guard will always be true
 855 |                 query[UseNoAuthenticationUI] = kCFBooleanTrue
 856 |             }
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:216:23: warning: static property 'userPresence' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 214 |      */
 215 |     @available(iOS 8.0, macOS 10.10, watchOS 2.0, tvOS 8.0, *)
 216 |     public static let userPresence = AuthenticationPolicy(rawValue: 1 << 0)
     |                       |- warning: static property 'userPresence' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'userPresence' 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
 217 |
 218 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:224:23: warning: static property 'biometryAny' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 222 |      */
 223 |     @available(iOS 11.3, macOS 10.13.4, watchOS 4.3, tvOS 11.3, *)
 224 |     public static let biometryAny = AuthenticationPolicy(rawValue: 1 << 1)
     |                       |- warning: static property 'biometryAny' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' 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
 225 |
 226 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:233:23: warning: static property 'touchIDAny' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 231 |     @available(watchOS, introduced: 2.0, deprecated: 4.3, renamed: "biometryAny")
 232 |     @available(tvOS, introduced: 9.0, deprecated: 11.3, renamed: "biometryAny")
 233 |     public static let touchIDAny = AuthenticationPolicy(rawValue: 1 << 1)
     |                       |- warning: static property 'touchIDAny' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'touchIDAny' 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
 234 |
 235 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:240:23: warning: static property 'biometryCurrentSet' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 238 |      */
 239 |     @available(iOS 11.3, macOS 10.13, watchOS 4.3, tvOS 11.3, *)
 240 |     public static let biometryCurrentSet = AuthenticationPolicy(rawValue: 1 << 3)
     |                       |- warning: static property 'biometryCurrentSet' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' 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
 241 |
 242 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:249:23: warning: static property 'touchIDCurrentSet' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 247 |     @available(watchOS, introduced: 2.0, deprecated: 4.3, renamed: "biometryCurrentSet")
 248 |     @available(tvOS, introduced: 9.0, deprecated: 11.3, renamed: "biometryCurrentSet")
 249 |     public static let touchIDCurrentSet = AuthenticationPolicy(rawValue: 1 << 3)
     |                       |- warning: static property 'touchIDCurrentSet' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'touchIDCurrentSet' 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
 250 |
 251 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:255:23: warning: static property 'devicePasscode' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 253 |      */
 254 |     @available(iOS 9.0, macOS 10.11, watchOS 2.0, tvOS 9.0, *)
 255 |     public static let devicePasscode = AuthenticationPolicy(rawValue: 1 << 4)
     |                       |- warning: static property 'devicePasscode' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' 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
 256 |
 257 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:264:23: warning: static property 'watch' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 262 |     @available(watchOS, unavailable)
 263 |     @available(tvOS, unavailable)
 264 |     public static let watch = AuthenticationPolicy(rawValue: 1 << 5)
     |                       |- warning: static property 'watch' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' 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
 265 |
 266 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:271:23: warning: static property 'or' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 269 |      */
 270 |     @available(iOS 9.0, macOS 10.12.1, watchOS 2.0, tvOS 9.0, *)
 271 |     public static let or = AuthenticationPolicy(rawValue: 1 << 14)
     |                       |- warning: static property 'or' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'or' 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
 272 |
 273 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:278:23: warning: static property 'and' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 276 |      */
 277 |     @available(iOS 9.0, macOS 10.12.1, watchOS 2.0, tvOS 9.0, *)
 278 |     public static let and = AuthenticationPolicy(rawValue: 1 << 15)
     |                       |- warning: static property 'and' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'and' 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
 279 |
 280 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:284:23: warning: static property 'privateKeyUsage' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 282 |      */
 283 |     @available(iOS 9.0, macOS 10.12.1, watchOS 2.0, tvOS 9.0, *)
 284 |     public static let privateKeyUsage = AuthenticationPolicy(rawValue: 1 << 30)
     |                       |- warning: static property 'privateKeyUsage' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'privateKeyUsage' 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
 285 |
 286 |     /**
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:291:23: warning: static property 'applicationPassword' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
 207 | }
 208 |
 209 | public struct AuthenticationPolicy: OptionSet {
     |               `- note: consider making struct 'AuthenticationPolicy' conform to the 'Sendable' protocol
 210 |     /**
 211 |      User presence policy using Touch ID or Passcode. Touch ID does not
     :
 289 |      */
 290 |     @available(iOS 9.0, macOS 10.12.1, watchOS 2.0, tvOS 9.0, *)
 291 |     public static let applicationPassword = AuthenticationPolicy(rawValue: 1 << 31)
     |                       |- warning: static property 'applicationPassword' is not concurrency-safe because non-'Sendable' type 'AuthenticationPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'applicationPassword' 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
 292 |
 293 |     #if swift(>=2.3)
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:1253:13: warning: let 'SynchronizableAny' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
1251 | private let AttributePath = String(kSecAttrPath)
1252 |
1253 | private let SynchronizableAny = kSecAttrSynchronizableAny
     |             `- warning: let 'SynchronizableAny' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
1254 |
1255 | /** Search Constants */
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:26:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  24 | // THE SOFTWARE.
  25 |
  26 | import Foundation
     | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
  27 | import Security
  28 | #if os(iOS) || os(macOS)
     :
1251 | private let AttributePath = String(kSecAttrPath)
1252 |
1253 | private let SynchronizableAny = kSecAttrSynchronizableAny
     |             |- note: annotate 'SynchronizableAny' 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
1254 |
1255 | /** Search Constants */
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:1257:13: warning: let 'MatchLimitOne' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
1255 | /** Search Constants */
1256 | private let MatchLimit = String(kSecMatchLimit)
1257 | private let MatchLimitOne = kSecMatchLimitOne
     |             |- warning: let 'MatchLimitOne' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
     |             |- note: annotate 'MatchLimitOne' 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
1258 | private let MatchLimitAll = kSecMatchLimitAll
1259 |
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:1258:13: warning: let 'MatchLimitAll' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
1256 | private let MatchLimit = String(kSecMatchLimit)
1257 | private let MatchLimitOne = kSecMatchLimitOne
1258 | private let MatchLimitAll = kSecMatchLimitAll
     |             |- warning: let 'MatchLimitAll' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
     |             |- note: annotate 'MatchLimitAll' 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
1259 |
1260 | /** Return Type Key Constants */
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
  |              `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
Build complete! (18.17s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "KeychainAccess",
  "name" : "KeychainAccess",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.10"
    },
    {
      "name" : "ios",
      "version" : "9.0"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    },
    {
      "name" : "watchos",
      "version" : "2.0"
    }
  ],
  "products" : [
    {
      "name" : "KeychainAccess",
      "targets" : [
        "KeychainAccess"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "KeychainAccess",
      "module_type" : "SwiftTarget",
      "name" : "KeychainAccess",
      "path" : "Lib/KeychainAccess",
      "product_memberships" : [
        "KeychainAccess"
      ],
      "sources" : [
        "Keychain.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.