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 SwiftQueue, reference 6.0.2 (2757fe), with Swift 6.0 for macOS (SPM) on 29 Nov 2024 04:55:59 UTC.

Swift 6 data race errors: 1

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/lucas34/SwiftQueue.git
Reference: 6.0.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/lucas34/SwiftQueue
 * tag               6.0.2      -> FETCH_HEAD
HEAD is now at 2757fe4 Release 6.0.2 (#431)
Cloned https://github.com/lucas34/SwiftQueue.git
Revision (git rev-parse @):
2757fe47eec085a1cda750fd398ebb4f2a69f3a4
SUCCESS checkout https://github.com/lucas34/SwiftQueue.git at 6.0.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": "swiftqueue",
      "name": "SwiftQueue",
      "url": "https://github.com/lucas34/SwiftQueue.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftQueue",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/lucas34/SwiftQueue.git
[1/5320] Fetching swiftqueue
Fetched https://github.com/lucas34/SwiftQueue.git from cache (1.14s)
Creating working copy for https://github.com/lucas34/SwiftQueue.git
Working copy of https://github.com/lucas34/SwiftQueue.git resolved at 6.0.2 (2757fe4)
warning: '.resolve-product-dependencies': dependency 'swiftqueue' 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/lucas34/SwiftQueue.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/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/24] Emitting module SwiftQueue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SqOperation.swift:25:20: warning: class 'SqOperation' must restate inherited '@unchecked Sendable' conformance
 23 | import Foundation
 24 |
 25 | public final class SqOperation: Operation {
    |                    `- warning: class 'SqOperation' must restate inherited '@unchecked Sendable' conformance
 26 |
 27 |     public let info: JobInfo
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SqOperationQueue.swift:25:20: warning: class 'SqOperationQueue' must restate inherited '@unchecked Sendable' conformance
 23 | import Foundation
 24 |
 25 | public final class SqOperationQueue: OperationQueue {
    |                    `- warning: class 'SqOperationQueue' must restate inherited '@unchecked Sendable' conformance
 26 |
 27 |     private let creator: JobCreator
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SqOperationQueue.swift:154:16: warning: class 'TriggerOperation' must restate inherited '@unchecked Sendable' conformance
152 | }
153 |
154 | internal class TriggerOperation: Operation {}
    |                `- warning: class 'TriggerOperation' must restate inherited '@unchecked Sendable' conformance
155 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SwiftQueueLogger.swift:88:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NoLogger' may have shared mutable state; this is an error in the Swift 6 language mode
83 |
84 | /// Class to ignore all kind of logs
85 | public class NoLogger: SwiftQueueLogger {
   |              `- note: class 'NoLogger' does not conform to the 'Sendable' protocol
86 |
87 |     /// Singleton instance to avoid multiple instance across all queues
88 |     public static let shared = NoLogger()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NoLogger' 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
89 |
90 |     private init() {}
[4/26] Compiling SwiftQueue Constraint+Charging.swift
[5/26] Compiling SwiftQueue Constraint+Deadline.swift
[6/26] Compiling SwiftQueue Constraint+Delay.swift
[7/26] Compiling SwiftQueue UserDefaultsPersister.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/Utils.swift:30:46: warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
 26 | internal extension DispatchQueue {
 27 |
 28 |     func runAfter(_ seconds: TimeInterval, callback: @escaping () -> Void) {
    |                                            `- note: parameter 'callback' is implicitly non-sendable
 29 |         let delta = DispatchTime.now() + seconds
 30 |         asyncAfter(deadline: delta, execute: callback)
    |                                              `- warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
 31 |     }
 32 |
[8/26] Compiling SwiftQueue Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/Utils.swift:30:46: warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
 26 | internal extension DispatchQueue {
 27 |
 28 |     func runAfter(_ seconds: TimeInterval, callback: @escaping () -> Void) {
    |                                            `- note: parameter 'callback' is implicitly non-sendable
 29 |         let delta = DispatchTime.now() + seconds
 30 |         asyncAfter(deadline: delta, execute: callback)
    |                                              `- warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
 31 |     }
 32 |
[9/26] Compiling SwiftQueue ConstraintMaker.swift
[10/26] Compiling SwiftQueue JobBuilder.swift
[11/26] Compiling SwiftQueue Constraint+Retry.swift
[12/26] Compiling SwiftQueue Constraint+Tag.swift
[13/26] Compiling SwiftQueue Constraint+Timeout.swift
[14/26] Compiling SwiftQueue SqOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SqOperation.swift:25:20: warning: class 'SqOperation' must restate inherited '@unchecked Sendable' conformance
 23 | import Foundation
 24 |
 25 | public final class SqOperation: Operation {
    |                    `- warning: class 'SqOperation' must restate inherited '@unchecked Sendable' conformance
 26 |
 27 |     public let info: JobInfo
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SqOperationQueue.swift:25:20: warning: class 'SqOperationQueue' must restate inherited '@unchecked Sendable' conformance
 23 | import Foundation
 24 |
 25 | public final class SqOperationQueue: OperationQueue {
    |                    `- warning: class 'SqOperationQueue' must restate inherited '@unchecked Sendable' conformance
 26 |
 27 |     private let creator: JobCreator
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SqOperationQueue.swift:154:16: warning: class 'TriggerOperation' must restate inherited '@unchecked Sendable' conformance
152 | }
153 |
154 | internal class TriggerOperation: Operation {}
    |                `- warning: class 'TriggerOperation' must restate inherited '@unchecked Sendable' conformance
155 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SqOperationQueue.swift:57:49: warning: capture of 'queue' with non-sendable type 'any Queue' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 55 |         if params.initInBackground {
 56 |             params.dispatchQueue.async { [weak self] in
 57 |                 self?.loadSerializedTasks(name: queue.name)
    |                                                 `- warning: capture of 'queue' with non-sendable type 'any Queue' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |             }
 59 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SwiftQueue.swift:138:17: note: protocol 'Queue' does not conform to the 'Sendable' protocol
136 | }
137 |
138 | public protocol Queue {
    |                 `- note: protocol 'Queue' does not conform to the 'Sendable' protocol
139 |
140 |     var name: String { get }
[15/26] Compiling SwiftQueue SqOperationQueue.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SqOperation.swift:25:20: warning: class 'SqOperation' must restate inherited '@unchecked Sendable' conformance
 23 | import Foundation
 24 |
 25 | public final class SqOperation: Operation {
    |                    `- warning: class 'SqOperation' must restate inherited '@unchecked Sendable' conformance
 26 |
 27 |     public let info: JobInfo
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SqOperationQueue.swift:25:20: warning: class 'SqOperationQueue' must restate inherited '@unchecked Sendable' conformance
 23 | import Foundation
 24 |
 25 | public final class SqOperationQueue: OperationQueue {
    |                    `- warning: class 'SqOperationQueue' must restate inherited '@unchecked Sendable' conformance
 26 |
 27 |     private let creator: JobCreator
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SqOperationQueue.swift:154:16: warning: class 'TriggerOperation' must restate inherited '@unchecked Sendable' conformance
152 | }
153 |
154 | internal class TriggerOperation: Operation {}
    |                `- warning: class 'TriggerOperation' must restate inherited '@unchecked Sendable' conformance
155 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SqOperationQueue.swift:57:49: warning: capture of 'queue' with non-sendable type 'any Queue' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 55 |         if params.initInBackground {
 56 |             params.dispatchQueue.async { [weak self] in
 57 |                 self?.loadSerializedTasks(name: queue.name)
    |                                                 `- warning: capture of 'queue' with non-sendable type 'any Queue' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |             }
 59 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SwiftQueue.swift:138:17: note: protocol 'Queue' does not conform to the 'Sendable' protocol
136 | }
137 |
138 | public protocol Queue {
    |                 `- note: protocol 'Queue' does not conform to the 'Sendable' protocol
139 |
140 |     var name: String { get }
[16/26] Compiling SwiftQueue JobInfo.swift
[17/26] Compiling SwiftQueue JobInfoSerializer+Decodable.swift
[18/26] Compiling SwiftQueue SwiftQueueManager+BackgroundTask.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SwiftQueueLogger.swift:88:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NoLogger' may have shared mutable state; this is an error in the Swift 6 language mode
83 |
84 | /// Class to ignore all kind of logs
85 | public class NoLogger: SwiftQueueLogger {
   |              `- note: class 'NoLogger' does not conform to the 'Sendable' protocol
86 |
87 |     /// Singleton instance to avoid multiple instance across all queues
88 |     public static let shared = NoLogger()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NoLogger' 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
89 |
90 |     private init() {}
[19/26] Compiling SwiftQueue SwiftQueueManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SwiftQueueLogger.swift:88:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NoLogger' may have shared mutable state; this is an error in the Swift 6 language mode
83 |
84 | /// Class to ignore all kind of logs
85 | public class NoLogger: SwiftQueueLogger {
   |              `- note: class 'NoLogger' does not conform to the 'Sendable' protocol
86 |
87 |     /// Singleton instance to avoid multiple instance across all queues
88 |     public static let shared = NoLogger()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NoLogger' 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
89 |
90 |     private init() {}
[20/26] Compiling SwiftQueue Constraint+UniqueUUID.swift
[21/26] Compiling SwiftQueue Constraint.swift
[22/26] Compiling SwiftQueue Constraint+Network.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/Constraint+Network.swift:65:16: warning: capture of 'networkType' with non-sendable type 'NetworkType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 25 |
 26 | /// Kind of connectivity required for the job to run
 27 | public enum NetworkType: Int, Codable {
    |             `- note: consider making enum 'NetworkType' conform to the 'Sendable' protocol
 28 |     /// Job will run regardless the connectivity of the platform
 29 |     case any = 0
    :
 63 |
 64 |             /// If network type is wifi, make sure the path is not using cellular, otherwise wait
 65 |             if networkType == .wifi,
    |                `- warning: capture of 'networkType' with non-sendable type 'NetworkType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 66 |                path.usesInterfaceType(.cellular) {
 67 |                 operation.logger.log(.verbose, jobId: operation.name, message: "Unsatisfied network requirement")
[23/26] Compiling SwiftQueue Constraint+Persister.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/Constraint+Network.swift:65:16: warning: capture of 'networkType' with non-sendable type 'NetworkType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 25 |
 26 | /// Kind of connectivity required for the job to run
 27 | public enum NetworkType: Int, Codable {
    |             `- note: consider making enum 'NetworkType' conform to the 'Sendable' protocol
 28 |     /// Job will run regardless the connectivity of the platform
 29 |     case any = 0
    :
 63 |
 64 |             /// If network type is wifi, make sure the path is not using cellular, otherwise wait
 65 |             if networkType == .wifi,
    |                `- warning: capture of 'networkType' with non-sendable type 'NetworkType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 66 |                path.usesInterfaceType(.cellular) {
 67 |                 operation.logger.log(.verbose, jobId: operation.name, message: "Unsatisfied network requirement")
[24/26] Compiling SwiftQueue Constraint+Repeat.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/Constraint+Network.swift:65:16: warning: capture of 'networkType' with non-sendable type 'NetworkType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 25 |
 26 | /// Kind of connectivity required for the job to run
 27 | public enum NetworkType: Int, Codable {
    |             `- note: consider making enum 'NetworkType' conform to the 'Sendable' protocol
 28 |     /// Job will run regardless the connectivity of the platform
 29 |     case any = 0
    :
 63 |
 64 |             /// If network type is wifi, make sure the path is not using cellular, otherwise wait
 65 |             if networkType == .wifi,
    |                `- warning: capture of 'networkType' with non-sendable type 'NetworkType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 66 |                path.usesInterfaceType(.cellular) {
 67 |                 operation.logger.log(.verbose, jobId: operation.name, message: "Unsatisfied network requirement")
[25/26] Compiling SwiftQueue SwiftQueue.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SwiftQueueLogger.swift:88:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NoLogger' may have shared mutable state; this is an error in the Swift 6 language mode
83 |
84 | /// Class to ignore all kind of logs
85 | public class NoLogger: SwiftQueueLogger {
   |              `- note: class 'NoLogger' does not conform to the 'Sendable' protocol
86 |
87 |     /// Singleton instance to avoid multiple instance across all queues
88 |     public static let shared = NoLogger()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NoLogger' 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
89 |
90 |     private init() {}
[26/26] Compiling SwiftQueue SwiftQueueLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftQueue/SwiftQueueLogger.swift:88:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NoLogger' may have shared mutable state; this is an error in the Swift 6 language mode
83 |
84 | /// Class to ignore all kind of logs
85 | public class NoLogger: SwiftQueueLogger {
   |              `- note: class 'NoLogger' does not conform to the 'Sendable' protocol
86 |
87 |     /// Singleton instance to avoid multiple instance across all queues
88 |     public static let shared = NoLogger()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NoLogger' 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
89 |
90 |     private init() {}
Build complete! (16.99s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftQueue",
  "name" : "SwiftQueue",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.14"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "5.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftQueue",
      "targets" : [
        "SwiftQueue"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "SwiftQueueTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftQueueTests",
      "path" : "Tests/SwiftQueueTests",
      "sources" : [
        "BackgroundTasksTest.swift",
        "BasicConstraintTest.swift",
        "ConstraintTest+Charging.swift",
        "ConstraintTest+Custom.swift",
        "ConstraintTest+Deadline.swift",
        "ConstraintTest+Delay.swift",
        "ConstraintTest+Network.swift",
        "ConstraintTest+Repeat.swift",
        "ConstraintTest+Retry.swift",
        "ConstraintTest+Tag.swift",
        "ConstraintTest+Timeout.swift",
        "ConstraintTest+UniqueUUID.swift",
        "LoggerTests.swift",
        "PersisterTests.swift",
        "SqOperationTest.swift",
        "StartStopTests.swift",
        "SwiftQueueBuilderTests.swift",
        "SwiftQueueManagerTests.swift",
        "TestUtils.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "SwiftQueue"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftQueue",
      "module_type" : "SwiftTarget",
      "name" : "SwiftQueue",
      "path" : "Sources/SwiftQueue",
      "product_memberships" : [
        "SwiftQueue"
      ],
      "sources" : [
        "Constraint+Charging.swift",
        "Constraint+Deadline.swift",
        "Constraint+Delay.swift",
        "Constraint+Network.swift",
        "Constraint+Persister.swift",
        "Constraint+Repeat.swift",
        "Constraint+Retry.swift",
        "Constraint+Tag.swift",
        "Constraint+Timeout.swift",
        "Constraint+UniqueUUID.swift",
        "Constraint.swift",
        "ConstraintMaker.swift",
        "JobBuilder.swift",
        "JobInfo.swift",
        "JobInfoSerializer+Decodable.swift",
        "SqOperation.swift",
        "SqOperationQueue.swift",
        "SwiftQueue.swift",
        "SwiftQueueLogger.swift",
        "SwiftQueueManager+BackgroundTask.swift",
        "SwiftQueueManager.swift",
        "UserDefaultsPersister.swift",
        "Utils.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.