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, reference v4.2.2 (84e546), with Swift 6.0 for macOS (SPM) on 3 Nov 2024 13:48:37 UTC.

Swift 6 data race errors: 14

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/kishikawakatsumi/KeychainAccess.git
Reference: v4.2.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/kishikawakatsumi/KeychainAccess
 * tag               v4.2.2     -> FETCH_HEAD
HEAD is now at 84e5467 Bump version to 4.2.2
Cloned https://github.com/kishikawakatsumi/KeychainAccess.git
Revision (git rev-parse @):
84e546727d66f1adc5439debad16270d0fdd04e7
SUCCESS checkout https://github.com/kishikawakatsumi/KeychainAccess.git at v4.2.2
========================================
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": "keychainaccess",
      "name": "KeychainAccess",
      "url": "https://github.com/kishikawakatsumi/KeychainAccess.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/KeychainAccess",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/kishikawakatsumi/KeychainAccess.git
[1/4389] Fetching keychainaccess
Fetched https://github.com/kishikawakatsumi/KeychainAccess.git from cache (1.39s)
Creating working copy for https://github.com/kishikawakatsumi/KeychainAccess.git
Working copy of https://github.com/kishikawakatsumi/KeychainAccess.git resolved at v4.2.2 (84e5467)
warning: '.resolve-product-dependencies': dependency 'keychainaccess' 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/kishikawakatsumi/KeychainAccess.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/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, OSX 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, OSX 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, OSX 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, OSX 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, OSX 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, OSX 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, OSX 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, OSX 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:1259: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
1257 | private let AttributePath = String(kSecAttrPath)
1258 |
1259 | 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
1260 |
1261 | /** 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(OSX)
     :
1257 | private let AttributePath = String(kSecAttrPath)
1258 |
1259 | 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
1260 |
1261 | /** Search Constants */
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:1263: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
1261 | /** Search Constants */
1262 | private let MatchLimit = String(kSecMatchLimit)
1263 | 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
1264 | private let MatchLimitAll = kSecMatchLimitAll
1265 |
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:1264: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
1262 | private let MatchLimit = String(kSecMatchLimit)
1263 | private let MatchLimitOne = kSecMatchLimitOne
1264 | 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
1265 |
1266 | /** 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:860:23: warning: unnecessary check for 'macOS'; enclosing scope ensures guard will always be true
 852 |             }
 853 |             #else
 854 |             if #available(OSX 10.11, *) {
     |             `- note: enclosing scope here
 855 |                 if let authenticationUI = options.authenticationUI {
 856 |                     query[UseAuthenticationUI] = authenticationUI.rawValue
     :
 858 |                     query[UseAuthenticationUI] = UseAuthenticationUIFail
 859 |                 }
 860 |             } else if #available(OSX 10.10, *) {
     |                       `- warning: unnecessary check for 'macOS'; enclosing scope ensures guard will always be true
 861 |                 query[UseNoAuthenticationUI] = kCFBooleanTrue
 862 |             }
/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, OSX 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, OSX 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, OSX 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, OSX 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, OSX 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, OSX 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, OSX 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, OSX 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:1259: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
1257 | private let AttributePath = String(kSecAttrPath)
1258 |
1259 | 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
1260 |
1261 | /** 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(OSX)
     :
1257 | private let AttributePath = String(kSecAttrPath)
1258 |
1259 | 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
1260 |
1261 | /** Search Constants */
/Users/admin/builder/spi-builder-workspace/Lib/KeychainAccess/Keychain.swift:1263: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
1261 | /** Search Constants */
1262 | private let MatchLimit = String(kSecMatchLimit)
1263 | 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
1264 | private let MatchLimitAll = kSecMatchLimitAll
1265 |
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:1264: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
1262 | private let MatchLimit = String(kSecMatchLimit)
1263 | private let MatchLimitOne = kSecMatchLimitOne
1264 | 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
1265 |
1266 | /** 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! (7.21s)
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.