Build Information
Successful build of Get, reference main (312498
), with Swift 6.1 for Linux on 29 Apr 2025 16:16:05 UTC.
Swift 6 data race errors: 8
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kean/Get.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/kean/Get
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 3124988 Fix Swift 6 warnings
Cloned https://github.com/kean/Get.git
Revision (git rev-parse @):
31249885da1052872e0ac91a2943f62567c0d96d
SUCCESS checkout https://github.com/kean/Get.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.1
Building package at path: $PWD
https://github.com/kean/Get.git
https://github.com/kean/Get.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "Get",
"name" : "Get",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "maccatalyst",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "tvos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Get",
"targets" : [
"Get"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "GetTests",
"module_type" : "SwiftTarget",
"name" : "GetTests",
"path" : "Tests/GetTests",
"resources" : [
{
"path" : "/host/spi-builder-workspace/Tests/GetTests/Resources/user.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"ClientAuthorizationTests.swift",
"ClientDelegateTests.swift",
"ClientIIntegrationTests.swift",
"ClientMakeRequestsTests.swift",
"ClientMiscTests.swift",
"ClientSendingRequestsTests.swift",
"ClientSessionDelegateTests.swift",
"CodeSamplesTests.swift",
"GitHubAPI.swift",
"Helpers.swift",
"Mocker/Mock.swift",
"Mocker/Mocker.swift",
"Mocker/MockingURLProtocol.swift",
"Mocker/XCTest+Mocker.swift",
"ResponseTests.swift"
],
"target_dependencies" : [
"Get"
],
"type" : "test"
},
{
"c99name" : "Get",
"module_type" : "SwiftTarget",
"name" : "Get",
"path" : "Sources/Get",
"product_memberships" : [
"Get"
],
"sources" : [
"APIClient.swift",
"APIClientDelegate.swift",
"DataLoader.swift",
"Request.swift",
"Response.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/8] Compiling Get Response.swift
[4/8] Compiling Get Request.swift
/host/spi-builder-workspace/Sources/Get/Request.swift:123:23: warning: static property 'get' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
121 | }
122 |
123 | public static let get: HTTPMethod = "GET"
| |- warning: static property 'get' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'get' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
124 | public static let post: HTTPMethod = "POST"
125 | public static let patch: HTTPMethod = "PATCH"
/host/spi-builder-workspace/Sources/Get/Request.swift:124:23: warning: static property 'post' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
122 |
123 | public static let get: HTTPMethod = "GET"
124 | public static let post: HTTPMethod = "POST"
| |- warning: static property 'post' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'post' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
125 | public static let patch: HTTPMethod = "PATCH"
126 | public static let put: HTTPMethod = "PUT"
/host/spi-builder-workspace/Sources/Get/Request.swift:125:23: warning: static property 'patch' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
123 | public static let get: HTTPMethod = "GET"
124 | public static let post: HTTPMethod = "POST"
125 | public static let patch: HTTPMethod = "PATCH"
| |- warning: static property 'patch' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'patch' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
126 | public static let put: HTTPMethod = "PUT"
127 | public static let delete: HTTPMethod = "DELETE"
/host/spi-builder-workspace/Sources/Get/Request.swift:126:23: warning: static property 'put' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
124 | public static let post: HTTPMethod = "POST"
125 | public static let patch: HTTPMethod = "PATCH"
126 | public static let put: HTTPMethod = "PUT"
| |- warning: static property 'put' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'put' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
127 | public static let delete: HTTPMethod = "DELETE"
128 | public static let options: HTTPMethod = "OPTIONS"
/host/spi-builder-workspace/Sources/Get/Request.swift:127:23: warning: static property 'delete' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
125 | public static let patch: HTTPMethod = "PATCH"
126 | public static let put: HTTPMethod = "PUT"
127 | public static let delete: HTTPMethod = "DELETE"
| |- warning: static property 'delete' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'delete' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 | public static let options: HTTPMethod = "OPTIONS"
129 | public static let head: HTTPMethod = "HEAD"
/host/spi-builder-workspace/Sources/Get/Request.swift:128:23: warning: static property 'options' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
126 | public static let put: HTTPMethod = "PUT"
127 | public static let delete: HTTPMethod = "DELETE"
128 | public static let options: HTTPMethod = "OPTIONS"
| |- warning: static property 'options' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'options' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
129 | public static let head: HTTPMethod = "HEAD"
130 | public static let trace: HTTPMethod = "TRACE"
/host/spi-builder-workspace/Sources/Get/Request.swift:129:23: warning: static property 'head' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
127 | public static let delete: HTTPMethod = "DELETE"
128 | public static let options: HTTPMethod = "OPTIONS"
129 | public static let head: HTTPMethod = "HEAD"
| |- warning: static property 'head' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'head' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
130 | public static let trace: HTTPMethod = "TRACE"
131 | }
/host/spi-builder-workspace/Sources/Get/Request.swift:130:23: warning: static property 'trace' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
128 | public static let options: HTTPMethod = "OPTIONS"
129 | public static let head: HTTPMethod = "HEAD"
130 | public static let trace: HTTPMethod = "TRACE"
| |- warning: static property 'trace' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'trace' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
131 | }
132 |
[5/8] Compiling Get DataLoader.swift
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:140:145: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
136 | }
137 |
138 | func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse, newRequest request: URLRequest, completionHandler: @escaping (URLRequest?) -> Void) {
| `- note: parameter 'completionHandler' is implicitly non-sendable
139 | #if os(Linux)
140 | handlers[task]?.delegate?.urlSession(session, task: task, willPerformHTTPRedirection: response, newRequest: request, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
141 | userTaskDelegate?.urlSession(session, task: task, willPerformHTTPRedirection: response, newRequest: request, completionHandler: completionHandler) ??
142 | completionHandler(request)
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:141:137: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
136 | }
137 |
138 | func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse, newRequest request: URLRequest, completionHandler: @escaping (URLRequest?) -> Void) {
| `- note: parameter 'completionHandler' is implicitly non-sendable
139 | #if os(Linux)
140 | handlers[task]?.delegate?.urlSession(session, task: task, willPerformHTTPRedirection: response, newRequest: request, completionHandler: completionHandler) ??
141 | userTaskDelegate?.urlSession(session, task: task, willPerformHTTPRedirection: response, newRequest: request, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
142 | completionHandler(request)
143 | #else
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:170:109: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
166 | #endif
167 |
168 | func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
| `- note: parameter 'completionHandler' is implicitly non-sendable
169 | #if os(Linux)
170 | handlers[task]?.delegate?.urlSession(session, task: task, didReceive: challenge, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
171 | userTaskDelegate?.urlSession(session, task: task, didReceive: challenge, completionHandler: completionHandler) ??
172 | completionHandler(.performDefaultHandling, nil)
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:171:101: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
166 | #endif
167 |
168 | func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
| `- note: parameter 'completionHandler' is implicitly non-sendable
169 | #if os(Linux)
170 | handlers[task]?.delegate?.urlSession(session, task: task, didReceive: challenge, completionHandler: completionHandler) ??
171 | userTaskDelegate?.urlSession(session, task: task, didReceive: challenge, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
172 | completionHandler(.performDefaultHandling, nil)
173 | #else
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:182:120: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
178 | }
179 |
180 | func urlSession(_ session: URLSession, task: URLSessionTask, willBeginDelayedRequest request: URLRequest, completionHandler: @escaping (URLSession.DelayedRequestDisposition, URLRequest?) -> Void) {
| `- note: parameter 'completionHandler' is implicitly non-sendable
181 | #if os(Linux)
182 | handlers[task]?.delegate?.urlSession(session, task: task, willBeginDelayedRequest: request, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
183 | userTaskDelegate?.urlSession(session, task: task, willBeginDelayedRequest: request, completionHandler: completionHandler) ??
184 | completionHandler(.continueLoading, nil)
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:183:112: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
178 | }
179 |
180 | func urlSession(_ session: URLSession, task: URLSessionTask, willBeginDelayedRequest request: URLRequest, completionHandler: @escaping (URLSession.DelayedRequestDisposition, URLRequest?) -> Void) {
| `- note: parameter 'completionHandler' is implicitly non-sendable
181 | #if os(Linux)
182 | handlers[task]?.delegate?.urlSession(session, task: task, willBeginDelayedRequest: request, completionHandler: completionHandler) ??
183 | userTaskDelegate?.urlSession(session, task: task, willBeginDelayedRequest: request, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
184 | completionHandler(.continueLoading, nil)
185 | #else
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:206:146: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
202 | // MARK: - URLSessionDataDelegate
203 |
204 | func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse, completionHandler: @escaping (URLSession.ResponseDisposition) -> Void) {
| `- note: parameter 'completionHandler' is implicitly non-sendable
205 | #if os(Linux)
206 | (handlers[dataTask] as? DataTaskHandler)?.dataDelegate?.urlSession(session, dataTask: dataTask, didReceive: response, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
207 | userDataDelegate?.urlSession(session, dataTask: dataTask, didReceive: response, completionHandler: completionHandler) ??
208 | completionHandler(.allow)
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:207:108: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
202 | // MARK: - URLSessionDataDelegate
203 |
204 | func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse, completionHandler: @escaping (URLSession.ResponseDisposition) -> Void) {
| `- note: parameter 'completionHandler' is implicitly non-sendable
205 | #if os(Linux)
206 | (handlers[dataTask] as? DataTaskHandler)?.dataDelegate?.urlSession(session, dataTask: dataTask, didReceive: response, completionHandler: completionHandler) ??
207 | userDataDelegate?.urlSession(session, dataTask: dataTask, didReceive: response, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
208 | completionHandler(.allow)
209 | #else
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:245:161: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
241 | #endif
242 |
243 | func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, willCacheResponse proposedResponse: CachedURLResponse, completionHandler: @escaping (CachedURLResponse?) -> Void) {
| `- note: parameter 'completionHandler' is implicitly non-sendable
244 | #if os(Linux)
245 | (handlers[dataTask] as? DataTaskHandler)?.dataDelegate?.urlSession(session, dataTask: dataTask, willCacheResponse: proposedResponse, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
246 | userDataDelegate?.urlSession(session, dataTask: dataTask, willCacheResponse: proposedResponse, completionHandler: completionHandler)
247 | completionHandler(proposedResponse)
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:246:123: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
241 | #endif
242 |
243 | func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, willCacheResponse proposedResponse: CachedURLResponse, completionHandler: @escaping (CachedURLResponse?) -> Void) {
| `- note: parameter 'completionHandler' is implicitly non-sendable
244 | #if os(Linux)
245 | (handlers[dataTask] as? DataTaskHandler)?.dataDelegate?.urlSession(session, dataTask: dataTask, willCacheResponse: proposedResponse, completionHandler: completionHandler) ??
246 | userDataDelegate?.urlSession(session, dataTask: dataTask, willCacheResponse: proposedResponse, completionHandler: completionHandler)
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
247 | completionHandler(proposedResponse)
248 | #else
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:368:26: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
355 | }
356 |
357 | func decode<T: Decodable>(_ data: Data, using decoder: JSONDecoder) async throws -> T {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
358 | if data.isEmpty, T.self is OptionalDecoding.Type {
359 | return Optional<Decodable>.none as! T
:
366 | return string as! T
367 | } else {
368 | return try await Task.detached {
| `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
369 | try decoder.decode(T.self, from: data)
370 | }.value
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:368:31: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
355 | }
356 |
357 | func decode<T: Decodable>(_ data: Data, using decoder: JSONDecoder) async throws -> T {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
358 | if data.isEmpty, T.self is OptionalDecoding.Type {
359 | return Optional<Decodable>.none as! T
:
366 | return string as! T
367 | } else {
368 | return try await Task.detached {
| `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
369 | try decoder.decode(T.self, from: data)
370 | }.value
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:370:11: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
355 | }
356 |
357 | func decode<T: Decodable>(_ data: Data, using decoder: JSONDecoder) async throws -> T {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
358 | if data.isEmpty, T.self is OptionalDecoding.Type {
359 | return Optional<Decodable>.none as! T
:
368 | return try await Task.detached {
369 | try decoder.decode(T.self, from: data)
370 | }.value
| `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
371 | }
372 | }
/host/spi-builder-workspace/Sources/Get/DataLoader.swift:351:40: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
349 | return string.data(using: .utf8)
350 | } else {
351 | return try await Task.detached {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
352 | try encoder.encode(value)
| `- note: closure captures 'value' which is accessible to code in the current task
353 | }.value
354 | }
[6/8] Compiling Get APIClientDelegate.swift
[7/8] Emitting module Get
/host/spi-builder-workspace/Sources/Get/Request.swift:123:23: warning: static property 'get' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
121 | }
122 |
123 | public static let get: HTTPMethod = "GET"
| |- warning: static property 'get' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'get' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
124 | public static let post: HTTPMethod = "POST"
125 | public static let patch: HTTPMethod = "PATCH"
/host/spi-builder-workspace/Sources/Get/Request.swift:124:23: warning: static property 'post' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
122 |
123 | public static let get: HTTPMethod = "GET"
124 | public static let post: HTTPMethod = "POST"
| |- warning: static property 'post' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'post' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
125 | public static let patch: HTTPMethod = "PATCH"
126 | public static let put: HTTPMethod = "PUT"
/host/spi-builder-workspace/Sources/Get/Request.swift:125:23: warning: static property 'patch' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
123 | public static let get: HTTPMethod = "GET"
124 | public static let post: HTTPMethod = "POST"
125 | public static let patch: HTTPMethod = "PATCH"
| |- warning: static property 'patch' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'patch' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
126 | public static let put: HTTPMethod = "PUT"
127 | public static let delete: HTTPMethod = "DELETE"
/host/spi-builder-workspace/Sources/Get/Request.swift:126:23: warning: static property 'put' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
124 | public static let post: HTTPMethod = "POST"
125 | public static let patch: HTTPMethod = "PATCH"
126 | public static let put: HTTPMethod = "PUT"
| |- warning: static property 'put' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'put' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
127 | public static let delete: HTTPMethod = "DELETE"
128 | public static let options: HTTPMethod = "OPTIONS"
/host/spi-builder-workspace/Sources/Get/Request.swift:127:23: warning: static property 'delete' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
125 | public static let patch: HTTPMethod = "PATCH"
126 | public static let put: HTTPMethod = "PUT"
127 | public static let delete: HTTPMethod = "DELETE"
| |- warning: static property 'delete' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'delete' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 | public static let options: HTTPMethod = "OPTIONS"
129 | public static let head: HTTPMethod = "HEAD"
/host/spi-builder-workspace/Sources/Get/Request.swift:128:23: warning: static property 'options' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
126 | public static let put: HTTPMethod = "PUT"
127 | public static let delete: HTTPMethod = "DELETE"
128 | public static let options: HTTPMethod = "OPTIONS"
| |- warning: static property 'options' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'options' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
129 | public static let head: HTTPMethod = "HEAD"
130 | public static let trace: HTTPMethod = "TRACE"
/host/spi-builder-workspace/Sources/Get/Request.swift:129:23: warning: static property 'head' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
127 | public static let delete: HTTPMethod = "DELETE"
128 | public static let options: HTTPMethod = "OPTIONS"
129 | public static let head: HTTPMethod = "HEAD"
| |- warning: static property 'head' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'head' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
130 | public static let trace: HTTPMethod = "TRACE"
131 | }
/host/spi-builder-workspace/Sources/Get/Request.swift:130:23: warning: static property 'trace' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
110 | }
111 |
112 | public struct HTTPMethod: RawRepresentable, Hashable, ExpressibleByStringLiteral {
| `- note: consider making struct 'HTTPMethod' conform to the 'Sendable' protocol
113 | public let rawValue: String
114 |
:
128 | public static let options: HTTPMethod = "OPTIONS"
129 | public static let head: HTTPMethod = "HEAD"
130 | public static let trace: HTTPMethod = "TRACE"
| |- warning: static property 'trace' is not concurrency-safe because non-'Sendable' type 'HTTPMethod' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'trace' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
131 | }
132 |
[8/8] Compiling Get APIClient.swift
/host/spi-builder-workspace/Sources/Get/APIClient.swift:108:34: warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to global function 'decode(_:using:)'; this is an error in the Swift 6 language mode
99 | /// - returns: A response with a decoded body. If the response type is
100 | /// optional and the response body is empty, returns `nil`.
101 | @discardableResult public func send<T: Decodable>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
102 | _ request: Request<T>,
103 | delegate: URLSessionDataDelegate? = nil,
:
106 | let response = try await data(for: request, delegate: delegate, configure: configure)
107 | let decoder = self.delegate.client(self, decoderForRequest: request) ?? self.decoder
108 | let value: T = try await decode(response.data, using: decoder)
| `- warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to global function 'decode(_:using:)'; this is an error in the Swift 6 language mode
109 | return response.map { _ in value }
110 | }
/host/spi-builder-workspace/Sources/Get/APIClient.swift:226:34: warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to global function 'decode(_:using:)'; this is an error in the Swift 6 language mode
216 | /// - returns: A response with a decoded body. If the response type is
217 | /// optional and the response body is empty, returns `nil`.
218 | @discardableResult public func upload<T: Decodable>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
219 | for request: Request<T>,
220 | fromFile fileURL: URL,
:
224 | let response = try await _upload(for: request, fromFile: fileURL, delegate: delegate, configure: configure)
225 | let decoder = self.delegate.client(self, decoderForRequest: request) ?? self.decoder
226 | let value: T = try await decode(response.data, using: decoder)
| `- warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to global function 'decode(_:using:)'; this is an error in the Swift 6 language mode
227 | return response.map { _ in value }
228 | }
/host/spi-builder-workspace/Sources/Get/APIClient.swift:289:34: warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to global function 'decode(_:using:)'; this is an error in the Swift 6 language mode
279 | /// - returns: A response with a decoded body. If the response type is
280 | /// optional and the response body is empty, returns `nil`.
281 | @discardableResult public func upload<T: Decodable>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
282 | for request: Request<T>,
283 | from data: Data,
:
287 | let response = try await _upload(for: request, from: data, delegate: delegate, configure: configure)
288 | let decoder = self.delegate.client(self, decoderForRequest: request) ?? self.decoder
289 | let value: T = try await decode(response.data, using: decoder)
| `- warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to global function 'decode(_:using:)'; this is an error in the Swift 6 language mode
290 | return response.map { _ in value }
291 | }
/host/spi-builder-workspace/Sources/Get/APIClient.swift:391:30: warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'send'; this is an error in the Swift 6 language mode
387 | // MARK: Helpers
388 |
389 | private func performRequest<T>(attempts: Int = 1, send: () async throws -> T) async throws -> T {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
390 | do {
391 | return try await send()
| `- warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'send'; this is an error in the Swift 6 language mode
392 | } catch {
393 | guard let error = error as? DataLoaderError else {
/host/spi-builder-workspace/Sources/Get/APIClient.swift:396:38: warning: sending 'self.delegate' risks causing data races; this is an error in the Swift 6 language mode
394 | throw error
395 | }
396 | guard try await delegate.client(self, shouldRetry: error.task, error: error.error, attempts: attempts) else {
| |- warning: sending 'self.delegate' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.delegate' to nonisolated instance method 'client(_:shouldRetry:error:attempts:)' risks causing data races between nonisolated and 'self'-isolated uses
397 | throw error.error
398 | }
/host/spi-builder-workspace/Sources/Get/APIClient.swift:146:37: warning: sending 'self.delegate' risks causing data races; this is an error in the Swift 6 language mode
144 | return try await performRequest {
145 | var request = request
146 | try await self.delegate.client(self, willSendRequest: &request)
| |- warning: sending 'self.delegate' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.delegate' to nonisolated instance method 'client(_:willSendRequest:)' risks causing data races between nonisolated and 'self'-isolated uses
147 | let task = session.dataTask(with: request)
148 | do {
/host/spi-builder-workspace/Sources/Get/APIClient.swift:257:37: warning: sending 'self.delegate' risks causing data races; this is an error in the Swift 6 language mode
255 | return try await performRequest {
256 | var request = request
257 | try await self.delegate.client(self, willSendRequest: &request)
| |- warning: sending 'self.delegate' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.delegate' to nonisolated instance method 'client(_:willSendRequest:)' risks causing data races between nonisolated and 'self'-isolated uses
258 | let task = session.uploadTask(with: request, fromFile: fileURL)
259 | do {
/host/spi-builder-workspace/Sources/Get/APIClient.swift:320:37: warning: sending 'self.delegate' risks causing data races; this is an error in the Swift 6 language mode
318 | return try await performRequest {
319 | var request = request
320 | try await self.delegate.client(self, willSendRequest: &request)
| |- warning: sending 'self.delegate' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.delegate' to nonisolated instance method 'client(_:willSendRequest:)' risks causing data races between nonisolated and 'self'-isolated uses
321 | let task = session.uploadTask(with: request, from: data)
322 | do {
Build complete! (5.48s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Get",
"name" : "Get",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "maccatalyst",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "tvos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Get",
"targets" : [
"Get"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "GetTests",
"module_type" : "SwiftTarget",
"name" : "GetTests",
"path" : "Tests/GetTests",
"resources" : [
{
"path" : "/host/spi-builder-workspace/Tests/GetTests/Resources/user.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"ClientAuthorizationTests.swift",
"ClientDelegateTests.swift",
"ClientIIntegrationTests.swift",
"ClientMakeRequestsTests.swift",
"ClientMiscTests.swift",
"ClientSendingRequestsTests.swift",
"ClientSessionDelegateTests.swift",
"CodeSamplesTests.swift",
"GitHubAPI.swift",
"Helpers.swift",
"Mocker/Mock.swift",
"Mocker/Mocker.swift",
"Mocker/MockingURLProtocol.swift",
"Mocker/XCTest+Mocker.swift",
"ResponseTests.swift"
],
"target_dependencies" : [
"Get"
],
"type" : "test"
},
{
"c99name" : "Get",
"module_type" : "SwiftTarget",
"name" : "Get",
"path" : "Sources/Get",
"product_memberships" : [
"Get"
],
"sources" : [
"APIClient.swift",
"APIClientDelegate.swift",
"DataLoader.swift",
"Request.swift",
"Response.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.