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

Swift 6 data race errors: 5

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/0xLeif/PluginTask.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/0xLeif/PluginTask
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 346cef8 Make some changed after working with a demo project
Cloned https://github.com/0xLeif/PluginTask.git
Revision (git rev-parse @):
346cef89d6d07a7a110194f9c62b9cf44aa7b629
SUCCESS checkout https://github.com/0xLeif/PluginTask.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/0xLeif/PluginTask.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/5] Write sources
[4/5] Write swift-version-6F35C1178C84523A.txt
[6/19] Emitting module Fork
[7/19] Compiling Fork KeyPathActor.swift
[8/19] Compiling Fork ForkedActor.swift
[9/19] Compiling Fork Fork.swift
[10/19] Compiling Fork Sequence+ForkedArray.swift
[11/19] Compiling Fork Task+Fork.swift
[12/19] Compiling Fork Actor+ForkedActor.swift
[13/19] Compiling Fork ForkedArray.swift
[14/24] Compiling Plugin ImmutablePlugin.swift
[15/24] Compiling Plugin ImmutablePluginable.swift
[16/24] Emitting module Plugin
[17/24] Compiling Plugin Pluginable.swift
[18/24] Compiling Plugin Plugin.swift
[19/24] Compiling t t+Structure.swift
[20/24] Compiling t t.swift
[21/24] Compiling t t+Factories.swift
[22/24] Compiling t t+Assertion.swift
[23/24] Emitting module t
[24/24] Compiling t t+Logging.swift
[25/30] Compiling PluginTask TaskPluginManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/TaskPluginManager.swift:9:14: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 2 |
 3 | /// A manager for Task plugins.
 4 | open class TaskPluginManager<Success>: Pluginable {
   |                              `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
 5 |     /// The plugins registered with the manager.
 6 |     open var plugins: [any Plugin]
 7 |
 8 |     /// The task associated with the manager.
 9 |     open var task: Task<Success, Error>?
   |              `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
10 |
11 |     /// Initializes a new task plugin manager.
[26/30] Compiling PluginTask Task+PluginTask.swift
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/Extensions/Task+PluginTask.swift:10:20: warning: stored property 'actualValue' of 'Sendable'-conforming generic struct 'InvalidTypeError' has non-sendable type 'Any?'; this is an error in the Swift 6 language mode
 8 |
 9 |         /// The actual output value.
10 |         public let actualValue: Any?
   |                    `- warning: stored property 'actualValue' of 'Sendable'-conforming generic struct 'InvalidTypeError' has non-sendable type 'Any?'; this is an error in the Swift 6 language mode
11 |
12 |         /// Initializes a new instance of the error.
[27/30] Compiling PluginTask TaskPlugin.swift
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/Plugins/Interface/TaskPlugin.swift:23:16: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
21 | extension TaskPlugin where Source == TaskPluginManager<Any>, Output == Task<Any, Error>? {
22 |     /// The key path used to access the task associated with the plugin manager.
23 |     public var keyPath: WritableKeyPath<TaskPluginManager<Any>, Task<Any, Error>?> {
   |                `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
24 |         get { \.task }
25 |         set { }
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/Plugins/Interface/TaskPlugin.swift:21:1: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 | }
20 |
21 | extension TaskPlugin where Source == TaskPluginManager<Any>, Output == Task<Any, Error>? {
   | `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     /// The key path used to access the task associated with the plugin manager.
23 |     public var keyPath: WritableKeyPath<TaskPluginManager<Any>, Task<Any, Error>?> {
[28/30] Compiling PluginTask PluginTask.swift
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/PluginTask.swift:19:19: warning: capture of 'operation' with non-sendable type '(TaskPluginManager<Success>) async throws -> Success' in a `@Sendable` closure; this is an error in the Swift 6 language mode
17 |
18 |     let task: Task<Success, Error> = Task(priority: priority) {
19 |         try await operation(taskManager)
   |                   |- warning: capture of 'operation' with non-sendable type '(TaskPluginManager<Success>) async throws -> Success' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
20 |     }
21 |
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/PluginTask.swift:19:29: warning: capture of 'taskManager' with non-sendable type 'TaskPluginManager<Success>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
17 |
18 |     let task: Task<Success, Error> = Task(priority: priority) {
19 |         try await operation(taskManager)
   |                             `- warning: capture of 'taskManager' with non-sendable type 'TaskPluginManager<Success>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 |     }
21 |
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/TaskPluginManager.swift:4:12: note: generic class 'TaskPluginManager' does not conform to the 'Sendable' protocol
 2 |
 3 | /// A manager for Task plugins.
 4 | open class TaskPluginManager<Success>: Pluginable {
   |            `- note: generic class 'TaskPluginManager' does not conform to the 'Sendable' protocol
 5 |     /// The plugins registered with the manager.
 6 |     open var plugins: [any Plugin]
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/PluginTask.swift:42:19: warning: capture of 'operation' with non-sendable type '(TaskPluginManager<Void>) async throws -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
40 |
41 |     let task: Task<Void, Error> = Task(priority: priority) {
42 |         try await operation(taskManager)
   |                   |- warning: capture of 'operation' with non-sendable type '(TaskPluginManager<Void>) async throws -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 |     }
44 |
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/PluginTask.swift:42:29: warning: capture of 'taskManager' with non-sendable type 'TaskPluginManager<Void>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
40 |
41 |     let task: Task<Void, Error> = Task(priority: priority) {
42 |         try await operation(taskManager)
   |                             `- warning: capture of 'taskManager' with non-sendable type 'TaskPluginManager<Void>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
43 |     }
44 |
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/TaskPluginManager.swift:4:12: note: generic class 'TaskPluginManager' does not conform to the 'Sendable' protocol
 2 |
 3 | /// A manager for Task plugins.
 4 | open class TaskPluginManager<Success>: Pluginable {
   |            `- note: generic class 'TaskPluginManager' does not conform to the 'Sendable' protocol
 5 |     /// The plugins registered with the manager.
 6 |     open var plugins: [any Plugin]
[29/30] Compiling PluginTask CancelTaskPlugin.swift
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/Plugins/CancelTaskPlugin.swift:23:17: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
21 |     ///
22 |     /// - Throws: An error if the plugin fails to handle the input value.
23 |     public func handle(
   |                 `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
24 |         value: Payload,
25 |         output: inout Task<Any, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/Plugins/CancelTaskPlugin.swift:27:17: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
25 |         output: inout Task<Any, Error>?
26 |     ) async throws {
27 |         output?.cancel()
   |                 `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
28 |     }
29 | }
[30/30] Emitting module PluginTask
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/Extensions/Task+PluginTask.swift:10:20: warning: stored property 'actualValue' of 'Sendable'-conforming generic struct 'InvalidTypeError' has non-sendable type 'Any?'; this is an error in the Swift 6 language mode
 8 |
 9 |         /// The actual output value.
10 |         public let actualValue: Any?
   |                    `- warning: stored property 'actualValue' of 'Sendable'-conforming generic struct 'InvalidTypeError' has non-sendable type 'Any?'; this is an error in the Swift 6 language mode
11 |
12 |         /// Initializes a new instance of the error.
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/Plugins/CancelTaskPlugin.swift:23:17: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
21 |     ///
22 |     /// - Throws: An error if the plugin fails to handle the input value.
23 |     public func handle(
   |                 `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
24 |         value: Payload,
25 |         output: inout Task<Any, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/Plugins/Interface/TaskPlugin.swift:23:16: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
21 | extension TaskPlugin where Source == TaskPluginManager<Any>, Output == Task<Any, Error>? {
22 |     /// The key path used to access the task associated with the plugin manager.
23 |     public var keyPath: WritableKeyPath<TaskPluginManager<Any>, Task<Any, Error>?> {
   |                `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
24 |         get { \.task }
25 |         set { }
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/Plugins/Interface/TaskPlugin.swift:21:1: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 | }
20 |
21 | extension TaskPlugin where Source == TaskPluginManager<Any>, Output == Task<Any, Error>? {
   | `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     /// The key path used to access the task associated with the plugin manager.
23 |     public var keyPath: WritableKeyPath<TaskPluginManager<Any>, Task<Any, Error>?> {
/Users/admin/builder/spi-builder-workspace/Sources/PluginTask/TaskPluginManager.swift:9:14: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 2 |
 3 | /// A manager for Task plugins.
 4 | open class TaskPluginManager<Success>: Pluginable {
   |                              `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
 5 |     /// The plugins registered with the manager.
 6 |     open var plugins: [any Plugin]
 7 |
 8 |     /// The task associated with the manager.
 9 |     open var task: Task<Success, Error>?
   |              `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
10 |
11 |     /// Initializes a new task plugin manager.
Build complete! (19.30s)
Fetching https://github.com/0xOpenBytes/t
Fetching https://github.com/0xLeif/Plugin
Fetching https://github.com/0xLeif/Fork
[1/153] Fetching plugin
[154/534] Fetching plugin, fork
[349/902] Fetching plugin, fork, t
Fetched https://github.com/0xLeif/Fork from cache (1.06s)
Fetched https://github.com/0xLeif/Plugin from cache (1.06s)
Fetched https://github.com/0xOpenBytes/t from cache (1.06s)
Computing version for https://github.com/0xOpenBytes/t
Computed https://github.com/0xOpenBytes/t at 1.0.4 (0.67s)
Computing version for https://github.com/0xLeif/Fork
Computed https://github.com/0xLeif/Fork at 1.2.0 (0.68s)
Computing version for https://github.com/0xLeif/Plugin
Computed https://github.com/0xLeif/Plugin at 2.0.0 (0.64s)
Creating working copy for https://github.com/0xLeif/Plugin
Working copy of https://github.com/0xLeif/Plugin resolved at 2.0.0
Creating working copy for https://github.com/0xOpenBytes/t
Working copy of https://github.com/0xOpenBytes/t resolved at 1.0.4
Creating working copy for https://github.com/0xLeif/Fork
Working copy of https://github.com/0xLeif/Fork resolved at 1.2.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/0xLeif/Plugin"
    },
    {
      "identity" : "fork",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/0xLeif/Fork"
    },
    {
      "identity" : "t",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/0xOpenBytes/t"
    }
  ],
  "manifest_display_name" : "PluginTask",
  "name" : "PluginTask",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "PluginTask",
      "targets" : [
        "PluginTask"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PluginTaskTests",
      "module_type" : "SwiftTarget",
      "name" : "PluginTaskTests",
      "path" : "Tests/PluginTaskTests",
      "sources" : [
        "PluginTaskTests.swift"
      ],
      "target_dependencies" : [
        "PluginTask"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PluginTask",
      "module_type" : "SwiftTarget",
      "name" : "PluginTask",
      "path" : "Sources/PluginTask",
      "product_dependencies" : [
        "Plugin",
        "Fork",
        "t"
      ],
      "product_memberships" : [
        "PluginTask"
      ],
      "sources" : [
        "Extensions/Task+PluginTask.swift",
        "PluginTask.swift",
        "Plugins/CancelTaskPlugin.swift",
        "Plugins/Interface/TaskPlugin.swift",
        "TaskPluginManager.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.