The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of ComposableKeychain, reference 0.0.2 (3ebddf), with Swift 6.0 for macOS (SPM) on 28 Nov 2024 21:34:05 UTC.

Swift 6 data race errors: 2

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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/binaryscraping/swift-composable-keychain.git
Reference: 0.0.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/binaryscraping/swift-composable-keychain
 * tag               0.0.2      -> FETCH_HEAD
HEAD is now at 3ebddfe Remove TCA dependency and add XCTestDynamicOverlay
Cloned https://github.com/binaryscraping/swift-composable-keychain.git
Revision (git rev-parse @):
3ebddfe9e9232218bada99ab6d6b3ca1fd94f112
SUCCESS checkout https://github.com/binaryscraping/swift-composable-keychain.git at 0.0.2
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay
Fetching https://github.com/kishikawakatsumi/KeychainAccess
[1/5010] Fetching xctest-dynamic-overlay
[2/9399] Fetching xctest-dynamic-overlay, keychainaccess
Fetched https://github.com/kishikawakatsumi/KeychainAccess from cache (1.49s)
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay from cache (1.49s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay
Computed https://github.com/pointfreeco/xctest-dynamic-overlay at 0.2.1 (0.54s)
Computing version for https://github.com/kishikawakatsumi/KeychainAccess
Computed https://github.com/kishikawakatsumi/KeychainAccess at 4.2.2 (0.54s)
Creating working copy for https://github.com/kishikawakatsumi/KeychainAccess
Working copy of https://github.com/kishikawakatsumi/KeychainAccess resolved at 4.2.2
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay resolved at 0.2.1
========================================
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": "swift-composable-keychain",
      "name": "ComposableKeychain",
      "url": "https://github.com/binaryscraping/swift-composable-keychain.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-composable-keychain",
      "dependencies": [
        {
          "identity": "keychainaccess",
          "name": "KeychainAccess",
          "url": "https://github.com/kishikawakatsumi/KeychainAccess",
          "version": "4.2.2",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/KeychainAccess",
          "dependencies": [
          ]
        },
        {
          "identity": "xctest-dynamic-overlay",
          "name": "xctest-dynamic-overlay",
          "url": "https://github.com/pointfreeco/xctest-dynamic-overlay",
          "version": "0.9.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/xctest-dynamic-overlay",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/binaryscraping/swift-composable-keychain.git
[1/33] Fetching swift-composable-keychain
Fetched https://github.com/binaryscraping/swift-composable-keychain.git from cache (0.63s)
Fetching https://github.com/kishikawakatsumi/KeychainAccess from cache
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay from cache
Fetched https://github.com/kishikawakatsumi/KeychainAccess from cache (0.54s)
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay from cache (0.54s)
Computing version for https://github.com/kishikawakatsumi/KeychainAccess
Computed https://github.com/kishikawakatsumi/KeychainAccess at 4.2.2 (0.03s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay
Computed https://github.com/pointfreeco/xctest-dynamic-overlay at 0.9.0 (0.51s)
Creating working copy for https://github.com/kishikawakatsumi/KeychainAccess
Working copy of https://github.com/kishikawakatsumi/KeychainAccess resolved at 4.2.2
Creating working copy for https://github.com/binaryscraping/swift-composable-keychain.git
Working copy of https://github.com/binaryscraping/swift-composable-keychain.git resolved at 0.0.2 (3ebddfe)
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay resolved at 0.9.0
warning: '.resolve-product-dependencies': dependency 'swift-composable-keychain' is not used by any target
Found 2 product dependencies
  - KeychainAccess
  - xctest-dynamic-overlay
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/binaryscraping/swift-composable-keychain.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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/4] Write sources
[3/4] Write swift-version--7754E27361AE5C74.txt
[5/8] Emitting module XCTestDynamicOverlay
[6/8] Compiling XCTestDynamicOverlay XCTFail.swift
[7/8] Compiling KeychainAccess Keychain.swift
[8/8] Emitting module KeychainAccess
[9/12] Compiling ComposableKeychain Mocks.swift
/Users/admin/builder/spi-builder-workspace/Sources/ComposableKeychain/Mocks.swift:4:21: warning: static property 'noop' is not concurrency-safe because non-'Sendable' type 'KeychainClient' may have shared mutable state; this is an error in the Swift 6 language mode
 2 |   /// A KeychainClient implementation that does nothing when called.
 3 |   /// Can be used on Xcode Previews.
 4 |   public static let noop = KeychainClient(
   |                     |- warning: static property 'noop' is not concurrency-safe because non-'Sendable' type 'KeychainClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: annotate 'noop' 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
 5 |     getString: { _ in nil },
 6 |     getData: { _ in nil },
/Users/admin/builder/spi-builder-workspace/Sources/ComposableKeychain/Interface.swift:3:15: note: consider making struct 'KeychainClient' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct KeychainClient {
   |               `- note: consider making struct 'KeychainClient' conform to the 'Sendable' protocol
 4 |   public var getString: (_ key: Key) throws -> String?
 5 |   public var getData: (_ key: Key) throws -> Data?
/Users/admin/builder/spi-builder-workspace/Sources/ComposableKeychain/Mocks.swift:21:23: warning: static property 'failing' is not concurrency-safe because non-'Sendable' type 'KeychainClient' may have shared mutable state; this is an error in the Swift 6 language mode
19 |     /// A KeychainClient implementation that fails when called.
20 |     /// Used for testing purposes and available only in DEBUG builds.
21 |     public static let failing = KeychainClient(
   |                       |- warning: static property 'failing' is not concurrency-safe because non-'Sendable' type 'KeychainClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'failing' 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 |       getString: { key in
23 |         XCTFail("\(Self.self).getString(\(key)) is unimplemented")
/Users/admin/builder/spi-builder-workspace/Sources/ComposableKeychain/Interface.swift:3:15: note: consider making struct 'KeychainClient' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct KeychainClient {
   |               `- note: consider making struct 'KeychainClient' conform to the 'Sendable' protocol
 4 |   public var getString: (_ key: Key) throws -> String?
 5 |   public var getData: (_ key: Key) throws -> Data?
[10/12] Compiling ComposableKeychain Live.swift
[11/12] Emitting module ComposableKeychain
/Users/admin/builder/spi-builder-workspace/Sources/ComposableKeychain/Mocks.swift:4:21: warning: static property 'noop' is not concurrency-safe because non-'Sendable' type 'KeychainClient' may have shared mutable state; this is an error in the Swift 6 language mode
 2 |   /// A KeychainClient implementation that does nothing when called.
 3 |   /// Can be used on Xcode Previews.
 4 |   public static let noop = KeychainClient(
   |                     |- warning: static property 'noop' is not concurrency-safe because non-'Sendable' type 'KeychainClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: annotate 'noop' 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
 5 |     getString: { _ in nil },
 6 |     getData: { _ in nil },
/Users/admin/builder/spi-builder-workspace/Sources/ComposableKeychain/Interface.swift:3:15: note: consider making struct 'KeychainClient' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct KeychainClient {
   |               `- note: consider making struct 'KeychainClient' conform to the 'Sendable' protocol
 4 |   public var getString: (_ key: Key) throws -> String?
 5 |   public var getData: (_ key: Key) throws -> Data?
/Users/admin/builder/spi-builder-workspace/Sources/ComposableKeychain/Mocks.swift:21:23: warning: static property 'failing' is not concurrency-safe because non-'Sendable' type 'KeychainClient' may have shared mutable state; this is an error in the Swift 6 language mode
19 |     /// A KeychainClient implementation that fails when called.
20 |     /// Used for testing purposes and available only in DEBUG builds.
21 |     public static let failing = KeychainClient(
   |                       |- warning: static property 'failing' is not concurrency-safe because non-'Sendable' type 'KeychainClient' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'failing' 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 |       getString: { key in
23 |         XCTFail("\(Self.self).getString(\(key)) is unimplemented")
/Users/admin/builder/spi-builder-workspace/Sources/ComposableKeychain/Interface.swift:3:15: note: consider making struct 'KeychainClient' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct KeychainClient {
   |               `- note: consider making struct 'KeychainClient' conform to the 'Sendable' protocol
 4 |   public var getString: (_ key: Key) throws -> String?
 5 |   public var getData: (_ key: Key) throws -> Data?
[12/12] Compiling ComposableKeychain Interface.swift
Build complete! (9.20s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "keychainaccess",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.2.2",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kishikawakatsumi/KeychainAccess"
    },
    {
      "identity" : "xctest-dynamic-overlay",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.2.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/pointfreeco/xctest-dynamic-overlay"
    }
  ],
  "manifest_display_name" : "ComposableKeychain",
  "name" : "ComposableKeychain",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "ComposableKeychain",
      "targets" : [
        "ComposableKeychain"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ComposableKeychainTests",
      "module_type" : "SwiftTarget",
      "name" : "ComposableKeychainTests",
      "path" : "Tests/ComposableKeychainTests",
      "sources" : [
        "ComposableKeychainTests.swift"
      ],
      "target_dependencies" : [
        "ComposableKeychain"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ComposableKeychain",
      "module_type" : "SwiftTarget",
      "name" : "ComposableKeychain",
      "path" : "Sources/ComposableKeychain",
      "product_dependencies" : [
        "KeychainAccess",
        "XCTestDynamicOverlay"
      ],
      "product_memberships" : [
        "ComposableKeychain"
      ],
      "sources" : [
        "Interface.swift",
        "Live.swift",
        "Mocks.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.