This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of JSONSession with Swift 6.0 for Linux.

Swift 6 data race errors: 3

Build Command

bash -c docker run --rm -v "checkouts-4606859-0":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/elegantchaos/JSONSession.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/elegantchaos/JSONSession
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 636fdf1 Upped watchOS minimum to v6.
Cloned https://github.com/elegantchaos/JSONSession.git
Revision (git rev-parse @):
636fdf1fc8050f619e5299892c1ac0b95fd6677f
SUCCESS checkout https://github.com/elegantchaos/JSONSession.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $workDir
https://github.com/elegantchaos/JSONSession.git
Running build ...
bash -c docker run --rm -v "checkouts-4606859-0":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Fetching https://github.com/elegantchaos/SemanticVersion
Fetching https://github.com/elegantchaos/ActionBuilderPlugin.git
Fetching https://github.com/elegantchaos/ActionBuilderCore
Fetching https://github.com/elegantchaos/XCTestExtensions.git
Fetching https://github.com/elegantchaos/DataFetcher.git
Fetching https://github.com/elegantchaos/Runner
[1/565] Fetching xctestextensions
[566/717] Fetching xctestextensions, semanticversion
[718/889] Fetching xctestextensions, semanticversion, datafetcher
[724/1177] Fetching xctestextensions, semanticversion, datafetcher, runner
[1178/1316] Fetching xctestextensions, semanticversion, datafetcher, runner, actionbuilderplugin
[1317/1711] Fetching xctestextensions, semanticversion, datafetcher, runner, actionbuilderplugin, actionbuildercore
Fetched https://github.com/elegantchaos/Runner from cache (0.28s)
Fetching https://github.com/elegantchaos/Logger.git
Fetched https://github.com/elegantchaos/SemanticVersion from cache (0.28s)
Fetching https://github.com/elegantchaos/Coercion.git
Fetched https://github.com/elegantchaos/DataFetcher.git from cache (0.28s)
Fetched https://github.com/elegantchaos/XCTestExtensions.git from cache (0.28s)
Fetched https://github.com/elegantchaos/ActionBuilderPlugin.git from cache (0.28s)
Fetching https://github.com/nicklockwood/SwiftFormat
Fetching https://github.com/elegantchaos/SwiftFormatterPlugin.git
Fetched https://github.com/elegantchaos/ActionBuilderCore from cache (0.29s)
[1/1847] Fetching logger
[38/1934] Fetching logger, swiftformatterplugin
[1289/2208] Fetching logger, swiftformatterplugin, coercion
Fetched https://github.com/elegantchaos/Coercion.git from cache (0.28s)
Fetched https://github.com/elegantchaos/Logger.git from cache (0.29s)
[1/38425] Fetching swiftformat
Fetched https://github.com/elegantchaos/SwiftFormatterPlugin.git from cache (17.74s)
Computing version for https://github.com/elegantchaos/SwiftFormatterPlugin.git
Computed https://github.com/elegantchaos/SwiftFormatterPlugin.git at 1.0.3 (0.47s)
Fetched https://github.com/nicklockwood/SwiftFormat from cache (18.37s)
Computing version for https://github.com/elegantchaos/ActionBuilderPlugin.git
Computed https://github.com/elegantchaos/ActionBuilderPlugin.git at 1.0.7 (0.46s)
Computing version for https://github.com/elegantchaos/XCTestExtensions.git
Computed https://github.com/elegantchaos/XCTestExtensions.git at 1.1.2 (0.45s)
Computing version for https://github.com/elegantchaos/Logger.git
Computed https://github.com/elegantchaos/Logger.git at 1.5.5 (0.46s)
Computing version for https://github.com/elegantchaos/DataFetcher.git
Computed https://github.com/elegantchaos/DataFetcher.git at 1.0.2 (0.47s)
Computing version for https://github.com/elegantchaos/Coercion.git
Computed https://github.com/elegantchaos/Coercion.git at 1.0.3 (0.45s)
Computing version for https://github.com/nicklockwood/SwiftFormat
Computed https://github.com/nicklockwood/SwiftFormat at 0.49.13 (5.94s)
Computing version for https://github.com/elegantchaos/ActionBuilderCore
Computed https://github.com/elegantchaos/ActionBuilderCore at 1.0.9 (0.47s)
Computing version for https://github.com/elegantchaos/SemanticVersion
Computed https://github.com/elegantchaos/SemanticVersion at 1.1.0 (0.56s)
Computing version for https://github.com/elegantchaos/Runner
Computed https://github.com/elegantchaos/Runner at 1.3.2 (0.48s)
Creating working copy for https://github.com/elegantchaos/SemanticVersion
Working copy of https://github.com/elegantchaos/SemanticVersion resolved at 1.1.0
Creating working copy for https://github.com/elegantchaos/ActionBuilderCore
Working copy of https://github.com/elegantchaos/ActionBuilderCore resolved at 1.0.9
Creating working copy for https://github.com/elegantchaos/XCTestExtensions.git
Working copy of https://github.com/elegantchaos/XCTestExtensions.git resolved at 1.1.2
Creating working copy for https://github.com/elegantchaos/DataFetcher.git
Working copy of https://github.com/elegantchaos/DataFetcher.git resolved at 1.0.2
Creating working copy for https://github.com/nicklockwood/SwiftFormat
Working copy of https://github.com/nicklockwood/SwiftFormat resolved at 0.49.13
Creating working copy for https://github.com/elegantchaos/ActionBuilderPlugin.git
Working copy of https://github.com/elegantchaos/ActionBuilderPlugin.git resolved at 1.0.7
Creating working copy for https://github.com/elegantchaos/Coercion.git
Working copy of https://github.com/elegantchaos/Coercion.git resolved at 1.0.3
Creating working copy for https://github.com/elegantchaos/Logger.git
Working copy of https://github.com/elegantchaos/Logger.git resolved at 1.5.5
Creating working copy for https://github.com/elegantchaos/Runner
Working copy of https://github.com/elegantchaos/Runner resolved at 1.3.2
Creating working copy for https://github.com/elegantchaos/SwiftFormatterPlugin.git
Working copy of https://github.com/elegantchaos/SwiftFormatterPlugin.git resolved at 1.0.3
[1/1] Compiling plugin ActionBuilderPlugin
[2/2] Compiling plugin SwiftFormatterPlugin
Building for debugging...
[2/7] Write sources
[6/7] Write swift-version-24593BA9C3E375BF.txt
[8/30] Compiling Logger Handler.swift
[9/30] Compiling Logger PrintHandler.swift
[10/30] Compiling Logger Context.swift
[11/30] Compiling Coercion StringConvertible.swift
[12/30] Compiling Coercion UIntConvertible.swift
[13/31] Compiling Logger OSLogHandler.swift
[14/31] Compiling Logger NSLogHandler.swift
[15/31] Compiling Logger Manager.swift
[16/31] Compiling Coercion String+Coercion.swift
[17/31] Compiling Coercion BinaryInteger+Coercion.swift
[18/31] Compiling Coercion Bool+Coercion.swift
[19/31] Emitting module Logger
[20/31] Compiling Logger Channel.swift
[21/32] Emitting module Coercion
[23/32] Compiling Coercion IntConvertible.swift
[24/32] Compiling Coercion StandardConvertible.swift
[25/32] Compiling Coercion BoolConvertible.swift
[26/32] Compiling Coercion DataConvertible.swift
[27/32] Compiling Coercion DateConvertible.swift
[28/32] Compiling Coercion DoubleConvertible.swift
[29/32] Compiling Coercion Converter.swift
[30/32] Compiling Coercion Date+Coercion.swift
[31/32] Compiling Coercion Dictionary+Coercion.swift
[32/32] Compiling Coercion Double+Coercion.swift
[34/37] Compiling DataFetcher JSONDictionary.swift
[35/37] Compiling DataFetcher MockDataFetcher.swift
[36/37] Emitting module DataFetcher
[37/37] Compiling DataFetcher DataFetcher.swift
[39/47] Compiling JSONSession ResourceResolver.swift
[40/48] Compiling JSONSession Query.swift
[41/48] Compiling JSONSession ProcessorGroup.swift
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:15:12: warning: let 'sessionChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 13 | #endif
 14 |
 15 | public let sessionChannel = Channel("com.elegantchaos.jsonsession.JSONSession")
    |            `- warning: let 'sessionChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
 17 |
/host/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |
 17 |     /**
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
  7 | import DataFetcher
  8 | import Foundation
  9 | import Logger
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 10 |
 11 | #if canImport(FoundationNetworking)
    :
 13 | #endif
 14 |
 15 | public let sessionChannel = Channel("com.elegantchaos.jsonsession.JSONSession")
    |            |- note: annotate 'sessionChannel' with '@MainActor' if property should only be accessed from the main actor
    |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
 17 |
[42/48] Compiling JSONSession Resource.swift
[43/48] Compiling JSONSession Request.swift
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:16:12: warning: let 'networkingChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | public let sessionChannel = Channel("com.elegantchaos.jsonsession.JSONSession")
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
    |            `- warning: let 'networkingChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 17 |
 18 | open class Session {
/host/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |
 17 |     /**
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
  7 | import DataFetcher
  8 | import Foundation
  9 | import Logger
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 10 |
 11 | #if canImport(FoundationNetworking)
    :
 14 |
 15 | public let sessionChannel = Channel("com.elegantchaos.jsonsession.JSONSession")
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
    |            |- note: annotate 'networkingChannel' with '@MainActor' if property should only be accessed from the main actor
    |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 | open class Session {
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:15:12: warning: let 'sessionChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 13 | #endif
 14 |
 15 | public let sessionChannel = Channel("com.elegantchaos.jsonsession.JSONSession")
    |            |- warning: let 'sessionChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
    |            |- note: annotate 'sessionChannel' with '@MainActor' if property should only be accessed from the main actor
    |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
 17 |
/host/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |
 17 |     /**
[44/48] Compiling JSONSession TimeExtensions.swift
/host/spi-builder-workspace/Sources/JSONSession/TimeExtensions.swift:71:33: warning: conformance of 'DispatchTimeInterval' to protocol 'Equatable' was already stated in the type's module 'Dispatch'
69 | }
70 |
71 | extension DispatchTimeInterval: Equatable {}
   |                                 `- warning: conformance of 'DispatchTimeInterval' to protocol 'Equatable' was already stated in the type's module 'Dispatch'
72 | #endif
73 |
Dispatch.DispatchTimeInterval:1:13: note: 'DispatchTimeInterval' declares conformance to protocol 'Equatable' here
1 | public enum DispatchTimeInterval : Equatable, Sendable {
  |             `- note: 'DispatchTimeInterval' declares conformance to protocol 'Equatable' here
2 |     case seconds(Int)
3 |     case milliseconds(Int)
[45/48] Compiling JSONSession Failure.swift
[46/48] Compiling JSONSession Processor.swift
[47/48] Emitting module JSONSession
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:15:12: warning: let 'sessionChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 13 | #endif
 14 |
 15 | public let sessionChannel = Channel("com.elegantchaos.jsonsession.JSONSession")
    |            `- warning: let 'sessionChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
 17 |
/host/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |
 17 |     /**
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
  7 | import DataFetcher
  8 | import Foundation
  9 | import Logger
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 10 |
 11 | #if canImport(FoundationNetworking)
    :
 13 | #endif
 14 |
 15 | public let sessionChannel = Channel("com.elegantchaos.jsonsession.JSONSession")
    |            |- note: annotate 'sessionChannel' with '@MainActor' if property should only be accessed from the main actor
    |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
 17 |
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:16:12: warning: let 'networkingChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | public let sessionChannel = Channel("com.elegantchaos.jsonsession.JSONSession")
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
    |            |- warning: let 'networkingChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
    |            |- note: annotate 'networkingChannel' with '@MainActor' if property should only be accessed from the main actor
    |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 | open class Session {
/host/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |
 17 |     /**
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:50:14: warning: associated value 'apiError' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'Failure'; this is an error in the Swift 6 language mode
 48 |         case badResponse
 49 |         case missingData
 50 |         case apiError(Failure)
    |              `- warning: associated value 'apiError' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'Failure'; this is an error in the Swift 6 language mode
 51 |         case unexpectedResponse(Int)
 52 |     }
/host/spi-builder-workspace/Sources/JSONSession/Failure.swift:8:15: note: consider making struct 'Failure' conform to the 'Sendable' protocol
 6 | import Foundation
 7 |
 8 | public struct Failure: Codable {
   |               `- note: consider making struct 'Failure' conform to the 'Sendable' protocol
 9 |     let message: String
10 |     let documentation_url: String
/host/spi-builder-workspace/Sources/JSONSession/TimeExtensions.swift:71:33: warning: conformance of 'DispatchTimeInterval' to protocol 'Equatable' was already stated in the type's module 'Dispatch'
69 | }
70 |
71 | extension DispatchTimeInterval: Equatable {}
   |                                 `- warning: conformance of 'DispatchTimeInterval' to protocol 'Equatable' was already stated in the type's module 'Dispatch'
72 | #endif
73 |
Dispatch.DispatchTimeInterval:1:13: note: 'DispatchTimeInterval' declares conformance to protocol 'Equatable' here
1 | public enum DispatchTimeInterval : Equatable, Sendable {
  |             `- note: 'DispatchTimeInterval' declares conformance to protocol 'Equatable' here
2 |     case seconds(Int)
3 |     case milliseconds(Int)
[48/48] Compiling JSONSession Session.swift
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:15:12: warning: let 'sessionChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 13 | #endif
 14 |
 15 | public let sessionChannel = Channel("com.elegantchaos.jsonsession.JSONSession")
    |            `- warning: let 'sessionChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
 17 |
/host/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |
 17 |     /**
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
  7 | import DataFetcher
  8 | import Foundation
  9 | import Logger
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 10 |
 11 | #if canImport(FoundationNetworking)
    :
 13 | #endif
 14 |
 15 | public let sessionChannel = Channel("com.elegantchaos.jsonsession.JSONSession")
    |            |- note: annotate 'sessionChannel' with '@MainActor' if property should only be accessed from the main actor
    |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
 17 |
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:16:12: warning: let 'networkingChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | public let sessionChannel = Channel("com.elegantchaos.jsonsession.JSONSession")
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
    |            |- warning: let 'networkingChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
    |            |- note: annotate 'networkingChannel' with '@MainActor' if property should only be accessed from the main actor
    |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 | open class Session {
/host/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |
 17 |     /**
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:50:14: warning: associated value 'apiError' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'Failure'; this is an error in the Swift 6 language mode
 48 |         case badResponse
 49 |         case missingData
 50 |         case apiError(Failure)
    |              `- warning: associated value 'apiError' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'Failure'; this is an error in the Swift 6 language mode
 51 |         case unexpectedResponse(Int)
 52 |     }
/host/spi-builder-workspace/Sources/JSONSession/Failure.swift:8:15: note: consider making struct 'Failure' conform to the 'Sendable' protocol
 6 | import Foundation
 7 |
 8 | public struct Failure: Codable {
   |               `- note: consider making struct 'Failure' conform to the 'Sendable' protocol
 9 |     let message: String
10 |     let documentation_url: String
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:57:13: warning: capture of 'self' with non-sendable type 'Session' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
 17 |
 18 | open class Session {
    |            `- note: class 'Session' does not conform to the 'Sendable' protocol
 19 |     public let fetcher: DataFetcher
 20 |     public let base: URL
    :
 55 |         request.log(deadline: deadline)
 56 |         DispatchQueue.global(qos: .background).asyncAfter(deadline: deadline) {
 57 |             self.sendRequest(request: request)
    |             `- warning: capture of 'self' with non-sendable type 'Session' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |         }
 59 |     }
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:57:39: warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 55 |         request.log(deadline: deadline)
 56 |         DispatchQueue.global(qos: .background).asyncAfter(deadline: deadline) {
 57 |             self.sendRequest(request: request)
    |                                       `- warning: capture of 'request' with non-sendable type 'Request' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |         }
 59 |     }
/host/spi-builder-workspace/Sources/JSONSession/Request.swift:12:15: note: consider making struct 'Request' conform to the 'Sendable' protocol
10 | #endif
11 |
12 | public struct Request {
   |               `- note: consider making struct 'Request' conform to the 'Sendable' protocol
13 |     public let resource: ResourceResolver
14 |     let processors: ProcessorGroup
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:72:17: warning: capture of 'self' with non-sendable type 'Session' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
 17 |
 18 | open class Session {
    |            `- note: class 'Session' does not conform to the 'Sendable' protocol
 19 |     public let fetcher: DataFetcher
 20 |     public let base: URL
    :
 70 |
 71 |             DispatchQueue.main.async {
 72 |                 self.tasks = self.tasks.filter { task in !task.isDone }
    |                 `- warning: capture of 'self' with non-sendable type 'Session' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 73 |             }
 74 |         }
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:77:13: warning: capture of 'self' with non-sendable type 'Session' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 | public let networkingChannel = Channel("com.elegantchaos.jsonsession.JSONNetworking")
 17 |
 18 | open class Session {
    |            `- note: class 'Session' does not conform to the 'Sendable' protocol
 19 |     public let fetcher: DataFetcher
 20 |     public let base: URL
    :
 75 |
 76 |         DispatchQueue.main.async {
 77 |             self.tasks.append(task)
    |             `- warning: capture of 'self' with non-sendable type 'Session' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 78 |             task.resume()
 79 |         }
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:77:31: warning: capture of 'task' with non-sendable type 'any DataTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 75 |
 76 |         DispatchQueue.main.async {
 77 |             self.tasks.append(task)
    |                               `- warning: capture of 'task' with non-sendable type 'any DataTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 78 |             task.resume()
 79 |         }
/host/spi-builder-workspace/.build/checkouts/DataFetcher/Sources/DataFetcher/DataFetcher.swift:33:17: note: protocol 'DataTask' does not conform to the 'Sendable' protocol
 31 | }
 32 |
 33 | public protocol DataTask {
    |                 `- note: protocol 'DataTask' does not conform to the 'Sendable' protocol
 34 |     var isDone: Bool { get }
 35 |     func resume()
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:7:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DataFetcher'
  5 |
  6 | import Coercion
  7 | import DataFetcher
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'DataFetcher'
  8 | import Foundation
  9 | import Logger
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:77:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 75 |
 76 |         DispatchQueue.main.async {
 77 |             self.tasks.append(task)
    |             |- 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
 78 |             task.resume()
 79 |         }
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:77:31: warning: sending 'task' risks causing data races; this is an error in the Swift 6 language mode
 75 |
 76 |         DispatchQueue.main.async {
 77 |             self.tasks.append(task)
    |                               |- warning: sending 'task' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: task-isolated 'task' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 78 |             task.resume()
 79 |         }
/host/spi-builder-workspace/Sources/JSONSession/Session.swift:72:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 70 |
 71 |             DispatchQueue.main.async {
 72 |                 self.tasks = self.tasks.filter { task in !task.isDone }
    |                 |- 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
 73 |             }
 74 |         }
Build complete! (50.77s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "coercion",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.3",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elegantchaos/Coercion.git"
    },
    {
      "identity" : "datafetcher",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.2",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elegantchaos/DataFetcher.git"
    },
    {
      "identity" : "logger",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.5",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elegantchaos/Logger.git"
    },
    {
      "identity" : "xctestextensions",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elegantchaos/XCTestExtensions.git"
    },
    {
      "identity" : "actionbuilderplugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.7",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elegantchaos/ActionBuilderPlugin.git"
    },
    {
      "identity" : "swiftformatterplugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.3",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elegantchaos/SwiftFormatterPlugin.git"
    }
  ],
  "manifest_display_name" : "JSONSession",
  "name" : "JSONSession",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "maccatalyst",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "JSONSession",
      "targets" : [
        "JSONSession"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "JSONSessionTests",
      "module_type" : "SwiftTarget",
      "name" : "JSONSessionTests",
      "path" : "Tests/JSONSessionTests",
      "product_dependencies" : [
        "XCTestExtensions"
      ],
      "sources" : [
        "JSONSessionTests.swift",
        "LinuxShimTests.swift"
      ],
      "target_dependencies" : [
        "JSONSession"
      ],
      "type" : "test"
    },
    {
      "c99name" : "JSONSession",
      "module_type" : "SwiftTarget",
      "name" : "JSONSession",
      "path" : "Sources/JSONSession",
      "product_dependencies" : [
        "Coercion",
        "DataFetcher",
        "Logger"
      ],
      "product_memberships" : [
        "JSONSession"
      ],
      "sources" : [
        "Failure.swift",
        "Processor.swift",
        "ProcessorGroup.swift",
        "Query.swift",
        "Request.swift",
        "Resource.swift",
        "ResourceResolver.swift",
        "Session.swift",
        "TimeExtensions.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.