Build Information
Successful build of Taskig, reference 0.2.6 (8e7e56), with Swift 6.1 for macOS (SPM) on 16 Jun 2025 21:13:57 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.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 InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/stendahls/Taskig.git
Reference: 0.2.6
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/stendahls/Taskig
* tag 0.2.6 -> FETCH_HEAD
HEAD is now at 8e7e560 Updated license text
Cloned https://github.com/stendahls/Taskig.git
Revision (git rev-parse @):
8e7e5603d5f14bb2a1b262137d9122ec58c8837a
SUCCESS checkout https://github.com/stendahls/Taskig.git at 0.2.6
========================================
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": "taskig",
"name": "Taskig",
"url": "https://github.com/stendahls/Taskig.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Taskig",
"dependencies": [
]
}
]
}
Fetching https://github.com/stendahls/Taskig.git
[1/298] Fetching taskig
Fetched https://github.com/stendahls/Taskig.git from cache (0.81s)
Creating working copy for https://github.com/stendahls/Taskig.git
Working copy of https://github.com/stendahls/Taskig.git resolved at 0.2.6 (8e7e560)
warning: '.resolve-product-dependencies': dependency 'taskig' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/stendahls/Taskig.git
https://github.com/stendahls/Taskig.git
{
"dependencies" : [
],
"manifest_display_name" : "Taskig",
"name" : "Taskig",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "9.0"
},
{
"name" : "macos",
"version" : "10.11"
},
{
"name" : "tvos",
"version" : "9.0"
},
{
"name" : "watchos",
"version" : "3.0"
}
],
"products" : [
{
"name" : "Taskig",
"targets" : [
"Taskig"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TaskigTests",
"module_type" : "SwiftTarget",
"name" : "TaskigTests",
"path" : "TaskigTests",
"sources" : [
"TaskigCancellableTaskTests.swift",
"TaskigCollectionsTests.swift",
"TaskigHelpersTests.swift",
"TaskigTaskTests.swift",
"TaskigThrowableTaskTests.swift"
],
"target_dependencies" : [
"Taskig"
],
"type" : "test"
},
{
"c99name" : "Taskig",
"module_type" : "SwiftTarget",
"name" : "Taskig",
"path" : "TaskigSource/Base",
"product_memberships" : [
"Taskig"
],
"sources" : [
"CancellableTaskType.swift",
"Collections.swift",
"Helpers.swift",
"Task.swift",
"TaskType.swift",
"ThrowableTask.swift",
"ThrowableTaskType.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.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-2F0A5646E1D333AE.txt
[3/10] Compiling Taskig CancellableTaskType.swift
[4/10] Compiling Taskig TaskType.swift
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/TaskType.swift:52:13: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
50 |
51 | executionQueue.async {
52 | self.action(completion: { (actionResult) in
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
53 | result = actionResult
54 | group.leave()
Taskig.TaskType.Self:2:1: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
1 | protocol TaskType {
2 | Self : Taskig.TaskType}
| `- note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
3 |
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/TaskType.swift:53:17: warning: capture of 'result' with non-sendable type 'Self.ResultType?' in a '@Sendable' closure
51 | executionQueue.async {
52 | self.action(completion: { (actionResult) in
53 | result = actionResult
| `- warning: capture of 'result' with non-sendable type 'Self.ResultType?' in a '@Sendable' closure
54 | group.leave()
55 | })
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/TaskType.swift:53:17: warning: capture of 'result' with non-sendable type 'Self.ResultType?' in an isolated closure; this is an error in the Swift 6 language mode
51 | executionQueue.async {
52 | self.action(completion: { (actionResult) in
53 | result = actionResult
| `- warning: capture of 'result' with non-sendable type 'Self.ResultType?' in an isolated closure; this is an error in the Swift 6 language mode
54 | group.leave()
55 | })
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/TaskType.swift:53:17: warning: mutation of captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
51 | executionQueue.async {
52 | self.action(completion: { (actionResult) in
53 | result = actionResult
| `- warning: mutation of captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
54 | group.leave()
55 | })
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/TaskType.swift:65:13: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
63 | func async(delayBy: TimeInterval = 0, completion: @escaping resultHandler) {
64 | executionQueue.asyncAfter(deadline: .now() + delayBy) {
65 | self.action(completion: completion)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
66 | }
67 | }
Taskig.TaskType.Self:2:1: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
1 | protocol TaskType {
2 | Self : Taskig.TaskType}
| `- note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
3 |
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/TaskType.swift:65:37: warning: capture of 'completion' with non-sendable type 'Self.resultHandler' (aka '(Self.ResultType) -> ()') in a '@Sendable' closure
63 | func async(delayBy: TimeInterval = 0, completion: @escaping resultHandler) {
64 | executionQueue.asyncAfter(deadline: .now() + delayBy) {
65 | self.action(completion: completion)
| |- warning: capture of 'completion' with non-sendable type 'Self.resultHandler' (aka '(Self.ResultType) -> ()') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
66 | }
67 | }
[5/10] Compiling Taskig ThrowableTaskType.swift
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTaskType.swift:54:13: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
52 |
53 | executionQueue.async {
54 | self.action(completion: { (actionResult) in
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
55 | result = actionResult
56 | group.leave()
Taskig.ThrowableTaskType.Self:2:1: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
1 | protocol ThrowableTaskType {
2 | Self : Taskig.ThrowableTaskType}
| `- note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
3 |
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTaskType.swift:55:17: warning: capture of 'result' with non-sendable type 'Result<Self.ResultType, any Error>?' in a '@Sendable' closure
53 | executionQueue.async {
54 | self.action(completion: { (actionResult) in
55 | result = actionResult
| `- warning: capture of 'result' with non-sendable type 'Result<Self.ResultType, any Error>?' in a '@Sendable' closure
56 | group.leave()
57 | })
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTaskType.swift:55:17: warning: capture of 'result' with non-sendable type 'Result<Self.ResultType, any Error>?' in an isolated closure; this is an error in the Swift 6 language mode
53 | executionQueue.async {
54 | self.action(completion: { (actionResult) in
55 | result = actionResult
| `- warning: capture of 'result' with non-sendable type 'Result<Self.ResultType, any Error>?' in an isolated closure; this is an error in the Swift 6 language mode
56 | group.leave()
57 | })
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTaskType.swift:55:17: warning: mutation of captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
53 | executionQueue.async {
54 | self.action(completion: { (actionResult) in
55 | result = actionResult
| `- warning: mutation of captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
56 | group.leave()
57 | })
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTaskType.swift:72:13: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
70 | func async(delayBy: TimeInterval = 0, completion: @escaping resultHandler) {
71 | executionQueue.asyncAfter(deadline: .now() + delayBy) {
72 | self.action(completion: completion)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
73 | }
74 | }
Taskig.ThrowableTaskType.Self:2:1: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
1 | protocol ThrowableTaskType {
2 | Self : Taskig.ThrowableTaskType}
| `- note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
3 |
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTaskType.swift:72:37: warning: capture of 'completion' with non-sendable type 'Self.resultHandler' (aka '(Result<Self.ResultType, any Error>) -> ()') in a '@Sendable' closure
70 | func async(delayBy: TimeInterval = 0, completion: @escaping resultHandler) {
71 | executionQueue.asyncAfter(deadline: .now() + delayBy) {
72 | self.action(completion: completion)
| |- warning: capture of 'completion' with non-sendable type 'Self.resultHandler' (aka '(Result<Self.ResultType, any Error>) -> ()') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
73 | }
74 | }
[6/10] Compiling Taskig Task.swift
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/Task.swift:55:72: warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
52 |
53 | public extension Task where T == Void {
54 | static func async(executionQueue: DispatchQueue = .global(), delayBy: TimeInterval = 0, action: @escaping () -> Void) {
| `- note: parameter 'action' is implicitly non-sendable
55 | executionQueue.asyncAfter(deadline: .now() + delayBy, execute: action)
| `- warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
56 | }
57 |
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/Task.swift:60:13: warning: capture of 'self' with non-sendable type 'Task<()>' in a '@Sendable' closure
27 | import Foundation
28 |
29 | public struct Task<T>: TaskType {
| `- note: consider making generic struct 'Task' conform to the 'Sendable' protocol
30 | public typealias ResultType = T
31 |
:
58 | func async(delayBy: TimeInterval = 0) {
59 | executionQueue.asyncAfter(deadline: .now() + delayBy) {
60 | self.action(completion: { (_) in })
| `- warning: capture of 'self' with non-sendable type 'Task<()>' in a '@Sendable' closure
61 | }
62 | }
[7/10] Compiling Taskig Collections.swift
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/Collections.swift:134:30: warning: capture of 'transform' with non-sendable type '(Element) -> T' in a '@Sendable' closure
132 |
133 | queue.async(group: workGroup) {
134 | let result = transform(task)
| |- warning: capture of 'transform' with non-sendable type '(Element) -> T' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
135 |
136 | async_custom_queue.sync {
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/Collections.swift:134:40: warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
132 |
133 | queue.async(group: workGroup) {
134 | let result = transform(task)
| `- warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
135 |
136 | async_custom_queue.sync {
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/Collections.swift:137:21: warning: capture of 'completion' with non-sendable type '(T) -> ()' in a '@Sendable' closure
135 |
136 | async_custom_queue.sync {
137 | completion(result)
| |- warning: capture of 'completion' with non-sendable type '(T) -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
138 | workGroup.leave()
139 | maxWorkItemsSemaphore.signal()
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/Collections.swift:137:21: warning: capture of 'completion' with non-sendable type '(T) -> ()' in an isolated closure
135 |
136 | async_custom_queue.sync {
137 | completion(result)
| |- warning: capture of 'completion' with non-sendable type '(T) -> ()' in an isolated closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
138 | workGroup.leave()
139 | maxWorkItemsSemaphore.signal()
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/Collections.swift:161:26: warning: capture of 'transform' with non-sendable type '(Element) -> T' in a '@Sendable' closure
159 | DispatchQueue.concurrentPerform(iterations: count) {index in
160 | let _ = maxWorkItemsSemaphore.wait()
161 | let result = transform(self[index])
| |- warning: capture of 'transform' with non-sendable type '(Element) -> T' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
162 |
163 | async_custom_queue.sync {
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/Collections.swift:161:36: warning: capture of 'self' with non-sendable type 'Array<Element>' in a '@Sendable' closure
159 | DispatchQueue.concurrentPerform(iterations: count) {index in
160 | let _ = maxWorkItemsSemaphore.wait()
161 | let result = transform(self[index])
| `- warning: capture of 'self' with non-sendable type 'Array<Element>' in a '@Sendable' closure
162 |
163 | async_custom_queue.sync {
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/Collections.swift:164:17: warning: capture of 'results' with non-sendable type '[T?]' in a '@Sendable' closure
145 | }
146 |
147 | func concurrentMap<T>(_ queue: DispatchQueue, concurrency: Int, transform: @escaping (Element) -> T) -> [T] {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
148 | guard count > 0 else {
149 | return []
:
162 |
163 | async_custom_queue.sync {
164 | results[index] = result
| `- warning: capture of 'results' with non-sendable type '[T?]' in a '@Sendable' closure
165 | numberOfCompletedTasks += 1
166 |
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/Collections.swift:164:17: warning: capture of 'results' with non-sendable type '[T?]' in an isolated closure
145 | }
146 |
147 | func concurrentMap<T>(_ queue: DispatchQueue, concurrency: Int, transform: @escaping (Element) -> T) -> [T] {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
148 | guard count > 0 else {
149 | return []
:
162 |
163 | async_custom_queue.sync {
164 | results[index] = result
| `- warning: capture of 'results' with non-sendable type '[T?]' in an isolated closure
165 | numberOfCompletedTasks += 1
166 |
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/Collections.swift:164:17: warning: mutation of captured var 'results' in concurrently-executing code
162 |
163 | async_custom_queue.sync {
164 | results[index] = result
| `- warning: mutation of captured var 'results' in concurrently-executing code
165 | numberOfCompletedTasks += 1
166 |
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/Collections.swift:165:17: warning: mutation of captured var 'numberOfCompletedTasks' in concurrently-executing code
163 | async_custom_queue.sync {
164 | results[index] = result
165 | numberOfCompletedTasks += 1
| `- warning: mutation of captured var 'numberOfCompletedTasks' in concurrently-executing code
166 |
167 | if numberOfCompletedTasks == numberOfTasks {
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/Collections.swift:167:20: warning: reference to captured var 'numberOfCompletedTasks' in concurrently-executing code
165 | numberOfCompletedTasks += 1
166 |
167 | if numberOfCompletedTasks == numberOfTasks {
| `- warning: reference to captured var 'numberOfCompletedTasks' in concurrently-executing code
168 | finishedAllTasksSemaphore.signal()
169 | }
[8/10] Compiling Taskig ThrowableTask.swift
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTask.swift:63:13: warning: capture of 'self' with non-sendable type 'ThrowableTask<()>' in a '@Sendable' closure
27 | import Foundation
28 |
29 | public struct ThrowableTask<T>: ThrowableTaskType {
| `- note: consider making generic struct 'ThrowableTask' conform to the 'Sendable' protocol
30 | public typealias ResultType = T
31 |
:
61 | func async(delayBy: TimeInterval = 0) {
62 | executionQueue.asyncAfter(deadline: .now() + delayBy) {
63 | self.action(completion: { (_) in })
| `- warning: capture of 'self' with non-sendable type 'ThrowableTask<()>' in a '@Sendable' closure
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTask.swift:79:19: warning: capture of 'self' with non-sendable type 'ThrowableTask<T>' in a '@Sendable' closure
27 | import Foundation
28 |
29 | public struct ThrowableTask<T>: ThrowableTaskType {
| `- note: consider making generic struct 'ThrowableTask' conform to the 'Sendable' protocol
30 | public typealias ResultType = T
31 |
:
77 |
78 | executionQueue.async {
79 | guard self.isCancelled == false else {
| `- warning: capture of 'self' with non-sendable type 'ThrowableTask<T>' in a '@Sendable' closure
80 | result = .failure(CancellableTaskError.taskWasCancelled)
81 | group.leave()
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTask.swift:80:17: warning: capture of 'result' with non-sendable type 'Result<ThrowableTask<T>.ResultType, any Error>?' (aka 'Optional<Result<T, any Error>>') in a '@Sendable' closure
27 | import Foundation
28 |
29 | public struct ThrowableTask<T>: ThrowableTaskType {
| `- note: consider making generic parameter 'ThrowableTask<T>.ResultType' (aka 'T') conform to the 'Sendable' protocol
30 | public typealias ResultType = T
31 |
:
78 | executionQueue.async {
79 | guard self.isCancelled == false else {
80 | result = .failure(CancellableTaskError.taskWasCancelled)
| `- warning: capture of 'result' with non-sendable type 'Result<ThrowableTask<T>.ResultType, any Error>?' (aka 'Optional<Result<T, any Error>>') in a '@Sendable' closure
81 | group.leave()
82 | return
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTask.swift:80:17: warning: mutation of captured var 'result' in concurrently-executing code
78 | executionQueue.async {
79 | guard self.isCancelled == false else {
80 | result = .failure(CancellableTaskError.taskWasCancelled)
| `- warning: mutation of captured var 'result' in concurrently-executing code
81 | group.leave()
82 | return
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTask.swift:86:17: warning: capture of 'result' with non-sendable type 'Result<ThrowableTask<T>.ResultType, any Error>?' (aka 'Optional<Result<T, any Error>>') in an isolated closure; this is an error in the Swift 6 language mode
27 | import Foundation
28 |
29 | public struct ThrowableTask<T>: ThrowableTaskType {
| `- note: consider making generic parameter 'ThrowableTask<T>.ResultType' (aka 'T') conform to the 'Sendable' protocol
30 | public typealias ResultType = T
31 |
:
84 |
85 | self.action(completion: { (actionResult) in
86 | result = actionResult
| `- warning: capture of 'result' with non-sendable type 'Result<ThrowableTask<T>.ResultType, any Error>?' (aka 'Optional<Result<T, any Error>>') in an isolated closure; this is an error in the Swift 6 language mode
87 | group.leave()
88 | })
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTask.swift:86:17: warning: mutation of captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
84 |
85 | self.action(completion: { (actionResult) in
86 | result = actionResult
| `- warning: mutation of captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
87 | group.leave()
88 | })
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTask.swift:98:19: warning: capture of 'self' with non-sendable type 'ThrowableTask<T>' in a '@Sendable' closure
27 | import Foundation
28 |
29 | public struct ThrowableTask<T>: ThrowableTaskType {
| `- note: consider making generic struct 'ThrowableTask' conform to the 'Sendable' protocol
30 | public typealias ResultType = T
31 |
:
96 | public func async(delayBy: TimeInterval = 0, completion: @escaping resultHandler) {
97 | executionQueue.asyncAfter(deadline: .now() + delayBy) {
98 | guard self.isCancelled == false else {
| `- warning: capture of 'self' with non-sendable type 'ThrowableTask<T>' in a '@Sendable' closure
99 | completion(.failure(CancellableTaskError.taskWasCancelled))
100 | return
/Users/admin/builder/spi-builder-workspace/TaskigSource/Base/ThrowableTask.swift:99:17: warning: capture of 'completion' with non-sendable type 'ThrowableTask<T>.resultHandler' (aka '(Result<T, any Error>) -> ()') in a '@Sendable' closure
97 | executionQueue.asyncAfter(deadline: .now() + delayBy) {
98 | guard self.isCancelled == false else {
99 | completion(.failure(CancellableTaskError.taskWasCancelled))
| |- warning: capture of 'completion' with non-sendable type 'ThrowableTask<T>.resultHandler' (aka '(Result<T, any Error>) -> ()') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
100 | return
101 | }
[9/10] Compiling Taskig Helpers.swift
[10/10] Emitting module Taskig
Build complete! (4.61s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Taskig",
"name" : "Taskig",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "9.0"
},
{
"name" : "macos",
"version" : "10.11"
},
{
"name" : "tvos",
"version" : "9.0"
},
{
"name" : "watchos",
"version" : "3.0"
}
],
"products" : [
{
"name" : "Taskig",
"targets" : [
"Taskig"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TaskigTests",
"module_type" : "SwiftTarget",
"name" : "TaskigTests",
"path" : "TaskigTests",
"sources" : [
"TaskigCancellableTaskTests.swift",
"TaskigCollectionsTests.swift",
"TaskigHelpersTests.swift",
"TaskigTaskTests.swift",
"TaskigThrowableTaskTests.swift"
],
"target_dependencies" : [
"Taskig"
],
"type" : "test"
},
{
"c99name" : "Taskig",
"module_type" : "SwiftTarget",
"name" : "Taskig",
"path" : "TaskigSource/Base",
"product_memberships" : [
"Taskig"
],
"sources" : [
"CancellableTaskType.swift",
"Collections.swift",
"Helpers.swift",
"Task.swift",
"TaskType.swift",
"ThrowableTask.swift",
"ThrowableTaskType.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.