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 RetryingOperation with Swift 6.0 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/happn-app/RetryingOperation.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/happn-app/RetryingOperation
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at c64f989 Make the RetryHelper methods mutating
Cloned https://github.com/happn-app/RetryingOperation.git
Revision (git rev-parse @):
c64f98966916fc184f7575dd97e2eba9962a3d33
SUCCESS checkout https://github.com/happn-app/RetryingOperation.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/happn-app/RetryingOperation.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
[2/3] Write swift-version-6F35C1178C84523A.txt
[4/7] Compiling Logging Logging.swift
[5/7] Compiling Logging LogHandler.swift
[6/7] Emitting module Logging
[7/7] Compiling Logging Locks.swift
[8/12] Compiling RetryingOperation RetryingOperationConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/RetryingOperation/RetryingOperationConfig.swift:45:20: warning: static property 'oslog' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
43 | #if canImport(os)
44 | 	@available(macOS 10.12, tvOS 10.0, iOS 10.0, watchOS 3.0, *)
45 | 	public static var oslog: OSLog? = .default
   |                    |- warning: static property 'oslog' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'oslog' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: annotate 'oslog' with '@MainActor' if property should only be accessed from the main actor
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | #endif
47 | 	public static var logger: Logging.Logger? = {
/Users/admin/builder/spi-builder-workspace/Sources/RetryingOperation/RetryingOperationConfig.swift:47:20: warning: static property 'logger' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
45 | 	public static var oslog: OSLog? = .default
46 | #endif
47 | 	public static var logger: Logging.Logger? = {
   |                    |- warning: static property 'logger' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: annotate 'logger' 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
48 | #if canImport(os)
49 | 		if #available(macOS 10.12, tvOS 10.0, iOS 10.0, watchOS 3.0, *) {
[9/12] Compiling RetryingOperation WrappedRetryingOperation.swift
[10/12] Compiling RetryingOperation RetryingOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/RetryingOperation/RetryingOperation.swift:79:12: warning: class 'RetryingOperation' must restate inherited '@unchecked Sendable' conformance
 77 |  A solution is to use `RetryableOperationWrapper`.
 78 |  See the doc of this class for more information. */
 79 | open class RetryingOperation : Operation {
    |            `- warning: class 'RetryingOperation' must restate inherited '@unchecked Sendable' conformance
 80 |
 81 | 	public var numberOfRetries: Int? {
/Users/admin/builder/spi-builder-workspace/Sources/RetryingOperation/RetryingOperationConfig.swift:45:20: warning: static property 'oslog' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
43 | #if canImport(os)
44 | 	@available(macOS 10.12, tvOS 10.0, iOS 10.0, watchOS 3.0, *)
45 | 	public static var oslog: OSLog? = .default
   |                    |- warning: static property 'oslog' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'oslog' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: annotate 'oslog' with '@MainActor' if property should only be accessed from the main actor
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | #endif
47 | 	public static var logger: Logging.Logger? = {
/Users/admin/builder/spi-builder-workspace/Sources/RetryingOperation/RetryingOperationConfig.swift:47:20: warning: static property 'logger' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
45 | 	public static var oslog: OSLog? = .default
46 | #endif
47 | 	public static var logger: Logging.Logger? = {
   |                    |- warning: static property 'logger' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: annotate 'logger' 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
48 | #if canImport(os)
49 | 		if #available(macOS 10.12, tvOS 10.0, iOS 10.0, watchOS 3.0, *) {
/Users/admin/builder/spi-builder-workspace/Sources/RetryingOperation/RetryingOperation.swift:202:52: warning: capture of 'helpers' with non-sendable type '[any RetryHelper]?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
200 | 	 But if you call this method with `nil`, the base operation is retried *now*. */
201 | 	public final func retry(withHelpers helpers: [RetryHelper]?) {
202 | 		retryQueue.async{ self._unsafeRetry(withHelpers: helpers) }
    |                                                    `- warning: capture of 'helpers' with non-sendable type '[any RetryHelper]?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
203 | 	}
204 |
/Users/admin/builder/spi-builder-workspace/Sources/RetryingOperation/RetryHelper.swift:20:17: note: protocol 'RetryHelper' does not conform to the 'Sendable' protocol
18 |
19 |
20 | public protocol RetryHelper {
   |                 `- note: protocol 'RetryHelper' does not conform to the 'Sendable' protocol
21 |
22 | 	mutating func setup()
/Users/admin/builder/spi-builder-workspace/Sources/RetryingOperation/RetryingOperation.swift:264:48: warning: capture of 'retryHelpers' with non-sendable type '[any RetryHelper]?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
262 | 			self.isBaseOperationRunning = false
263 |
264 | 			guard !self.isCancelled, let retryHelpers = retryHelpers else {
    |                                                `- warning: capture of 'retryHelpers' with non-sendable type '[any RetryHelper]?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
265 | 				self.retryingState = .finished
266 | 				return
/Users/admin/builder/spi-builder-workspace/Sources/RetryingOperation/RetryHelper.swift:20:17: note: protocol 'RetryHelper' does not conform to the 'Sendable' protocol
18 |
19 |
20 | public protocol RetryHelper {
   |                 `- note: protocol 'RetryHelper' does not conform to the 'Sendable' protocol
21 |
22 | 	mutating func setup()
[11/12] Emitting module RetryingOperation
/Users/admin/builder/spi-builder-workspace/Sources/RetryingOperation/RetryingOperation.swift:79:12: warning: class 'RetryingOperation' must restate inherited '@unchecked Sendable' conformance
 77 |  A solution is to use `RetryableOperationWrapper`.
 78 |  See the doc of this class for more information. */
 79 | open class RetryingOperation : Operation {
    |            `- warning: class 'RetryingOperation' must restate inherited '@unchecked Sendable' conformance
 80 |
 81 | 	public var numberOfRetries: Int? {
/Users/admin/builder/spi-builder-workspace/Sources/RetryingOperation/RetryingOperationConfig.swift:45:20: warning: static property 'oslog' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
43 | #if canImport(os)
44 | 	@available(macOS 10.12, tvOS 10.0, iOS 10.0, watchOS 3.0, *)
45 | 	public static var oslog: OSLog? = .default
   |                    |- warning: static property 'oslog' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'oslog' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: annotate 'oslog' with '@MainActor' if property should only be accessed from the main actor
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | #endif
47 | 	public static var logger: Logging.Logger? = {
/Users/admin/builder/spi-builder-workspace/Sources/RetryingOperation/RetryingOperationConfig.swift:47:20: warning: static property 'logger' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
45 | 	public static var oslog: OSLog? = .default
46 | #endif
47 | 	public static var logger: Logging.Logger? = {
   |                    |- warning: static property 'logger' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: annotate 'logger' 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
48 | #if canImport(os)
49 | 		if #available(macOS 10.12, tvOS 10.0, iOS 10.0, watchOS 3.0, *) {
[12/12] Compiling RetryingOperation RetryHelper.swift
Build complete! (21.30s)
Fetching https://github.com/apple/swift-log.git
[1/3361] Fetching swift-log
Fetched https://github.com/apple/swift-log.git from cache (1.12s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.4.0 (0.62s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.4.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    }
  ],
  "manifest_display_name" : "RetryingOperation",
  "name" : "RetryingOperation",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "RetryingOperation",
      "targets" : [
        "RetryingOperation"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "RetryingOperationTests",
      "module_type" : "SwiftTarget",
      "name" : "RetryingOperationTests",
      "path" : "Tests/RetryingOperationTests",
      "sources" : [
        "Helpers/BasicAsynchronousRetryingOperation.swift",
        "Helpers/BasicSynchronousRetryableOperation.swift",
        "Helpers/BasicSynchronousRetryingOperation.swift",
        "Helpers/CustomRetrySynchronousRetryingOperation.swift",
        "RetryingOperationTests.swift"
      ],
      "target_dependencies" : [
        "RetryingOperation"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RetryingOperation",
      "module_type" : "SwiftTarget",
      "name" : "RetryingOperation",
      "path" : "Sources/RetryingOperation",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "RetryingOperation"
      ],
      "sources" : [
        "RetryHelper.swift",
        "RetryingOperation.swift",
        "RetryingOperationConfig.swift",
        "WrappedRetryingOperation.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.