The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Tiercel, reference 3.2.10 (fdcada), with Swift 6.1 for macOS (SPM) on 15 Mar 2026 14:47:39 UTC.

Swift 6 data race errors: 7

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 InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.69.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Danie1s/Tiercel.git
Reference: 3.2.10
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Danie1s/Tiercel
 * tag               3.2.10     -> FETCH_HEAD
HEAD is now at fdcadad fix: make UIKit imports conditional for SwiftPM compatibility
Cloned https://github.com/Danie1s/Tiercel.git
Revision (git rev-parse @):
fdcadad35f3136d0b7677dec2b2c019074b852e3
SUCCESS checkout https://github.com/Danie1s/Tiercel.git at 3.2.10
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/Danie1s/Tiercel.git
https://github.com/Danie1s/Tiercel.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Tiercel",
  "name" : "Tiercel",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "Tiercel",
      "targets" : [
        "Tiercel"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "Tiercel",
      "module_type" : "SwiftTarget",
      "name" : "Tiercel",
      "path" : "Sources",
      "product_memberships" : [
        "Tiercel"
      ],
      "sources" : [
        "Extensions/Array+Safe.swift",
        "Extensions/CodingUserInfoKey+Cache.swift",
        "Extensions/Data+Hash.swift",
        "Extensions/DispatchQueue+Safe.swift",
        "Extensions/Double+TaskInfo.swift",
        "Extensions/FileManager+AvailableCapacity.swift",
        "Extensions/Int64+TaskInfo.swift",
        "Extensions/OperationQueue+DispatchQueue.swift",
        "Extensions/String+Hash.swift",
        "General/Cache.swift",
        "General/Common.swift",
        "General/DownloadTask.swift",
        "General/Executer.swift",
        "General/Notifications.swift",
        "General/Protected.swift",
        "General/SessionConfiguration.swift",
        "General/SessionDelegate.swift",
        "General/SessionManager.swift",
        "General/Task.swift",
        "General/TiercelError.swift",
        "General/URLConvertible.swift",
        "Utility/FileChecksumHelper.swift",
        "Utility/ResumeDataHelper.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
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/24] Emitting module Tiercel
/Users/admin/builder/spi-builder-workspace/Sources/General/Common.swift:114:20: warning: static property 'tiercelTask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
112 | extension URLSessionTask {
113 |     private struct AssociatedKeys {
114 |         static var tiercelTask: UInt8 = 0
    |                    |- warning: static property 'tiercelTask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: convert 'tiercelTask' to a 'let' constant to make 'Sendable' shared state immutable
    |                    |- note: add '@MainActor' to make static property 'tiercelTask' part of global actor 'MainActor'
    |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 |     }
116 |
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionDelegate.swift:29:16: warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 27 | import Foundation
 28 |
 29 | internal class SessionDelegate: NSObject {
    |                `- warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 30 |     internal weak var manager: SessionManager?
 31 |
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionDelegate.swift:30:23: warning: stored property 'manager' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
 28 |
 29 | internal class SessionDelegate: NSObject {
 30 |     internal weak var manager: SessionManager?
    |                       `- warning: stored property 'manager' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
 31 |
 32 | }
/Users/admin/builder/spi-builder-workspace/Sources/General/TiercelError.swift:43:10: warning: associated value 'invalidURL(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 41 |
 42 |     case unknown
 43 |     case invalidURL(url: URLConvertible)
    |          `- warning: associated value 'invalidURL(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 44 |     case duplicateURL(url: URLConvertible)
 45 |     case indexOutOfRange
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/TiercelError.swift:44:10: warning: associated value 'duplicateURL(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 42 |     case unknown
 43 |     case invalidURL(url: URLConvertible)
 44 |     case duplicateURL(url: URLConvertible)
    |          `- warning: associated value 'duplicateURL(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 45 |     case indexOutOfRange
 46 |     case fetchDownloadTaskFailed(url: URLConvertible)
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/TiercelError.swift:46:10: warning: associated value 'fetchDownloadTaskFailed(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 44 |     case duplicateURL(url: URLConvertible)
 45 |     case indexOutOfRange
 46 |     case fetchDownloadTaskFailed(url: URLConvertible)
    |          `- warning: associated value 'fetchDownloadTaskFailed(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 47 |     case headersMatchFailed
 48 |     case fileNamesMatchFailed
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/TiercelError.swift:50:10: warning: associated value 'cacheError(reason:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'TiercelError.CacheErrorReason'; this is an error in the Swift 6 language mode
 29 | public enum TiercelError: Error {
 30 |
 31 |     public enum CacheErrorReason {
    |                 `- note: consider making enum 'CacheErrorReason' conform to the 'Sendable' protocol
 32 |         case cannotCreateDirectory(path: String, error: Error)
 33 |         case cannotRemoveItem(path: String, error: Error)
    :
 48 |     case fileNamesMatchFailed
 49 |     case unacceptableStatusCode(code: Int)
 50 |     case cacheError(reason: CacheErrorReason)
    |          `- warning: associated value 'cacheError(reason:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'TiercelError.CacheErrorReason'; this is an error in the Swift 6 language mode
 51 | }
 52 |
[4/26] Compiling Tiercel SessionConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionDelegate.swift:29:16: warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 27 | import Foundation
 28 |
 29 | internal class SessionDelegate: NSObject {
    |                `- warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 30 |     internal weak var manager: SessionManager?
 31 |
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionDelegate.swift:30:23: warning: stored property 'manager' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
 28 |
 29 | internal class SessionDelegate: NSObject {
 30 |     internal weak var manager: SessionManager?
    |                       `- warning: stored property 'manager' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
 31 |
 32 | }
[5/26] Compiling Tiercel SessionDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionDelegate.swift:29:16: warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 27 | import Foundation
 28 |
 29 | internal class SessionDelegate: NSObject {
    |                `- warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 30 |     internal weak var manager: SessionManager?
 31 |
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionDelegate.swift:30:23: warning: stored property 'manager' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
 28 |
 29 | internal class SessionDelegate: NSObject {
 30 |     internal weak var manager: SessionManager?
    |                       `- warning: stored property 'manager' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
 31 |
 32 | }
[6/26] Compiling Tiercel FileChecksumHelper.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utility/FileChecksumHelper.swift:60:17: warning: capture of 'completion' with non-sendable type '(Result<Bool, FileChecksumHelper.FileVerificationError>) -> ()' in a '@Sendable' closure
 58 |         ioQueue.async {
 59 |             guard FileManager.default.fileExists(atPath: filePath) else {
 60 |                 completion(.failure(FileVerificationError.fileDoesnotExist(path: filePath)))
    |                 |- warning: capture of 'completion' with non-sendable type '(Result<Bool, FileChecksumHelper.FileVerificationError>) -> ()' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 61 |                 return
 62 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Utility/FileChecksumHelper.swift:68:24: warning: capture of 'type' with non-sendable type 'FileChecksumHelper.VerificationType' in a '@Sendable' closure
 30 | public enum FileChecksumHelper {
 31 |
 32 |     public enum VerificationType : Int {
    |                 `- note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 33 |         case md5
 34 |         case sha1
    :
 66 |                 let data = try Data(contentsOf: url, options: .mappedIfSafe)
 67 |                 var string: String
 68 |                 switch type {
    |                        `- warning: capture of 'type' with non-sendable type 'FileChecksumHelper.VerificationType' in a '@Sendable' closure
 69 |                 case .md5:
 70 |                     string = data.tr.md5
[7/26] Compiling Tiercel ResumeDataHelper.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utility/FileChecksumHelper.swift:60:17: warning: capture of 'completion' with non-sendable type '(Result<Bool, FileChecksumHelper.FileVerificationError>) -> ()' in a '@Sendable' closure
 58 |         ioQueue.async {
 59 |             guard FileManager.default.fileExists(atPath: filePath) else {
 60 |                 completion(.failure(FileVerificationError.fileDoesnotExist(path: filePath)))
    |                 |- warning: capture of 'completion' with non-sendable type '(Result<Bool, FileChecksumHelper.FileVerificationError>) -> ()' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 61 |                 return
 62 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Utility/FileChecksumHelper.swift:68:24: warning: capture of 'type' with non-sendable type 'FileChecksumHelper.VerificationType' in a '@Sendable' closure
 30 | public enum FileChecksumHelper {
 31 |
 32 |     public enum VerificationType : Int {
    |                 `- note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 33 |         case md5
 34 |         case sha1
    :
 66 |                 let data = try Data(contentsOf: url, options: .mappedIfSafe)
 67 |                 var string: String
 68 |                 switch type {
    |                        `- warning: capture of 'type' with non-sendable type 'FileChecksumHelper.VerificationType' in a '@Sendable' closure
 69 |                 case .md5:
 70 |                     string = data.tr.md5
[8/26] Compiling Tiercel DownloadTask.swift
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:223:17: warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
    :
221 |             executeControl()
222 |             operationQueue.async {
223 |                 self.didComplete(.local)
    |                 `- warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
224 |             }
225 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:257:17: warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
    :
255 |             status = .willSuspend
256 |             operationQueue.async {
257 |                 self.didComplete(.local)
    |                 `- warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
258 |             }
259 |         case .willSuspend, .willCancel, .willRemove:
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:274:17: warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
    :
272 |             status = .willCancel
273 |             operationQueue.async {
274 |                 self.didComplete(.local)
    |                 `- warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
275 |             }
276 |         case .willSuspend, .willCancel, .willRemove:
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:293:17: warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
    :
291 |             status = .willRemove
292 |             operationQueue.async {
293 |                 self.didComplete(.local)
    |                 `- warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
294 |             }
295 |         case .willSuspend, .willCancel, .willRemove:
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:428:56: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
    :
426 |                              handler: @escaping Handler<DownloadTask>) -> Self {
427 |          operationQueue.async {
428 |             let (verificationCode, verificationType) = self.protectedState.read {
    |                                                        `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
429 |                                                             ($0.verificationCode, $0.verificationType)
430 |                                                         }
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:432:37: warning: capture of 'type' with non-sendable type 'FileChecksumHelper.VerificationType' in a '@Sendable' closure
430 |                                                         }
431 |             if verificationCode == code &&
432 |                 verificationType == type &&
    |                                     `- warning: capture of 'type' with non-sendable type 'FileChecksumHelper.VerificationType' in a '@Sendable' closure
433 |                 self.validation != .unkown {
434 |                 self.shouldValidateFile = false
/Users/admin/builder/spi-builder-workspace/Sources/Utility/FileChecksumHelper.swift:32:17: note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 30 | public enum FileChecksumHelper {
 31 |
 32 |     public enum VerificationType : Int {
    |                 `- note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 33 |         case md5
 34 |         case sha1
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:443:81: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>' (aka '(DownloadTask) -> ()') in a '@Sendable' closure
441 |                 self.manager?.storeTasks()
442 |             }
443 |             self.validateExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
    |                                                                                 |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>' (aka '(DownloadTask) -> ()') in a '@Sendable' closure
    |                                                                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
444 |             if self.status == .succeeded {
445 |                 self.validateFile()
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:432:37: warning: implicit capture of 'type' requires that 'FileChecksumHelper.VerificationType' conforms to 'Sendable'; this is an error in the Swift 6 language mode
430 |                                                         }
431 |             if verificationCode == code &&
432 |                 verificationType == type &&
    |                                     `- warning: implicit capture of 'type' requires that 'FileChecksumHelper.VerificationType' conforms to 'Sendable'; this is an error in the Swift 6 language mode
433 |                 self.validation != .unkown {
434 |                 self.shouldValidateFile = false
/Users/admin/builder/spi-builder-workspace/Sources/Utility/FileChecksumHelper.swift:32:17: note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 30 | public enum FileChecksumHelper {
 31 |
 32 |     public enum VerificationType : Int {
    |                 `- note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 33 |         case md5
 34 |         case sha1
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:433:17: warning: implicit capture of 'self' requires that 'Self' conforms to 'Sendable'; this is an error in the Swift 6 language mode
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
    :
431 |             if verificationCode == code &&
432 |                 verificationType == type &&
433 |                 self.validation != .unkown {
    |                 `- warning: implicit capture of 'self' requires that 'Self' conforms to 'Sendable'; this is an error in the Swift 6 language mode
434 |                 self.shouldValidateFile = false
435 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:439:43: warning: capture of 'type' with non-sendable type 'FileChecksumHelper.VerificationType' in an isolated closure; this is an error in the Swift 6 language mode
437 |                 self.protectedState.write {
438 |                     $0.verificationCode = code
439 |                     $0.verificationType = type
    |                                           `- warning: capture of 'type' with non-sendable type 'FileChecksumHelper.VerificationType' in an isolated closure; this is an error in the Swift 6 language mode
440 |                 }
441 |                 self.manager?.storeTasks()
/Users/admin/builder/spi-builder-workspace/Sources/Utility/FileChecksumHelper.swift:32:17: note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 30 | public enum FileChecksumHelper {
 31 |
 32 |     public enum VerificationType : Int {
    |                 `- note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 33 |         case md5
 34 |         case sha1
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:158:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
156 |     @objc private func fixDelegateMethodError() {
157 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
158 |             self.sessionTask?.suspend()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
159 |             self.sessionTask?.resume()
160 |         }
[9/26] Compiling Tiercel Executer.swift
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:223:17: warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
    :
221 |             executeControl()
222 |             operationQueue.async {
223 |                 self.didComplete(.local)
    |                 `- warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
224 |             }
225 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:257:17: warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
    :
255 |             status = .willSuspend
256 |             operationQueue.async {
257 |                 self.didComplete(.local)
    |                 `- warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
258 |             }
259 |         case .willSuspend, .willCancel, .willRemove:
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:274:17: warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
    :
272 |             status = .willCancel
273 |             operationQueue.async {
274 |                 self.didComplete(.local)
    |                 `- warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
275 |             }
276 |         case .willSuspend, .willCancel, .willRemove:
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:293:17: warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
    :
291 |             status = .willRemove
292 |             operationQueue.async {
293 |                 self.didComplete(.local)
    |                 `- warning: capture of 'self' with non-sendable type 'DownloadTask' in a '@Sendable' closure
294 |             }
295 |         case .willSuspend, .willCancel, .willRemove:
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:428:56: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
    :
426 |                              handler: @escaping Handler<DownloadTask>) -> Self {
427 |          operationQueue.async {
428 |             let (verificationCode, verificationType) = self.protectedState.read {
    |                                                        `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
429 |                                                             ($0.verificationCode, $0.verificationType)
430 |                                                         }
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:432:37: warning: capture of 'type' with non-sendable type 'FileChecksumHelper.VerificationType' in a '@Sendable' closure
430 |                                                         }
431 |             if verificationCode == code &&
432 |                 verificationType == type &&
    |                                     `- warning: capture of 'type' with non-sendable type 'FileChecksumHelper.VerificationType' in a '@Sendable' closure
433 |                 self.validation != .unkown {
434 |                 self.shouldValidateFile = false
/Users/admin/builder/spi-builder-workspace/Sources/Utility/FileChecksumHelper.swift:32:17: note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 30 | public enum FileChecksumHelper {
 31 |
 32 |     public enum VerificationType : Int {
    |                 `- note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 33 |         case md5
 34 |         case sha1
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:443:81: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>' (aka '(DownloadTask) -> ()') in a '@Sendable' closure
441 |                 self.manager?.storeTasks()
442 |             }
443 |             self.validateExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
    |                                                                                 |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>' (aka '(DownloadTask) -> ()') in a '@Sendable' closure
    |                                                                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
444 |             if self.status == .succeeded {
445 |                 self.validateFile()
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:432:37: warning: implicit capture of 'type' requires that 'FileChecksumHelper.VerificationType' conforms to 'Sendable'; this is an error in the Swift 6 language mode
430 |                                                         }
431 |             if verificationCode == code &&
432 |                 verificationType == type &&
    |                                     `- warning: implicit capture of 'type' requires that 'FileChecksumHelper.VerificationType' conforms to 'Sendable'; this is an error in the Swift 6 language mode
433 |                 self.validation != .unkown {
434 |                 self.shouldValidateFile = false
/Users/admin/builder/spi-builder-workspace/Sources/Utility/FileChecksumHelper.swift:32:17: note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 30 | public enum FileChecksumHelper {
 31 |
 32 |     public enum VerificationType : Int {
    |                 `- note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 33 |         case md5
 34 |         case sha1
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:433:17: warning: implicit capture of 'self' requires that 'Self' conforms to 'Sendable'; this is an error in the Swift 6 language mode
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
    :
431 |             if verificationCode == code &&
432 |                 verificationType == type &&
433 |                 self.validation != .unkown {
    |                 `- warning: implicit capture of 'self' requires that 'Self' conforms to 'Sendable'; this is an error in the Swift 6 language mode
434 |                 self.shouldValidateFile = false
435 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:439:43: warning: capture of 'type' with non-sendable type 'FileChecksumHelper.VerificationType' in an isolated closure; this is an error in the Swift 6 language mode
437 |                 self.protectedState.write {
438 |                     $0.verificationCode = code
439 |                     $0.verificationType = type
    |                                           `- warning: capture of 'type' with non-sendable type 'FileChecksumHelper.VerificationType' in an isolated closure; this is an error in the Swift 6 language mode
440 |                 }
441 |                 self.manager?.storeTasks()
/Users/admin/builder/spi-builder-workspace/Sources/Utility/FileChecksumHelper.swift:32:17: note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 30 | public enum FileChecksumHelper {
 31 |
 32 |     public enum VerificationType : Int {
    |                 `- note: consider making enum 'VerificationType' conform to the 'Sendable' protocol
 33 |         case md5
 34 |         case sha1
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:158:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
156 |     @objc private func fixDelegateMethodError() {
157 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
158 |             self.sessionTask?.suspend()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
159 |             self.sessionTask?.resume()
160 |         }
[10/26] Compiling Tiercel Notifications.swift
/Users/admin/builder/spi-builder-workspace/Sources/General/Protected.swift:117:21: warning: capture of 'work' with non-sendable type '@convention(block) () -> Void' in a '@Sendable' closure
115 |             let workItem = DispatchWorkItem { [weak self, weak queue] in
116 |                 queue?.async {
117 |                     work()
    |                     |- warning: capture of 'work' with non-sendable type '@convention(block) () -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
118 |                 }
119 |                 self?.workItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/General/Protected.swift:149:21: warning: capture of 'work' with non-sendable type '@convention(block) () -> Void' in a '@Sendable' closure
147 |             let workItem = DispatchWorkItem { [weak self, weak queue] in
148 |                 queue?.async {
149 |                     work()
    |                     |- warning: capture of 'work' with non-sendable type '@convention(block) () -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
150 |                 }
151 |                 self?.workItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/General/Protected.swift:158:21: warning: capture of 'self' with non-sendable type 'Throttler?' in a '@Sendable' closure
125 | }
126 |
127 | final public class Throttler {
    |                    `- note: class 'Throttler' does not conform to the 'Sendable' protocol
128 |
129 |     private let dispatchQueue: DispatchQueue
    :
156 |                 self.workItem = workItem
157 |                 dispatchQueue.asyncAfter(deadline: .now() + timeInterval) { [weak self] in
158 |                     self?.workItem?.perform()
    |                     `- warning: capture of 'self' with non-sendable type 'Throttler?' in a '@Sendable' closure
159 |                 }
160 |             } else {
[11/26] Compiling Tiercel Protected.swift
/Users/admin/builder/spi-builder-workspace/Sources/General/Protected.swift:117:21: warning: capture of 'work' with non-sendable type '@convention(block) () -> Void' in a '@Sendable' closure
115 |             let workItem = DispatchWorkItem { [weak self, weak queue] in
116 |                 queue?.async {
117 |                     work()
    |                     |- warning: capture of 'work' with non-sendable type '@convention(block) () -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
118 |                 }
119 |                 self?.workItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/General/Protected.swift:149:21: warning: capture of 'work' with non-sendable type '@convention(block) () -> Void' in a '@Sendable' closure
147 |             let workItem = DispatchWorkItem { [weak self, weak queue] in
148 |                 queue?.async {
149 |                     work()
    |                     |- warning: capture of 'work' with non-sendable type '@convention(block) () -> Void' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
150 |                 }
151 |                 self?.workItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/General/Protected.swift:158:21: warning: capture of 'self' with non-sendable type 'Throttler?' in a '@Sendable' closure
125 | }
126 |
127 | final public class Throttler {
    |                    `- note: class 'Throttler' does not conform to the 'Sendable' protocol
128 |
129 |     private let dispatchQueue: DispatchQueue
    :
156 |                 self.workItem = workItem
157 |                 dispatchQueue.asyncAfter(deadline: .now() + timeInterval) { [weak self] in
158 |                     self?.workItem?.perform()
    |                     `- warning: capture of 'self' with non-sendable type 'Throttler?' in a '@Sendable' closure
159 |                 }
160 |             } else {
[12/26] Compiling Tiercel DispatchQueue+Safe.swift
/Users/admin/builder/spi-builder-workspace/Sources/Extensions/DispatchQueue+Safe.swift:37:17: warning: sending 'block' risks causing data races; this is an error in the Swift 6 language mode
35 |         } else {
36 |             DispatchQueue.main.async {
37 |                 block()
   |                 |- warning: sending 'block' risks causing data races; this is an error in the Swift 6 language mode
   |                 `- note: task-isolated 'block' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
38 |             }
39 |         }
[13/26] Compiling Tiercel Double+TaskInfo.swift
/Users/admin/builder/spi-builder-workspace/Sources/Extensions/DispatchQueue+Safe.swift:37:17: warning: sending 'block' risks causing data races; this is an error in the Swift 6 language mode
35 |         } else {
36 |             DispatchQueue.main.async {
37 |                 block()
   |                 |- warning: sending 'block' risks causing data races; this is an error in the Swift 6 language mode
   |                 `- note: task-isolated 'block' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
38 |             }
39 |         }
[14/26] Compiling Tiercel FileManager+AvailableCapacity.swift
/Users/admin/builder/spi-builder-workspace/Sources/Extensions/DispatchQueue+Safe.swift:37:17: warning: sending 'block' risks causing data races; this is an error in the Swift 6 language mode
35 |         } else {
36 |             DispatchQueue.main.async {
37 |                 block()
   |                 |- warning: sending 'block' risks causing data races; this is an error in the Swift 6 language mode
   |                 `- note: task-isolated 'block' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
38 |             }
39 |         }
[15/26] Compiling Tiercel TiercelError.swift
/Users/admin/builder/spi-builder-workspace/Sources/General/TiercelError.swift:43:10: warning: associated value 'invalidURL(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 41 |
 42 |     case unknown
 43 |     case invalidURL(url: URLConvertible)
    |          `- warning: associated value 'invalidURL(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 44 |     case duplicateURL(url: URLConvertible)
 45 |     case indexOutOfRange
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/TiercelError.swift:44:10: warning: associated value 'duplicateURL(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 42 |     case unknown
 43 |     case invalidURL(url: URLConvertible)
 44 |     case duplicateURL(url: URLConvertible)
    |          `- warning: associated value 'duplicateURL(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 45 |     case indexOutOfRange
 46 |     case fetchDownloadTaskFailed(url: URLConvertible)
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/TiercelError.swift:46:10: warning: associated value 'fetchDownloadTaskFailed(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 44 |     case duplicateURL(url: URLConvertible)
 45 |     case indexOutOfRange
 46 |     case fetchDownloadTaskFailed(url: URLConvertible)
    |          `- warning: associated value 'fetchDownloadTaskFailed(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 47 |     case headersMatchFailed
 48 |     case fileNamesMatchFailed
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/TiercelError.swift:50:10: warning: associated value 'cacheError(reason:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'TiercelError.CacheErrorReason'; this is an error in the Swift 6 language mode
 29 | public enum TiercelError: Error {
 30 |
 31 |     public enum CacheErrorReason {
    |                 `- note: consider making enum 'CacheErrorReason' conform to the 'Sendable' protocol
 32 |         case cannotCreateDirectory(path: String, error: Error)
 33 |         case cannotRemoveItem(path: String, error: Error)
    :
 48 |     case fileNamesMatchFailed
 49 |     case unacceptableStatusCode(code: Int)
 50 |     case cacheError(reason: CacheErrorReason)
    |          `- warning: associated value 'cacheError(reason:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'TiercelError.CacheErrorReason'; this is an error in the Swift 6 language mode
 51 | }
 52 |
[16/26] Compiling Tiercel URLConvertible.swift
/Users/admin/builder/spi-builder-workspace/Sources/General/TiercelError.swift:43:10: warning: associated value 'invalidURL(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 41 |
 42 |     case unknown
 43 |     case invalidURL(url: URLConvertible)
    |          `- warning: associated value 'invalidURL(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 44 |     case duplicateURL(url: URLConvertible)
 45 |     case indexOutOfRange
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/TiercelError.swift:44:10: warning: associated value 'duplicateURL(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 42 |     case unknown
 43 |     case invalidURL(url: URLConvertible)
 44 |     case duplicateURL(url: URLConvertible)
    |          `- warning: associated value 'duplicateURL(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 45 |     case indexOutOfRange
 46 |     case fetchDownloadTaskFailed(url: URLConvertible)
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/TiercelError.swift:46:10: warning: associated value 'fetchDownloadTaskFailed(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 44 |     case duplicateURL(url: URLConvertible)
 45 |     case indexOutOfRange
 46 |     case fetchDownloadTaskFailed(url: URLConvertible)
    |          `- warning: associated value 'fetchDownloadTaskFailed(url:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'any URLConvertible'; this is an error in the Swift 6 language mode
 47 |     case headersMatchFailed
 48 |     case fileNamesMatchFailed
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/TiercelError.swift:50:10: warning: associated value 'cacheError(reason:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'TiercelError.CacheErrorReason'; this is an error in the Swift 6 language mode
 29 | public enum TiercelError: Error {
 30 |
 31 |     public enum CacheErrorReason {
    |                 `- note: consider making enum 'CacheErrorReason' conform to the 'Sendable' protocol
 32 |         case cannotCreateDirectory(path: String, error: Error)
 33 |         case cannotRemoveItem(path: String, error: Error)
    :
 48 |     case fileNamesMatchFailed
 49 |     case unacceptableStatusCode(code: Int)
 50 |     case cacheError(reason: CacheErrorReason)
    |          `- warning: associated value 'cacheError(reason:)' of 'Sendable'-conforming enum 'TiercelError' has non-sendable type 'TiercelError.CacheErrorReason'; this is an error in the Swift 6 language mode
 51 | }
 52 |
[17/26] Compiling Tiercel Int64+TaskInfo.swift
[18/26] Compiling Tiercel OperationQueue+DispatchQueue.swift
[19/26] Compiling Tiercel String+Hash.swift
[20/26] Compiling Tiercel SessionManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:405:17: warning: capture of 'uniqueTasks' with non-sendable type '[DownloadTask]' in a '@Sendable' closure
 403 |             Executer(onMainQueue: onMainQueue, handler: handler).execute(self)
 404 |             operationQueue.async {
 405 |                 uniqueTasks.forEach {
     |                 `- warning: capture of 'uniqueTasks' with non-sendable type '[DownloadTask]' in a '@Sendable' closure
 406 |                     if $0.status != .succeeded {
 407 |                         self._start($0)
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:33:14: note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:407:25: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 405 |                 uniqueTasks.forEach {
 406 |                     if $0.status != .succeeded {
 407 |                         self._start($0)
     |                         `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 408 |                     }
 409 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:405:17: warning: reference to captured var 'uniqueTasks' in concurrently-executing code
 403 |             Executer(onMainQueue: onMainQueue, handler: handler).execute(self)
 404 |             operationQueue.async {
 405 |                 uniqueTasks.forEach {
     |                 `- warning: reference to captured var 'uniqueTasks' in concurrently-executing code
 406 |                     if $0.status != .succeeded {
 407 |                         self._start($0)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:407:25: warning: capture of 'self' with non-sendable type 'SessionManager' in an isolated closure; this is an error in the Swift 6 language mode
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 405 |                 uniqueTasks.forEach {
 406 |                     if $0.status != .succeeded {
 407 |                         self._start($0)
     |                         `- warning: capture of 'self' with non-sendable type 'SessionManager' in an isolated closure; this is an error in the Swift 6 language mode
 408 |                     }
 409 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:443:13: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 441 |     public func start(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 442 |         operationQueue.async {
 443 |             self._start(url, onMainQueue: onMainQueue, handler: handler)
     |             `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 444 |         }
 445 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:443:25: warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 441 |     public func start(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 442 |         operationQueue.async {
 443 |             self._start(url, onMainQueue: onMainQueue, handler: handler)
     |                         `- warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 444 |         }
 445 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:443:65: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 441 |     public func start(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 442 |         operationQueue.async {
 443 |             self._start(url, onMainQueue: onMainQueue, handler: handler)
     |                                                                 |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 444 |         }
 445 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:449:27: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 447 |     public func start(_ task: DownloadTask, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 448 |         operationQueue.async {
 449 |             guard let _ = self.fetchTask(task.url) else {
     |                           `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 450 |                 self.log(.error("can't start downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 451 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:449:42: warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 447 |     public func start(_ task: DownloadTask, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 448 |         operationQueue.async {
 449 |             guard let _ = self.fetchTask(task.url) else {
     |                                          `- warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 450 |                 self.log(.error("can't start downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 451 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:33:14: note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:453:66: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 451 |                 return
 452 |             }
 453 |             self._start(task, onMainQueue: onMainQueue, handler: handler)
     |                                                                  |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 454 |         }
 455 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:482:30: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 480 |     public func suspend(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 481 |         operationQueue.async {
 482 |             guard let task = self.fetchTask(url) else {
     |                              `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 483 |                 self.log(.error("can't suspend downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: url)))
 484 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:482:45: warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 480 |     public func suspend(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 481 |         operationQueue.async {
 482 |             guard let task = self.fetchTask(url) else {
     |                                             `- warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 483 |                 self.log(.error("can't suspend downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: url)))
 484 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:486:61: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 484 |                 return
 485 |             }
 486 |             task.suspend(onMainQueue: onMainQueue, handler: handler)
     |                                                             |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 487 |         }
 488 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:492:27: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 490 |     public func suspend(_ task: DownloadTask, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 491 |         operationQueue.async {
 492 |             guard let _ = self.fetchTask(task.url) else {
     |                           `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 493 |                 self.log(.error("can't suspend downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 494 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:492:42: warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 490 |     public func suspend(_ task: DownloadTask, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 491 |         operationQueue.async {
 492 |             guard let _ = self.fetchTask(task.url) else {
     |                                          `- warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 493 |                 self.log(.error("can't suspend downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 494 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:33:14: note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:496:61: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 494 |                 return
 495 |             }
 496 |             task.suspend(onMainQueue: onMainQueue, handler: handler)
     |                                                             |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 497 |         }
 498 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:507:30: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 505 |     public func cancel(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 506 |         operationQueue.async {
 507 |             guard let task = self.fetchTask(url) else {
     |                              `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 508 |                 self.log(.error("can't cancel downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: url)))
 509 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:507:45: warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 505 |     public func cancel(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 506 |         operationQueue.async {
 507 |             guard let task = self.fetchTask(url) else {
     |                                             `- warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 508 |                 self.log(.error("can't cancel downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: url)))
 509 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:511:60: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 509 |                 return
 510 |             }
 511 |             task.cancel(onMainQueue: onMainQueue, handler: handler)
     |                                                            |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                            `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 512 |         }
 513 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:517:27: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 515 |     public func cancel(_ task: DownloadTask, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 516 |         operationQueue.async {
 517 |             guard let _ = self.fetchTask(task.url) else {
     |                           `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 518 |                 self.log(.error("can't cancel downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 519 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:517:42: warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 515 |     public func cancel(_ task: DownloadTask, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 516 |         operationQueue.async {
 517 |             guard let _ = self.fetchTask(task.url) else {
     |                                          `- warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 518 |                 self.log(.error("can't cancel downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 519 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:33:14: note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:521:60: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 519 |                 return
 520 |             }
 521 |             task.cancel(onMainQueue: onMainQueue, handler: handler)
     |                                                            |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                            `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 522 |         }
 523 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:537:30: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 535 |     public func remove(_ url: URLConvertible, completely: Bool = false, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 536 |         operationQueue.async {
 537 |             guard let task = self.fetchTask(url) else {
     |                              `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 538 |                 self.log(.error("can't remove downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: url)))
 539 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:537:45: warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 535 |     public func remove(_ url: URLConvertible, completely: Bool = false, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 536 |         operationQueue.async {
 537 |             guard let task = self.fetchTask(url) else {
     |                                             `- warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 538 |                 self.log(.error("can't remove downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: url)))
 539 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:541:84: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 539 |                 return
 540 |             }
 541 |             task.remove(completely: completely, onMainQueue: onMainQueue, handler: handler)
     |                                                                                    |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 542 |         }
 543 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:547:27: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 545 |     public func remove(_ task: DownloadTask, completely: Bool = false, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 546 |         operationQueue.async {
 547 |             guard let _ = self.fetchTask(task.url) else {
     |                           `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 548 |                 self.log(.error("can't remove downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 549 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:547:42: warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 545 |     public func remove(_ task: DownloadTask, completely: Bool = false, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 546 |         operationQueue.async {
 547 |             guard let _ = self.fetchTask(task.url) else {
     |                                          `- warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 548 |                 self.log(.error("can't remove downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 549 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:33:14: note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:551:84: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 549 |                 return
 550 |             }
 551 |             task.remove(completely: completely, onMainQueue: onMainQueue, handler: handler)
     |                                                                                    |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 552 |         }
 553 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:581:13: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 579 |     public func totalStart(onMainQueue: Bool = true, handler: Handler<SessionManager>? = nil) {
 580 |         operationQueue.async {
 581 |             self.tasks.forEach { task in
     |             `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 582 |                 if task.status != .succeeded {
 583 |                     self._start(task)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:586:57: warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
 584 |                 }
 585 |             }
 586 |             Executer(onMainQueue: onMainQueue, handler: handler).execute(self)
     |                                                         |- warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
     |                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 587 |         }
 588 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:583:21: warning: capture of 'self' with non-sendable type 'SessionManager' in an isolated closure; this is an error in the Swift 6 language mode
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 581 |             self.tasks.forEach { task in
 582 |                 if task.status != .succeeded {
 583 |                     self._start(task)
     |                     `- warning: capture of 'self' with non-sendable type 'SessionManager' in an isolated closure; this is an error in the Swift 6 language mode
 584 |                 }
 585 |             }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:592:19: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 590 |     public func totalSuspend(onMainQueue: Bool = true, handler: Handler<SessionManager>? = nil) {
 591 |         operationQueue.async {
 592 |             guard self.status == .running || self.status == .waiting else { return }
     |                   `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 593 |             self.status = .willSuspend
 594 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:594:80: warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
 592 |             guard self.status == .running || self.status == .waiting else { return }
 593 |             self.status = .willSuspend
 594 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
     |                                                                                |- warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
     |                                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 595 |             self.tasks.forEach { $0.suspend() }
 596 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:592:46: warning: implicit capture of 'self' requires that 'SessionManager' conforms to 'Sendable'; this is an error in the Swift 6 language mode
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 590 |     public func totalSuspend(onMainQueue: Bool = true, handler: Handler<SessionManager>? = nil) {
 591 |         operationQueue.async {
 592 |             guard self.status == .running || self.status == .waiting else { return }
     |                                              `- warning: implicit capture of 'self' requires that 'SessionManager' conforms to 'Sendable'; this is an error in the Swift 6 language mode
 593 |             self.status = .willSuspend
 594 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:601:19: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 599 |     public func totalCancel(onMainQueue: Bool = true, handler: Handler<SessionManager>? = nil) {
 600 |         operationQueue.async {
 601 |             guard self.status != .succeeded && self.status != .canceled else { return }
     |                   `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 602 |             self.status = .willCancel
 603 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:603:80: warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
 601 |             guard self.status != .succeeded && self.status != .canceled else { return }
 602 |             self.status = .willCancel
 603 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
     |                                                                                |- warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
     |                                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 604 |             self.tasks.forEach { $0.cancel() }
 605 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:601:48: warning: implicit capture of 'self' requires that 'SessionManager' conforms to 'Sendable'; this is an error in the Swift 6 language mode
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 599 |     public func totalCancel(onMainQueue: Bool = true, handler: Handler<SessionManager>? = nil) {
 600 |         operationQueue.async {
 601 |             guard self.status != .succeeded && self.status != .canceled else { return }
     |                                                `- warning: implicit capture of 'self' requires that 'SessionManager' conforms to 'Sendable'; this is an error in the Swift 6 language mode
 602 |             self.status = .willCancel
 603 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:610:19: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 608 |     public func totalRemove(completely: Bool = false, onMainQueue: Bool = true, handler: Handler<SessionManager>? = nil) {
 609 |         operationQueue.async {
 610 |             guard self.status != .removed else { return }
     |                   `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 611 |             self.status = .willRemove
 612 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:612:80: warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
 610 |             guard self.status != .removed else { return }
 611 |             self.status = .willRemove
 612 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
     |                                                                                |- warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
     |                                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 613 |             self.tasks.forEach { $0.remove(completely: completely) }
 614 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:692:30: warning: capture of 'self' with non-sendable type 'SessionManager?' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 690 |         }
 691 |         session?.getTasksWithCompletionHandler { [weak self] (dataTasks, uploadTasks, downloadTasks) in
 692 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'SessionManager?' in a '@Sendable' closure
 693 |             downloadTasks.forEach { downloadTask in
 694 |                 if downloadTask.state == .running,
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:863:17: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 861 |             // next task
 862 |             operationQueue.async {
 863 |                 self.startNextTask()
     |                 `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 864 |             }
 865 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:949:17: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 947 |         if status == .succeeded  && completionExecuter == nil{
 948 |             operationQueue.async {
 949 |                 self.successExecuter?.execute(self)
     |                 `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 950 |             }
 951 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:964:17: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 962 |             status == .failed) {
 963 |             operationQueue.async {
 964 |                 self.failureExecuter?.execute(self)
     |                 `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 965 |             }
 966 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:979:17: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 977 |             status == .failed  {
 978 |             operationQueue.async {
 979 |                 self.completionExecuter?.execute(self)
     |                 `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 980 |             }
 981 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/Task.swift:316:17: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 35 | }
 36 |
 37 | public class Task<TaskType>: NSObject, Codable {
    |              `- note: generic class 'Task' does not conform to the 'Sendable' protocol
 38 |
 39 |     private enum CodingKeys: CodingKey {
    :
314 |         if status == .succeeded  && completionExecuter == nil{
315 |             operationQueue.async {
316 |                 self.execute(self.successExecuter)
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
317 |             }
318 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/Task.swift:332:17: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 35 | }
 36 |
 37 | public class Task<TaskType>: NSObject, Codable {
    |              `- note: generic class 'Task' does not conform to the 'Sendable' protocol
 38 |
 39 |     private enum CodingKeys: CodingKey {
    :
330 |             status == .failed) {
331 |             operationQueue.async {
332 |                 self.execute(self.failureExecuter)
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
333 |             }
334 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/Task.swift:347:17: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 35 | }
 36 |
 37 | public class Task<TaskType>: NSObject, Codable {
    |              `- note: generic class 'Task' does not conform to the 'Sendable' protocol
 38 |
 39 |     private enum CodingKeys: CodingKey {
    :
345 |             status == .failed  {
346 |             operationQueue.async {
347 |                 self.execute(self.completionExecuter)
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
348 |             }
349 |         }
[21/26] Compiling Tiercel Task.swift
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:405:17: warning: capture of 'uniqueTasks' with non-sendable type '[DownloadTask]' in a '@Sendable' closure
 403 |             Executer(onMainQueue: onMainQueue, handler: handler).execute(self)
 404 |             operationQueue.async {
 405 |                 uniqueTasks.forEach {
     |                 `- warning: capture of 'uniqueTasks' with non-sendable type '[DownloadTask]' in a '@Sendable' closure
 406 |                     if $0.status != .succeeded {
 407 |                         self._start($0)
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:33:14: note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:407:25: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 405 |                 uniqueTasks.forEach {
 406 |                     if $0.status != .succeeded {
 407 |                         self._start($0)
     |                         `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 408 |                     }
 409 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:405:17: warning: reference to captured var 'uniqueTasks' in concurrently-executing code
 403 |             Executer(onMainQueue: onMainQueue, handler: handler).execute(self)
 404 |             operationQueue.async {
 405 |                 uniqueTasks.forEach {
     |                 `- warning: reference to captured var 'uniqueTasks' in concurrently-executing code
 406 |                     if $0.status != .succeeded {
 407 |                         self._start($0)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:407:25: warning: capture of 'self' with non-sendable type 'SessionManager' in an isolated closure; this is an error in the Swift 6 language mode
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 405 |                 uniqueTasks.forEach {
 406 |                     if $0.status != .succeeded {
 407 |                         self._start($0)
     |                         `- warning: capture of 'self' with non-sendable type 'SessionManager' in an isolated closure; this is an error in the Swift 6 language mode
 408 |                     }
 409 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:443:13: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 441 |     public func start(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 442 |         operationQueue.async {
 443 |             self._start(url, onMainQueue: onMainQueue, handler: handler)
     |             `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 444 |         }
 445 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:443:25: warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 441 |     public func start(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 442 |         operationQueue.async {
 443 |             self._start(url, onMainQueue: onMainQueue, handler: handler)
     |                         `- warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 444 |         }
 445 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:443:65: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 441 |     public func start(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 442 |         operationQueue.async {
 443 |             self._start(url, onMainQueue: onMainQueue, handler: handler)
     |                                                                 |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 444 |         }
 445 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:449:27: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 447 |     public func start(_ task: DownloadTask, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 448 |         operationQueue.async {
 449 |             guard let _ = self.fetchTask(task.url) else {
     |                           `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 450 |                 self.log(.error("can't start downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 451 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:449:42: warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 447 |     public func start(_ task: DownloadTask, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 448 |         operationQueue.async {
 449 |             guard let _ = self.fetchTask(task.url) else {
     |                                          `- warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 450 |                 self.log(.error("can't start downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 451 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:33:14: note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:453:66: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 451 |                 return
 452 |             }
 453 |             self._start(task, onMainQueue: onMainQueue, handler: handler)
     |                                                                  |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 454 |         }
 455 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:482:30: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 480 |     public func suspend(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 481 |         operationQueue.async {
 482 |             guard let task = self.fetchTask(url) else {
     |                              `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 483 |                 self.log(.error("can't suspend downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: url)))
 484 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:482:45: warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 480 |     public func suspend(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 481 |         operationQueue.async {
 482 |             guard let task = self.fetchTask(url) else {
     |                                             `- warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 483 |                 self.log(.error("can't suspend downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: url)))
 484 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:486:61: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 484 |                 return
 485 |             }
 486 |             task.suspend(onMainQueue: onMainQueue, handler: handler)
     |                                                             |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 487 |         }
 488 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:492:27: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 490 |     public func suspend(_ task: DownloadTask, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 491 |         operationQueue.async {
 492 |             guard let _ = self.fetchTask(task.url) else {
     |                           `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 493 |                 self.log(.error("can't suspend downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 494 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:492:42: warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 490 |     public func suspend(_ task: DownloadTask, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 491 |         operationQueue.async {
 492 |             guard let _ = self.fetchTask(task.url) else {
     |                                          `- warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 493 |                 self.log(.error("can't suspend downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 494 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:33:14: note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:496:61: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 494 |                 return
 495 |             }
 496 |             task.suspend(onMainQueue: onMainQueue, handler: handler)
     |                                                             |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 497 |         }
 498 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:507:30: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 505 |     public func cancel(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 506 |         operationQueue.async {
 507 |             guard let task = self.fetchTask(url) else {
     |                              `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 508 |                 self.log(.error("can't cancel downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: url)))
 509 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:507:45: warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 505 |     public func cancel(_ url: URLConvertible, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 506 |         operationQueue.async {
 507 |             guard let task = self.fetchTask(url) else {
     |                                             `- warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 508 |                 self.log(.error("can't cancel downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: url)))
 509 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:511:60: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 509 |                 return
 510 |             }
 511 |             task.cancel(onMainQueue: onMainQueue, handler: handler)
     |                                                            |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                            `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 512 |         }
 513 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:517:27: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 515 |     public func cancel(_ task: DownloadTask, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 516 |         operationQueue.async {
 517 |             guard let _ = self.fetchTask(task.url) else {
     |                           `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 518 |                 self.log(.error("can't cancel downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 519 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:517:42: warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 515 |     public func cancel(_ task: DownloadTask, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 516 |         operationQueue.async {
 517 |             guard let _ = self.fetchTask(task.url) else {
     |                                          `- warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 518 |                 self.log(.error("can't cancel downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 519 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:33:14: note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:521:60: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 519 |                 return
 520 |             }
 521 |             task.cancel(onMainQueue: onMainQueue, handler: handler)
     |                                                            |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                            `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 522 |         }
 523 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:537:30: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 535 |     public func remove(_ url: URLConvertible, completely: Bool = false, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 536 |         operationQueue.async {
 537 |             guard let task = self.fetchTask(url) else {
     |                              `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 538 |                 self.log(.error("can't remove downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: url)))
 539 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:537:45: warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 535 |     public func remove(_ url: URLConvertible, completely: Bool = false, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 536 |         operationQueue.async {
 537 |             guard let task = self.fetchTask(url) else {
     |                                             `- warning: capture of 'url' with non-sendable type 'any URLConvertible' in a '@Sendable' closure
 538 |                 self.log(.error("can't remove downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: url)))
 539 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/URLConvertible.swift:29:17: note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
27 | import Foundation
28 |
29 | public protocol URLConvertible {
   |                 `- note: protocol 'URLConvertible' does not conform to the 'Sendable' protocol
30 |
31 |     func asURL() throws -> URL
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:541:84: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 539 |                 return
 540 |             }
 541 |             task.remove(completely: completely, onMainQueue: onMainQueue, handler: handler)
     |                                                                                    |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 542 |         }
 543 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:547:27: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 545 |     public func remove(_ task: DownloadTask, completely: Bool = false, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 546 |         operationQueue.async {
 547 |             guard let _ = self.fetchTask(task.url) else {
     |                           `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 548 |                 self.log(.error("can't remove downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 549 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:547:42: warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 545 |     public func remove(_ task: DownloadTask, completely: Bool = false, onMainQueue: Bool = true, handler: Handler<DownloadTask>? = nil) {
 546 |         operationQueue.async {
 547 |             guard let _ = self.fetchTask(task.url) else {
     |                                          `- warning: capture of 'task' with non-sendable type 'DownloadTask' in a '@Sendable' closure
 548 |                 self.log(.error("can't remove downloadTask", error: TiercelError.fetchDownloadTaskFailed(url: task.url)))
 549 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/General/DownloadTask.swift:33:14: note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 31 | #endif
 32 |
 33 | public class DownloadTask: Task<DownloadTask> {
    |              `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
 34 |
 35 |     private enum CodingKeys: CodingKey {
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:551:84: warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
 549 |                 return
 550 |             }
 551 |             task.remove(completely: completely, onMainQueue: onMainQueue, handler: handler)
     |                                                                                    |- warning: capture of 'handler' with non-sendable type 'Handler<DownloadTask>?' (aka 'Optional<(DownloadTask) -> ()>') in a '@Sendable' closure
     |                                                                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 552 |         }
 553 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:581:13: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 579 |     public func totalStart(onMainQueue: Bool = true, handler: Handler<SessionManager>? = nil) {
 580 |         operationQueue.async {
 581 |             self.tasks.forEach { task in
     |             `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 582 |                 if task.status != .succeeded {
 583 |                     self._start(task)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:586:57: warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
 584 |                 }
 585 |             }
 586 |             Executer(onMainQueue: onMainQueue, handler: handler).execute(self)
     |                                                         |- warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
     |                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 587 |         }
 588 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:583:21: warning: capture of 'self' with non-sendable type 'SessionManager' in an isolated closure; this is an error in the Swift 6 language mode
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 581 |             self.tasks.forEach { task in
 582 |                 if task.status != .succeeded {
 583 |                     self._start(task)
     |                     `- warning: capture of 'self' with non-sendable type 'SessionManager' in an isolated closure; this is an error in the Swift 6 language mode
 584 |                 }
 585 |             }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:592:19: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 590 |     public func totalSuspend(onMainQueue: Bool = true, handler: Handler<SessionManager>? = nil) {
 591 |         operationQueue.async {
 592 |             guard self.status == .running || self.status == .waiting else { return }
     |                   `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 593 |             self.status = .willSuspend
 594 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:594:80: warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
 592 |             guard self.status == .running || self.status == .waiting else { return }
 593 |             self.status = .willSuspend
 594 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
     |                                                                                |- warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
     |                                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 595 |             self.tasks.forEach { $0.suspend() }
 596 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:592:46: warning: implicit capture of 'self' requires that 'SessionManager' conforms to 'Sendable'; this is an error in the Swift 6 language mode
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 590 |     public func totalSuspend(onMainQueue: Bool = true, handler: Handler<SessionManager>? = nil) {
 591 |         operationQueue.async {
 592 |             guard self.status == .running || self.status == .waiting else { return }
     |                                              `- warning: implicit capture of 'self' requires that 'SessionManager' conforms to 'Sendable'; this is an error in the Swift 6 language mode
 593 |             self.status = .willSuspend
 594 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:601:19: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 599 |     public func totalCancel(onMainQueue: Bool = true, handler: Handler<SessionManager>? = nil) {
 600 |         operationQueue.async {
 601 |             guard self.status != .succeeded && self.status != .canceled else { return }
     |                   `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 602 |             self.status = .willCancel
 603 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:603:80: warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
 601 |             guard self.status != .succeeded && self.status != .canceled else { return }
 602 |             self.status = .willCancel
 603 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
     |                                                                                |- warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
     |                                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 604 |             self.tasks.forEach { $0.cancel() }
 605 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:601:48: warning: implicit capture of 'self' requires that 'SessionManager' conforms to 'Sendable'; this is an error in the Swift 6 language mode
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 599 |     public func totalCancel(onMainQueue: Bool = true, handler: Handler<SessionManager>? = nil) {
 600 |         operationQueue.async {
 601 |             guard self.status != .succeeded && self.status != .canceled else { return }
     |                                                `- warning: implicit capture of 'self' requires that 'SessionManager' conforms to 'Sendable'; this is an error in the Swift 6 language mode
 602 |             self.status = .willCancel
 603 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:610:19: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 608 |     public func totalRemove(completely: Bool = false, onMainQueue: Bool = true, handler: Handler<SessionManager>? = nil) {
 609 |         operationQueue.async {
 610 |             guard self.status != .removed else { return }
     |                   `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 611 |             self.status = .willRemove
 612 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:612:80: warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
 610 |             guard self.status != .removed else { return }
 611 |             self.status = .willRemove
 612 |             self.controlExecuter = Executer(onMainQueue: onMainQueue, handler: handler)
     |                                                                                |- warning: capture of 'handler' with non-sendable type 'Handler<SessionManager>?' (aka 'Optional<(SessionManager) -> ()>') in a '@Sendable' closure
     |                                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 613 |             self.tasks.forEach { $0.remove(completely: completely) }
 614 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:692:30: warning: capture of 'self' with non-sendable type 'SessionManager?' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 690 |         }
 691 |         session?.getTasksWithCompletionHandler { [weak self] (dataTasks, uploadTasks, downloadTasks) in
 692 |             guard let self = self else { return }
     |                              `- warning: capture of 'self' with non-sendable type 'SessionManager?' in a '@Sendable' closure
 693 |             downloadTasks.forEach { downloadTask in
 694 |                 if downloadTask.state == .running,
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:863:17: warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 861 |             // next task
 862 |             operationQueue.async {
 863 |                 self.startNextTask()
     |                 `- warning: capture of 'self' with non-sendable type 'SessionManager' in a '@Sendable' closure
 864 |             }
 865 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:949:17: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 947 |         if status == .succeeded  && completionExecuter == nil{
 948 |             operationQueue.async {
 949 |                 self.successExecuter?.execute(self)
     |                 `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 950 |             }
 951 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:964:17: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 962 |             status == .failed) {
 963 |             operationQueue.async {
 964 |                 self.failureExecuter?.execute(self)
     |                 `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 965 |             }
 966 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/SessionManager.swift:979:17: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
  31 | #endif
  32 |
  33 | public class SessionManager {
     |              `- note: class 'SessionManager' does not conform to the 'Sendable' protocol
  34 |
  35 |     enum MaintainTasksAction {
     :
 977 |             status == .failed  {
 978 |             operationQueue.async {
 979 |                 self.completionExecuter?.execute(self)
     |                 `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 980 |             }
 981 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/Task.swift:316:17: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 35 | }
 36 |
 37 | public class Task<TaskType>: NSObject, Codable {
    |              `- note: generic class 'Task' does not conform to the 'Sendable' protocol
 38 |
 39 |     private enum CodingKeys: CodingKey {
    :
314 |         if status == .succeeded  && completionExecuter == nil{
315 |             operationQueue.async {
316 |                 self.execute(self.successExecuter)
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
317 |             }
318 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/Task.swift:332:17: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 35 | }
 36 |
 37 | public class Task<TaskType>: NSObject, Codable {
    |              `- note: generic class 'Task' does not conform to the 'Sendable' protocol
 38 |
 39 |     private enum CodingKeys: CodingKey {
    :
330 |             status == .failed) {
331 |             operationQueue.async {
332 |                 self.execute(self.failureExecuter)
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
333 |             }
334 |         }
/Users/admin/builder/spi-builder-workspace/Sources/General/Task.swift:347:17: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 35 | }
 36 |
 37 | public class Task<TaskType>: NSObject, Codable {
    |              `- note: generic class 'Task' does not conform to the 'Sendable' protocol
 38 |
 39 |     private enum CodingKeys: CodingKey {
    :
345 |             status == .failed  {
346 |             operationQueue.async {
347 |                 self.execute(self.completionExecuter)
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
348 |             }
349 |         }
[22/26] Compiling Tiercel Cache.swift
/Users/admin/builder/spi-builder-workspace/Sources/General/Cache.swift:87:36: warning: type 'Cache' does not conform to the 'Sendable' protocol
 27 | import Foundation
 28 |
 29 | public class Cache {
    |              `- note: class 'Cache' does not conform to the 'Sendable' protocol
 30 |
 31 |     private let ioQueue: DispatchQueue
    :
 85 |         createDirectory()
 86 |
 87 |         decoder.userInfo[.cache] = self
    |                                    `- warning: type 'Cache' does not conform to the 'Sendable' protocol
 88 |
 89 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/Cache.swift:175:19: warning: capture of 'self' with non-sendable type 'Cache' in a '@Sendable' closure
 27 | import Foundation
 28 |
 29 | public class Cache {
    |              `- note: class 'Cache' does not conform to the 'Sendable' protocol
 30 |
 31 |     private let ioQueue: DispatchQueue
    :
173 |     public func clearDiskCache(onMainQueue: Bool = true, handler: Handler<Cache>? = nil) {
174 |         ioQueue.async {
175 |             guard self.fileManager.fileExists(atPath: self.downloadPath) else { return }
    |                   `- warning: capture of 'self' with non-sendable type 'Cache' in a '@Sendable' closure
176 |             do {
177 |                 try self.fileManager.removeItem(atPath: self.downloadPath)
/Users/admin/builder/spi-builder-workspace/Sources/General/Cache.swift:184:30: warning: capture of 'handler' with non-sendable type 'Handler<Cache>?' (aka 'Optional<(Cache) -> ()>') in a '@Sendable' closure
182 |             }
183 |             self.createDirectory()
184 |             if let handler = handler {
    |                              |- warning: capture of 'handler' with non-sendable type 'Handler<Cache>?' (aka 'Optional<(Cache) -> ()>') in a '@Sendable' closure
    |                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
185 |                 Executer(onMainQueue: onMainQueue, handler: handler).execute(self)
186 |             }
/Users/admin/builder/spi-builder-workspace/Sources/General/Cache.swift:344:16: warning: capture of 'self' with non-sendable type 'Cache' in a '@Sendable' closure
 27 | import Foundation
 28 |
 29 | public class Cache {
    |              `- note: class 'Cache' does not conform to the 'Sendable' protocol
 30 |
 31 |     private let ioQueue: DispatchQueue
    :
342 |     internal func removeFile(_ filePath: String) {
343 |         ioQueue.async {
344 |             if self.fileManager.fileExists(atPath: filePath) {
    |                `- warning: capture of 'self' with non-sendable type 'Cache' in a '@Sendable' closure
345 |                 do {
346 |                     try self.fileManager.removeItem(atPath: filePath)
/Users/admin/builder/spi-builder-workspace/Sources/General/Cache.swift:364:26: warning: capture of 'self' with non-sendable type 'Cache' in a '@Sendable' closure
 27 | import Foundation
 28 |
 29 | public class Cache {
    |              `- note: class 'Cache' does not conform to the 'Sendable' protocol
 30 |
 31 |     private let ioQueue: DispatchQueue
    :
362 |         ioQueue.async {
363 |             guard let tmpFileName = tmpFileName, !tmpFileName.isEmpty else { return }
364 |             let path1 = (self.downloadTmpPath as NSString).appendingPathComponent(tmpFileName)
    |                          `- warning: capture of 'self' with non-sendable type 'Cache' in a '@Sendable' closure
365 |             let path2 = (NSTemporaryDirectory() as NSString).appendingPathComponent(tmpFileName)
366 |             [path1, path2].forEach { (path) in
/Users/admin/builder/spi-builder-workspace/Sources/General/Cache.swift:367:20: warning: capture of 'self' with non-sendable type 'Cache' in an isolated closure; this is an error in the Swift 6 language mode
 27 | import Foundation
 28 |
 29 | public class Cache {
    |              `- note: class 'Cache' does not conform to the 'Sendable' protocol
 30 |
 31 |     private let ioQueue: DispatchQueue
    :
365 |             let path2 = (NSTemporaryDirectory() as NSString).appendingPathComponent(tmpFileName)
366 |             [path1, path2].forEach { (path) in
367 |                 if self.fileManager.fileExists(atPath: path) {
    |                    `- warning: capture of 'self' with non-sendable type 'Cache' in an isolated closure; this is an error in the Swift 6 language mode
368 |                     do {
369 |                         try self.fileManager.removeItem(atPath: path)
/Users/admin/builder/spi-builder-workspace/Sources/General/Common.swift:114:20: warning: static property 'tiercelTask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
112 | extension URLSessionTask {
113 |     private struct AssociatedKeys {
114 |         static var tiercelTask: UInt8 = 0
    |                    |- warning: static property 'tiercelTask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: convert 'tiercelTask' to a 'let' constant to make 'Sendable' shared state immutable
    |                    |- note: add '@MainActor' to make static property 'tiercelTask' part of global actor 'MainActor'
    |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 |     }
116 |
[23/26] Compiling Tiercel Common.swift
/Users/admin/builder/spi-builder-workspace/Sources/General/Cache.swift:87:36: warning: type 'Cache' does not conform to the 'Sendable' protocol
 27 | import Foundation
 28 |
 29 | public class Cache {
    |              `- note: class 'Cache' does not conform to the 'Sendable' protocol
 30 |
 31 |     private let ioQueue: DispatchQueue
    :
 85 |         createDirectory()
 86 |
 87 |         decoder.userInfo[.cache] = self
    |                                    `- warning: type 'Cache' does not conform to the 'Sendable' protocol
 88 |
 89 |     }
/Users/admin/builder/spi-builder-workspace/Sources/General/Cache.swift:175:19: warning: capture of 'self' with non-sendable type 'Cache' in a '@Sendable' closure
 27 | import Foundation
 28 |
 29 | public class Cache {
    |              `- note: class 'Cache' does not conform to the 'Sendable' protocol
 30 |
 31 |     private let ioQueue: DispatchQueue
    :
173 |     public func clearDiskCache(onMainQueue: Bool = true, handler: Handler<Cache>? = nil) {
174 |         ioQueue.async {
175 |             guard self.fileManager.fileExists(atPath: self.downloadPath) else { return }
    |                   `- warning: capture of 'self' with non-sendable type 'Cache' in a '@Sendable' closure
176 |             do {
177 |                 try self.fileManager.removeItem(atPath: self.downloadPath)
/Users/admin/builder/spi-builder-workspace/Sources/General/Cache.swift:184:30: warning: capture of 'handler' with non-sendable type 'Handler<Cache>?' (aka 'Optional<(Cache) -> ()>') in a '@Sendable' closure
182 |             }
183 |             self.createDirectory()
184 |             if let handler = handler {
    |                              |- warning: capture of 'handler' with non-sendable type 'Handler<Cache>?' (aka 'Optional<(Cache) -> ()>') in a '@Sendable' closure
    |                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
185 |                 Executer(onMainQueue: onMainQueue, handler: handler).execute(self)
186 |             }
/Users/admin/builder/spi-builder-workspace/Sources/General/Cache.swift:344:16: warning: capture of 'self' with non-sendable type 'Cache' in a '@Sendable' closure
 27 | import Foundation
 28 |
 29 | public class Cache {
    |              `- note: class 'Cache' does not conform to the 'Sendable' protocol
 30 |
 31 |     private let ioQueue: DispatchQueue
    :
342 |     internal func removeFile(_ filePath: String) {
343 |         ioQueue.async {
344 |             if self.fileManager.fileExists(atPath: filePath) {
    |                `- warning: capture of 'self' with non-sendable type 'Cache' in a '@Sendable' closure
345 |                 do {
346 |                     try self.fileManager.removeItem(atPath: filePath)
/Users/admin/builder/spi-builder-workspace/Sources/General/Cache.swift:364:26: warning: capture of 'self' with non-sendable type 'Cache' in a '@Sendable' closure
 27 | import Foundation
 28 |
 29 | public class Cache {
    |              `- note: class 'Cache' does not conform to the 'Sendable' protocol
 30 |
 31 |     private let ioQueue: DispatchQueue
    :
362 |         ioQueue.async {
363 |             guard let tmpFileName = tmpFileName, !tmpFileName.isEmpty else { return }
364 |             let path1 = (self.downloadTmpPath as NSString).appendingPathComponent(tmpFileName)
    |                          `- warning: capture of 'self' with non-sendable type 'Cache' in a '@Sendable' closure
365 |             let path2 = (NSTemporaryDirectory() as NSString).appendingPathComponent(tmpFileName)
366 |             [path1, path2].forEach { (path) in
/Users/admin/builder/spi-builder-workspace/Sources/General/Cache.swift:367:20: warning: capture of 'self' with non-sendable type 'Cache' in an isolated closure; this is an error in the Swift 6 language mode
 27 | import Foundation
 28 |
 29 | public class Cache {
    |              `- note: class 'Cache' does not conform to the 'Sendable' protocol
 30 |
 31 |     private let ioQueue: DispatchQueue
    :
365 |             let path2 = (NSTemporaryDirectory() as NSString).appendingPathComponent(tmpFileName)
366 |             [path1, path2].forEach { (path) in
367 |                 if self.fileManager.fileExists(atPath: path) {
    |                    `- warning: capture of 'self' with non-sendable type 'Cache' in an isolated closure; this is an error in the Swift 6 language mode
368 |                     do {
369 |                         try self.fileManager.removeItem(atPath: path)
/Users/admin/builder/spi-builder-workspace/Sources/General/Common.swift:114:20: warning: static property 'tiercelTask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
112 | extension URLSessionTask {
113 |     private struct AssociatedKeys {
114 |         static var tiercelTask: UInt8 = 0
    |                    |- warning: static property 'tiercelTask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: convert 'tiercelTask' to a 'let' constant to make 'Sendable' shared state immutable
    |                    |- note: add '@MainActor' to make static property 'tiercelTask' part of global actor 'MainActor'
    |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 |     }
116 |
[24/26] Compiling Tiercel Array+Safe.swift
[25/26] Compiling Tiercel CodingUserInfoKey+Cache.swift
[26/26] Compiling Tiercel Data+Hash.swift
Build complete! (5.41s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Tiercel",
  "name" : "Tiercel",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "Tiercel",
      "targets" : [
        "Tiercel"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "Tiercel",
      "module_type" : "SwiftTarget",
      "name" : "Tiercel",
      "path" : "Sources",
      "product_memberships" : [
        "Tiercel"
      ],
      "sources" : [
        "Extensions/Array+Safe.swift",
        "Extensions/CodingUserInfoKey+Cache.swift",
        "Extensions/Data+Hash.swift",
        "Extensions/DispatchQueue+Safe.swift",
        "Extensions/Double+TaskInfo.swift",
        "Extensions/FileManager+AvailableCapacity.swift",
        "Extensions/Int64+TaskInfo.swift",
        "Extensions/OperationQueue+DispatchQueue.swift",
        "Extensions/String+Hash.swift",
        "General/Cache.swift",
        "General/Common.swift",
        "General/DownloadTask.swift",
        "General/Executer.swift",
        "General/Notifications.swift",
        "General/Protected.swift",
        "General/SessionConfiguration.swift",
        "General/SessionDelegate.swift",
        "General/SessionManager.swift",
        "General/Task.swift",
        "General/TiercelError.swift",
        "General/URLConvertible.swift",
        "Utility/FileChecksumHelper.swift",
        "Utility/ResumeDataHelper.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.