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 PersistedProperty with Swift 6.0 (beta) for macOS (SPM).

Swift 6 data race errors: 2

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/danielepantaleone/PersistedProperty.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/danielepantaleone/PersistedProperty
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 0f0d540 Removed watchOS and tvOS from supported platforms
Cloned https://github.com/danielepantaleone/PersistedProperty.git
Revision (git rev-parse @):
0f0d540a8c91baa5f6c141aa10e252967f087761
SUCCESS checkout https://github.com/danielepantaleone/PersistedProperty.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/danielepantaleone/PersistedProperty.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/3] Write sources
[1/3] Copying PrivacyInfo.xcprivacy
[2/3] Write swift-version-6F35C1178C84523A.txt
[4/13] Compiling PersistedProperty KeyChainStorageService.swift
/Users/admin/builder/spi-builder-workspace/Sources/PersistedProperty/Services/KeyChainStorageService.swift:22:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'any StorageService' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |
 21 |     /// Reference to the shared keychain storage service.
 22 |     public static let shared: StorageService = KeyChainStorageService(identifier: "default")
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'any StorageService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
 23 |
 24 |     // MARK: - Properties
/Users/admin/builder/spi-builder-workspace/Sources/PersistedProperty/StorageService.swift:15:17: note: protocol 'StorageService' does not conform to the 'Sendable' protocol
13 |
14 | /// A protocol to define a storage service where to persist properties.
15 | public protocol StorageService {
   |                 `- note: protocol 'StorageService' does not conform to the 'Sendable' protocol
16 |
17 |     /// Load the property value from storage.
[5/13] Compiling PersistedProperty Storage.swift
/Users/admin/builder/spi-builder-workspace/Sources/PersistedProperty/Services/UserDefaultsStorageService.swift:21:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'any StorageService' may have shared mutable state; this is an error in the Swift 6 language mode
19 |
20 |     /// Reference to the shared user defaults storage service.
21 |     public static let shared: StorageService = UserDefaultsStorageService(userDefaults: .standard)
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'any StorageService' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 |     // MARK: - Properties
/Users/admin/builder/spi-builder-workspace/Sources/PersistedProperty/StorageService.swift:15:17: note: protocol 'StorageService' does not conform to the 'Sendable' protocol
13 |
14 | /// A protocol to define a storage service where to persist properties.
15 | public protocol StorageService {
   |                 `- note: protocol 'StorageService' does not conform to the 'Sendable' protocol
16 |
17 |     /// Load the property value from storage.
/Users/admin/builder/spi-builder-workspace/Sources/PersistedProperty/Services/KeyChainStorageService.swift:22:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'any StorageService' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |
 21 |     /// Reference to the shared keychain storage service.
 22 |     public static let shared: StorageService = KeyChainStorageService(identifier: "default")
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'any StorageService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
 23 |
 24 |     // MARK: - Properties
/Users/admin/builder/spi-builder-workspace/Sources/PersistedProperty/StorageService.swift:15:17: note: protocol 'StorageService' does not conform to the 'Sendable' protocol
13 |
14 | /// A protocol to define a storage service where to persist properties.
15 | public protocol StorageService {
   |                 `- note: protocol 'StorageService' does not conform to the 'Sendable' protocol
16 |
17 |     /// Load the property value from storage.
[6/13] Compiling PersistedProperty Persisted.swift
[7/13] Compiling PersistedProperty StorageCoder.swift
[8/13] Compiling PersistedProperty AnyOptional.swift
[9/13] Compiling PersistedProperty MutexType.swift
[10/13] Compiling PersistedProperty StorageService.swift
[11/13] Compiling PersistedProperty UserDefaultsStorageService.swift
/Users/admin/builder/spi-builder-workspace/Sources/PersistedProperty/Services/UserDefaultsStorageService.swift:21:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'any StorageService' may have shared mutable state; this is an error in the Swift 6 language mode
19 |
20 |     /// Reference to the shared user defaults storage service.
21 |     public static let shared: StorageService = UserDefaultsStorageService(userDefaults: .standard)
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'any StorageService' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 |     // MARK: - Properties
/Users/admin/builder/spi-builder-workspace/Sources/PersistedProperty/StorageService.swift:15:17: note: protocol 'StorageService' does not conform to the 'Sendable' protocol
13 |
14 | /// A protocol to define a storage service where to persist properties.
15 | public protocol StorageService {
   |                 `- note: protocol 'StorageService' does not conform to the 'Sendable' protocol
16 |
17 |     /// Load the property value from storage.
[12/13] Compiling PersistedProperty Mutex.swift
[13/13] Emitting module PersistedProperty
/Users/admin/builder/spi-builder-workspace/Sources/PersistedProperty/Services/KeyChainStorageService.swift:22:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'any StorageService' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |
 21 |     /// Reference to the shared keychain storage service.
 22 |     public static let shared: StorageService = KeyChainStorageService(identifier: "default")
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'any StorageService' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
 23 |
 24 |     // MARK: - Properties
/Users/admin/builder/spi-builder-workspace/Sources/PersistedProperty/StorageService.swift:15:17: note: protocol 'StorageService' does not conform to the 'Sendable' protocol
13 |
14 | /// A protocol to define a storage service where to persist properties.
15 | public protocol StorageService {
   |                 `- note: protocol 'StorageService' does not conform to the 'Sendable' protocol
16 |
17 |     /// Load the property value from storage.
/Users/admin/builder/spi-builder-workspace/Sources/PersistedProperty/Services/UserDefaultsStorageService.swift:21:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'any StorageService' may have shared mutable state; this is an error in the Swift 6 language mode
19 |
20 |     /// Reference to the shared user defaults storage service.
21 |     public static let shared: StorageService = UserDefaultsStorageService(userDefaults: .standard)
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'any StorageService' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 |     // MARK: - Properties
/Users/admin/builder/spi-builder-workspace/Sources/PersistedProperty/StorageService.swift:15:17: note: protocol 'StorageService' does not conform to the 'Sendable' protocol
13 |
14 | /// A protocol to define a storage service where to persist properties.
15 | public protocol StorageService {
   |                 `- note: protocol 'StorageService' does not conform to the 'Sendable' protocol
16 |
17 |     /// Load the property value from storage.
[14/14] Compiling PersistedProperty resource_bundle_accessor.swift
Build complete! (21.69s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "PersistedProperty",
  "name" : "PersistedProperty",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "11.0"
    }
  ],
  "products" : [
    {
      "name" : "PersistedProperty",
      "targets" : [
        "PersistedProperty"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PersistedPropertyTests",
      "module_type" : "SwiftTarget",
      "name" : "PersistedPropertyTests",
      "path" : "Tests/PersistedPropertyTests",
      "sources" : [
        "Common/InMemoryStorageService.swift",
        "Common/PersistedContainer.swift",
        "PersistedPropertyInMemoryTests.swift",
        "PersistedPropertyKeyChainTests.swift",
        "PersistedPropertyTests.swift",
        "PersistedPropertyUserDefaultsTests.swift"
      ],
      "target_dependencies" : [
        "PersistedProperty"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PersistedProperty",
      "module_type" : "SwiftTarget",
      "name" : "PersistedProperty",
      "path" : "Sources/PersistedProperty",
      "product_memberships" : [
        "PersistedProperty"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/PersistedProperty/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Common/AnyOptional.swift",
        "Common/Mutex.swift",
        "Common/MutexType.swift",
        "Common/StorageCoder.swift",
        "Persisted.swift",
        "Services/KeyChainStorageService.swift",
        "Services/UserDefaultsStorageService.swift",
        "Storage.swift",
        "StorageService.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.