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.