Build Information
Successful build of Get, reference 2.2.1 (312498
), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 16:22:18 UTC.
Swift 6 data race errors: 8
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kean/Get.git
Reference: 2.2.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/kean/Get
* tag 2.2.1 -> FETCH_HEAD
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 2.2.1
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/kean/Get.git
https://github.com/kean/Get.git
{
"dependencies" : [
],
"manifest_display_name" : "Get",
"name" : "Get",
"path" : "/Users/admin/builder/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" : "/Users/admin/builder/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 ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/8] Compiling Get DataLoader.swift
/Users/admin/builder/spi-builder-workspace/Sources/Get/DataLoader.swift:144:146: 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) ??
:
142 | completionHandler(request)
143 | #else
144 | 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
145 | userTaskDelegate?.urlSession?(session, task: task, willPerformHTTPRedirection: response, newRequest: request, completionHandler: completionHandler) ??
146 | completionHandler(request)
/Users/admin/builder/spi-builder-workspace/Sources/Get/DataLoader.swift:145:138: 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) ??
:
143 | #else
144 | handlers[task]?.delegate?.urlSession?(session, task: task, willPerformHTTPRedirection: response, newRequest: request, completionHandler: completionHandler) ??
145 | userTaskDelegate?.urlSession?(session, task: task, willPerformHTTPRedirection: response, newRequest: request, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
146 | completionHandler(request)
147 | #endif
/Users/admin/builder/spi-builder-workspace/Sources/Get/DataLoader.swift:174:110: 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) ??
:
172 | completionHandler(.performDefaultHandling, nil)
173 | #else
174 | handlers[task]?.delegate?.urlSession?(session, task: task, didReceive: challenge, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
175 | userTaskDelegate?.urlSession?(session, task: task, didReceive: challenge, completionHandler: completionHandler) ??
176 | completionHandler(.performDefaultHandling, nil)
/Users/admin/builder/spi-builder-workspace/Sources/Get/DataLoader.swift:175:102: 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) ??
:
173 | #else
174 | handlers[task]?.delegate?.urlSession?(session, task: task, didReceive: challenge, completionHandler: completionHandler) ??
175 | userTaskDelegate?.urlSession?(session, task: task, didReceive: challenge, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
176 | completionHandler(.performDefaultHandling, nil)
177 | #endif
/Users/admin/builder/spi-builder-workspace/Sources/Get/DataLoader.swift:186:121: 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) ??
:
184 | completionHandler(.continueLoading, nil)
185 | #else
186 | handlers[task]?.delegate?.urlSession?(session, task: task, willBeginDelayedRequest: request, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
187 | userTaskDelegate?.urlSession?(session, task: task, willBeginDelayedRequest: request, completionHandler: completionHandler) ??
188 | completionHandler(.continueLoading, nil)
/Users/admin/builder/spi-builder-workspace/Sources/Get/DataLoader.swift:187:113: 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) ??
:
185 | #else
186 | handlers[task]?.delegate?.urlSession?(session, task: task, willBeginDelayedRequest: request, completionHandler: completionHandler) ??
187 | userTaskDelegate?.urlSession?(session, task: task, willBeginDelayedRequest: request, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
188 | completionHandler(.continueLoading, nil)
189 | #endif
/Users/admin/builder/spi-builder-workspace/Sources/Get/DataLoader.swift:210:147: 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) ??
:
208 | completionHandler(.allow)
209 | #else
210 | (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
211 | userDataDelegate?.urlSession?(session, dataTask: dataTask, didReceive: response, completionHandler: completionHandler) ??
212 | completionHandler(.allow)
/Users/admin/builder/spi-builder-workspace/Sources/Get/DataLoader.swift:211:109: 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) ??
:
209 | #else
210 | (handlers[dataTask] as? DataTaskHandler)?.dataDelegate?.urlSession?(session, dataTask: dataTask, didReceive: response, completionHandler: completionHandler) ??
211 | userDataDelegate?.urlSession?(session, dataTask: dataTask, didReceive: response, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
212 | completionHandler(.allow)
213 | #endif
/Users/admin/builder/spi-builder-workspace/Sources/Get/DataLoader.swift:249:162: 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) ??
:
247 | completionHandler(proposedResponse)
248 | #else
249 | (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
250 | userDataDelegate?.urlSession?(session, dataTask: dataTask, willCacheResponse: proposedResponse, completionHandler: completionHandler) ??
251 | completionHandler(proposedResponse)
/Users/admin/builder/spi-builder-workspace/Sources/Get/DataLoader.swift:250:124: 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) ??
:
248 | #else
249 | (handlers[dataTask] as? DataTaskHandler)?.dataDelegate?.urlSession?(session, dataTask: dataTask, willCacheResponse: proposedResponse, completionHandler: completionHandler) ??
250 | userDataDelegate?.urlSession?(session, dataTask: dataTask, willCacheResponse: proposedResponse, completionHandler: completionHandler) ??
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
251 | completionHandler(proposedResponse)
252 | #endif
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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 | }
/Users/admin/builder/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 | }
[4/8] Compiling Get Request.swift
/Users/admin/builder/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"
/Users/admin/builder/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"
/Users/admin/builder/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"
/Users/admin/builder/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"
/Users/admin/builder/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"
/Users/admin/builder/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"
/Users/admin/builder/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 | }
/Users/admin/builder/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 APIClientDelegate.swift
[6/8] Compiling Get Response.swift
[7/8] Emitting module Get
/Users/admin/builder/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"
/Users/admin/builder/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"
/Users/admin/builder/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"
/Users/admin/builder/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"
/Users/admin/builder/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"
/Users/admin/builder/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"
/Users/admin/builder/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 | }
/Users/admin/builder/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
/Users/admin/builder/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 | }
/Users/admin/builder/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 | }
/Users/admin/builder/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 | }
/Users/admin/builder/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 {
/Users/admin/builder/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 | }
/Users/admin/builder/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 {
/Users/admin/builder/spi-builder-workspace/Sources/Get/APIClient.swift:178:33: warning: sending 'self.delegate' risks causing data races; this is an error in the Swift 6 language mode
176 | ) async throws -> Response<URL> {
177 | var urlRequest = try await makeURLRequest(for: request, configure)
178 | try await self.delegate.client(self, willSendRequest: &urlRequest)
| |- 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
179 | let task = session.downloadTask(with: urlRequest)
180 | return try await _startDownloadTask(task, delegate: delegate)
/Users/admin/builder/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 {
/Users/admin/builder/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! (4.17s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Get",
"name" : "Get",
"path" : "/Users/admin/builder/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" : "/Users/admin/builder/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"
}
Done.