Build Information
Successful build of Fetch, reference 3.2.0 (3d3ada
), with Swift 6.0 for macOS (SPM) on 4 Nov 2024 12:58:38 UTC.
Swift 6 data race errors: 2
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/allaboutapps/Fetch.git
Reference: 3.2.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/allaboutapps/Fetch
* tag 3.2.0 -> FETCH_HEAD
HEAD is now at 3d3adac Merge pull request #38 from allaboutapps/add-time-out-for-resources
Cloned https://github.com/allaboutapps/Fetch.git
Revision (git rev-parse @):
3d3adacc353637828cc7791338309850ce029f33
SUCCESS checkout https://github.com/allaboutapps/Fetch.git at 3.2.0
Fetching https://github.com/Alamofire/Alamofire.git
[1/29795] Fetching alamofire
Fetched https://github.com/Alamofire/Alamofire.git from cache (4.37s)
Computing version for https://github.com/Alamofire/Alamofire.git
Computed https://github.com/Alamofire/Alamofire.git at 5.7.1 (0.50s)
Creating working copy for https://github.com/Alamofire/Alamofire.git
Working copy of https://github.com/Alamofire/Alamofire.git resolved at 5.7.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "fetch",
"name": "Fetch",
"url": "https://github.com/allaboutapps/Fetch.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Fetch",
"dependencies": [
{
"identity": "alamofire",
"name": "Alamofire",
"url": "https://github.com/Alamofire/Alamofire.git",
"version": "5.10.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Alamofire",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/allaboutapps/Fetch.git
[1/1206] Fetching fetch
Fetched https://github.com/allaboutapps/Fetch.git from cache (0.99s)
Fetching https://github.com/Alamofire/Alamofire.git from cache
Fetched https://github.com/Alamofire/Alamofire.git from cache (0.67s)
Computing version for https://github.com/Alamofire/Alamofire.git
warning: 'alamofire': /Package.swift:28:15: warning: 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageVersions:cLanguageStandard:cxxLanguageStandard:)' is deprecated: replaced by 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)'
26 | import PackageDescription
27 |
28 | let package = Package(name: "Alamofire",
| |- warning: 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageVersions:cLanguageStandard:cxxLanguageStandard:)' is deprecated: replaced by 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)'
| `- note: use 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)' instead
29 | platforms: [.macOS(.v10_13),
30 | .iOS(.v12),
Computed https://github.com/Alamofire/Alamofire.git at 5.10.1 (0.50s)
Creating working copy for https://github.com/Alamofire/Alamofire.git
Working copy of https://github.com/Alamofire/Alamofire.git resolved at 5.10.1
Creating working copy for https://github.com/allaboutapps/Fetch.git
Working copy of https://github.com/allaboutapps/Fetch.git resolved at 3.2.0 (3d3adac)
warning: 'alamofire': /Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Alamofire/Package.swift:28:15: warning: 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageVersions:cLanguageStandard:cxxLanguageStandard:)' is deprecated: replaced by 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)'
26 | import PackageDescription
27 |
28 | let package = Package(name: "Alamofire",
| |- warning: 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageVersions:cLanguageStandard:cxxLanguageStandard:)' is deprecated: replaced by 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)'
| `- note: use 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)' instead
29 | platforms: [.macOS(.v10_13),
30 | .iOS(.v12),
warning: '.resolve-product-dependencies': dependency 'fetch' is not used by any target
Found 1 product dependencies
- Alamofire
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/allaboutapps/Fetch.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/38] Emitting module Alamofire
[5/41] Compiling Alamofire AFError.swift
[6/41] Compiling Alamofire Alamofire.swift
[7/41] Compiling Alamofire AlamofireExtended.swift
[8/41] Compiling Alamofire AuthenticationInterceptor.swift
[9/41] Compiling Alamofire CachedResponseHandler.swift
[10/41] Compiling Alamofire Combine.swift
[11/41] Compiling Alamofire Concurrency.swift
[12/41] Compiling Alamofire DispatchQueue+Alamofire.swift
[13/41] Compiling Alamofire StringEncoding+Alamofire.swift
[14/41] Compiling Alamofire URLConvertible+URLRequestConvertible.swift
[15/41] Compiling Alamofire URLEncodedFormEncoder.swift
[16/41] Compiling Alamofire ServerTrustEvaluation.swift
[17/41] Compiling Alamofire Session.swift
[18/41] Compiling Alamofire SessionDelegate.swift
[19/41] Compiling Alamofire ParameterEncoder.swift
[20/41] Compiling Alamofire ParameterEncoding.swift
[21/41] Compiling Alamofire Protected.swift
[22/41] Compiling Alamofire RedirectHandler.swift
[23/41] Compiling Alamofire Response.swift
[24/41] Compiling Alamofire ResponseSerialization.swift
[25/41] Compiling Alamofire Result+Alamofire.swift
[26/41] Compiling Alamofire RetryPolicy.swift
[27/41] Compiling Alamofire EventMonitor.swift
[28/41] Compiling Alamofire HTTPHeaders.swift
[29/41] Compiling Alamofire HTTPMethod.swift
[30/41] Compiling Alamofire MultipartFormData.swift
[31/41] Compiling Alamofire MultipartUpload.swift
[32/41] Compiling Alamofire NetworkReachabilityManager.swift
[33/41] Compiling Alamofire Notifications.swift
[34/41] Compiling Alamofire OperationQueue+Alamofire.swift
[35/41] Compiling Alamofire URLRequest+Alamofire.swift
[36/41] Compiling Alamofire URLSessionConfiguration+Alamofire.swift
[37/41] Compiling Alamofire Validation.swift
[38/41] Compiling Alamofire Request.swift
[39/41] Compiling Alamofire RequestCompression.swift
[40/41] Compiling Alamofire RequestInterceptor.swift
[41/41] Compiling Alamofire RequestTaskMap.swift
[42/68] Compiling Fetch StubProvider.swift
[43/68] Compiling Fetch AnyEncodable.swift
[44/68] Compiling Fetch Crypto.swift
[45/68] Compiling Fetch JSONEncoder+ResourceEncoder.swift
[46/68] Compiling Fetch RequestToken.swift
[47/68] Compiling Fetch Expiration.swift
[48/68] Compiling Fetch HybridCache.swift
[49/68] Compiling Fetch MemoryCache.swift
[50/70] Compiling Fetch RandomStub.swift
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/StubbedURL.swift:13:16: warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | class StubbedURL: URLProtocol {
12 |
13 | static var stubProvider: StubProvider?
| |- warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'stubProvider' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'stubProvider' 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
14 |
15 | private let queue = DispatchQueue(label: "at.allaboutapps.fetch.stubQueue")
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/StubbedURL.swift:31:17: warning: capture of 'self' with non-sendable type 'StubbedURL?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | class StubbedURL: URLProtocol {
| `- note: class 'StubbedURL' does not conform to the 'Sendable' protocol
12 |
13 | static var stubProvider: StubProvider?
:
29 | } else {
30 | queue.asyncAfter(deadline: .now() + stub.delay) { [weak self] in
31 | self?.handleStub(stub)
| `- warning: capture of 'self' with non-sendable type 'StubbedURL?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | }
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/StubbedURL.swift:31:34: warning: capture of 'stub' with non-sendable type 'any Stub' in a `@Sendable` closure; this is an error in the Swift 6 language mode
29 | } else {
30 | queue.asyncAfter(deadline: .now() + stub.delay) { [weak self] in
31 | self?.handleStub(stub)
| `- warning: capture of 'stub' with non-sendable type 'any Stub' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | }
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/Stub.swift:13:17: note: protocol 'Stub' does not conform to the 'Sendable' protocol
11 |
12 | /// A `Stub` represents a network response, which can be used to imitate an API endpoint
13 | public protocol Stub {
| `- note: protocol 'Stub' does not conform to the 'Sendable' protocol
14 |
15 | /// HTTP status code
[51/70] Compiling Fetch Stub.swift
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/StubbedURL.swift:13:16: warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | class StubbedURL: URLProtocol {
12 |
13 | static var stubProvider: StubProvider?
| |- warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'stubProvider' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'stubProvider' 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
14 |
15 | private let queue = DispatchQueue(label: "at.allaboutapps.fetch.stubQueue")
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/StubbedURL.swift:31:17: warning: capture of 'self' with non-sendable type 'StubbedURL?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | class StubbedURL: URLProtocol {
| `- note: class 'StubbedURL' does not conform to the 'Sendable' protocol
12 |
13 | static var stubProvider: StubProvider?
:
29 | } else {
30 | queue.asyncAfter(deadline: .now() + stub.delay) { [weak self] in
31 | self?.handleStub(stub)
| `- warning: capture of 'self' with non-sendable type 'StubbedURL?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | }
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/StubbedURL.swift:31:34: warning: capture of 'stub' with non-sendable type 'any Stub' in a `@Sendable` closure; this is an error in the Swift 6 language mode
29 | } else {
30 | queue.asyncAfter(deadline: .now() + stub.delay) { [weak self] in
31 | self?.handleStub(stub)
| `- warning: capture of 'stub' with non-sendable type 'any Stub' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | }
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/Stub.swift:13:17: note: protocol 'Stub' does not conform to the 'Sendable' protocol
11 |
12 | /// A `Stub` represents a network response, which can be used to imitate an API endpoint
13 | public protocol Stub {
| `- note: protocol 'Stub' does not conform to the 'Sendable' protocol
14 |
15 | /// HTTP status code
[52/70] Compiling Fetch StubbedURL.swift
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/StubbedURL.swift:13:16: warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | class StubbedURL: URLProtocol {
12 |
13 | static var stubProvider: StubProvider?
| |- warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'stubProvider' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'stubProvider' 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
14 |
15 | private let queue = DispatchQueue(label: "at.allaboutapps.fetch.stubQueue")
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/StubbedURL.swift:31:17: warning: capture of 'self' with non-sendable type 'StubbedURL?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | class StubbedURL: URLProtocol {
| `- note: class 'StubbedURL' does not conform to the 'Sendable' protocol
12 |
13 | static var stubProvider: StubProvider?
:
29 | } else {
30 | queue.asyncAfter(deadline: .now() + stub.delay) { [weak self] in
31 | self?.handleStub(stub)
| `- warning: capture of 'self' with non-sendable type 'StubbedURL?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | }
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/StubbedURL.swift:31:34: warning: capture of 'stub' with non-sendable type 'any Stub' in a `@Sendable` closure; this is an error in the Swift 6 language mode
29 | } else {
30 | queue.asyncAfter(deadline: .now() + stub.delay) { [weak self] in
31 | self?.handleStub(stub)
| `- warning: capture of 'stub' with non-sendable type 'any Stub' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | }
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/Stub.swift:13:17: note: protocol 'Stub' does not conform to the 'Sendable' protocol
11 |
12 | /// A `Stub` represents a network response, which can be used to imitate an API endpoint
13 | public protocol Stub {
| `- note: protocol 'Stub' does not conform to the 'Sendable' protocol
14 |
15 | /// HTTP status code
[53/70] Emitting module Fetch
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:115:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
99 |
100 | /// The `APIClient` is the interface to the network and it is used by a `Resource` to send http requests.
101 | open class APIClient {
| `- note: class 'APIClient' does not conform to the 'Sendable' protocol
102 |
103 | typealias CompletionCallback<T> = ((Swift.Result<NetworkResponse<T>, FetchError>) -> Void)
:
113 |
114 | /// The default `APIClient`
115 | public static let shared = APIClient()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
116 |
117 | private var _config: Config?
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/StubbedURL.swift:13:16: warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | class StubbedURL: URLProtocol {
12 |
13 | static var stubProvider: StubProvider?
| |- warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'stubProvider' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'stubProvider' 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
14 |
15 | private let queue = DispatchQueue(label: "at.allaboutapps.fetch.stubQueue")
[54/70] Compiling Fetch Decoder+Keys.swift
[55/70] Compiling Fetch HTTPContentType.swift
[56/70] Compiling Fetch IgnoreBody.swift
[57/70] Compiling Fetch Cache.swift
[58/70] Compiling Fetch Cacheable.swift
[59/70] Compiling Fetch DiskCache.swift
[60/70] Compiling Fetch ResourceDecoderProtocol.swift
[61/70] Compiling Fetch ResourceEncoderProtocol.swift
[62/70] Compiling Fetch Resource.swift
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:115:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
99 |
100 | /// The `APIClient` is the interface to the network and it is used by a `Resource` to send http requests.
101 | open class APIClient {
| `- note: class 'APIClient' does not conform to the 'Sendable' protocol
102 |
103 | typealias CompletionCallback<T> = ((Swift.Result<NetworkResponse<T>, FetchError>) -> Void)
:
113 |
114 | /// The default `APIClient`
115 | public static let shared = APIClient()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
116 |
117 | private var _config: Config?
[63/70] Compiling Fetch AlternatingStub.swift
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:115:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
99 |
100 | /// The `APIClient` is the interface to the network and it is used by a `Resource` to send http requests.
101 | open class APIClient {
| `- note: class 'APIClient' does not conform to the 'Sendable' protocol
102 |
103 | typealias CompletionCallback<T> = ((Swift.Result<NetworkResponse<T>, FetchError>) -> Void)
:
113 |
114 | /// The default `APIClient`
115 | public static let shared = APIClient()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
116 |
117 | private var _config: Config?
[64/70] Compiling Fetch ClosureStub.swift
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:115:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
99 |
100 | /// The `APIClient` is the interface to the network and it is used by a `Resource` to send http requests.
101 | open class APIClient {
| `- note: class 'APIClient' does not conform to the 'Sendable' protocol
102 |
103 | typealias CompletionCallback<T> = ((Swift.Result<NetworkResponse<T>, FetchError>) -> Void)
:
113 |
114 | /// The default `APIClient`
115 | public static let shared = APIClient()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
116 |
117 | private var _config: Config?
[65/70] Compiling Fetch APILogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:166:21: warning: capture of 'completion' with non-sendable type '(Result<FetchResponse<T>, FetchError>, Bool) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 |
165 | queue.async {
166 | completion(fetchResult, true)
| |- warning: capture of 'completion' with non-sendable type '(Result<FetchResponse<T>, FetchError>, Bool) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
167 | }
168 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:166:32: warning: capture of 'fetchResult' with non-sendable type 'Result<FetchResponse<T>, FetchError>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
12 | // MARK: - Fetch
13 |
14 | public enum FetchResponse<T> {
| `- note: consider making generic enum 'FetchResponse' conform to the 'Sendable' protocol
15 | case cache(T, isExpired: Bool)
16 | case network(response: NetworkResponse<T>, updated: Bool)
:
164 |
165 | queue.async {
166 | completion(fetchResult, true)
| `- warning: capture of 'fetchResult' with non-sendable type 'Result<FetchResponse<T>, FetchError>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
167 | }
168 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:177:21: warning: capture of 'token' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 | DispatchQueue.decodingQueue.async {
176 | queue.async {
177 | if !token.isCancelled {
| `- warning: capture of 'token' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
179 | completion(entry)
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:178:56: warning: capture of 'self' with non-sendable type 'Resource<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
176 | queue.async {
177 | if !token.isCancelled {
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
| `- warning: capture of 'self' with non-sendable type 'Resource<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
179 | completion(entry)
180 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource.swift:15:12: note: generic class 'Resource' does not conform to the 'Sendable' protocol
13 | /// Additionally, caching behaviour can be specified
14 |
15 | open class Resource<T: Decodable>: CacheableResource {
| `- note: generic class 'Resource' does not conform to the 'Sendable' protocol
16 |
17 | public enum Body {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:179:25: warning: capture of 'completion' with non-sendable type '(CacheEntry<T>?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
177 | if !token.isCancelled {
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
179 | completion(entry)
| |- warning: capture of 'completion' with non-sendable type '(CacheEntry<T>?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 | } else {
181 | completion(nil)
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:177:21: warning: capture of 'token' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 | DispatchQueue.decodingQueue.async {
176 | queue.async {
177 | if !token.isCancelled {
| `- warning: capture of 'token' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
179 | completion(entry)
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:178:56: warning: capture of 'self' with non-sendable type 'Resource<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
176 | queue.async {
177 | if !token.isCancelled {
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
| `- warning: capture of 'self' with non-sendable type 'Resource<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
179 | completion(entry)
180 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource.swift:15:12: note: generic class 'Resource' does not conform to the 'Sendable' protocol
13 | /// Additionally, caching behaviour can be specified
14 |
15 | open class Resource<T: Decodable>: CacheableResource {
| `- note: generic class 'Resource' does not conform to the 'Sendable' protocol
16 |
17 | public enum Body {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:179:25: warning: capture of 'completion' with non-sendable type '(CacheEntry<T>?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
177 | if !token.isCancelled {
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
179 | completion(entry)
| |- warning: capture of 'completion' with non-sendable type '(CacheEntry<T>?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 | } else {
181 | completion(nil)
[66/70] Compiling Fetch FetchError.swift
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:166:21: warning: capture of 'completion' with non-sendable type '(Result<FetchResponse<T>, FetchError>, Bool) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 |
165 | queue.async {
166 | completion(fetchResult, true)
| |- warning: capture of 'completion' with non-sendable type '(Result<FetchResponse<T>, FetchError>, Bool) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
167 | }
168 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:166:32: warning: capture of 'fetchResult' with non-sendable type 'Result<FetchResponse<T>, FetchError>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
12 | // MARK: - Fetch
13 |
14 | public enum FetchResponse<T> {
| `- note: consider making generic enum 'FetchResponse' conform to the 'Sendable' protocol
15 | case cache(T, isExpired: Bool)
16 | case network(response: NetworkResponse<T>, updated: Bool)
:
164 |
165 | queue.async {
166 | completion(fetchResult, true)
| `- warning: capture of 'fetchResult' with non-sendable type 'Result<FetchResponse<T>, FetchError>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
167 | }
168 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:177:21: warning: capture of 'token' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 | DispatchQueue.decodingQueue.async {
176 | queue.async {
177 | if !token.isCancelled {
| `- warning: capture of 'token' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
179 | completion(entry)
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:178:56: warning: capture of 'self' with non-sendable type 'Resource<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
176 | queue.async {
177 | if !token.isCancelled {
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
| `- warning: capture of 'self' with non-sendable type 'Resource<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
179 | completion(entry)
180 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource.swift:15:12: note: generic class 'Resource' does not conform to the 'Sendable' protocol
13 | /// Additionally, caching behaviour can be specified
14 |
15 | open class Resource<T: Decodable>: CacheableResource {
| `- note: generic class 'Resource' does not conform to the 'Sendable' protocol
16 |
17 | public enum Body {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:179:25: warning: capture of 'completion' with non-sendable type '(CacheEntry<T>?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
177 | if !token.isCancelled {
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
179 | completion(entry)
| |- warning: capture of 'completion' with non-sendable type '(CacheEntry<T>?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 | } else {
181 | completion(nil)
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:177:21: warning: capture of 'token' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 | DispatchQueue.decodingQueue.async {
176 | queue.async {
177 | if !token.isCancelled {
| `- warning: capture of 'token' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
179 | completion(entry)
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:178:56: warning: capture of 'self' with non-sendable type 'Resource<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
176 | queue.async {
177 | if !token.isCancelled {
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
| `- warning: capture of 'self' with non-sendable type 'Resource<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
179 | completion(entry)
180 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource.swift:15:12: note: generic class 'Resource' does not conform to the 'Sendable' protocol
13 | /// Additionally, caching behaviour can be specified
14 |
15 | open class Resource<T: Decodable>: CacheableResource {
| `- note: generic class 'Resource' does not conform to the 'Sendable' protocol
16 |
17 | public enum Body {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:179:25: warning: capture of 'completion' with non-sendable type '(CacheEntry<T>?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
177 | if !token.isCancelled {
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
179 | completion(entry)
| |- warning: capture of 'completion' with non-sendable type '(CacheEntry<T>?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 | } else {
181 | completion(nil)
[67/70] Compiling Fetch Resource+Fetch.swift
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:166:21: warning: capture of 'completion' with non-sendable type '(Result<FetchResponse<T>, FetchError>, Bool) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 |
165 | queue.async {
166 | completion(fetchResult, true)
| |- warning: capture of 'completion' with non-sendable type '(Result<FetchResponse<T>, FetchError>, Bool) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
167 | }
168 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:166:32: warning: capture of 'fetchResult' with non-sendable type 'Result<FetchResponse<T>, FetchError>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
12 | // MARK: - Fetch
13 |
14 | public enum FetchResponse<T> {
| `- note: consider making generic enum 'FetchResponse' conform to the 'Sendable' protocol
15 | case cache(T, isExpired: Bool)
16 | case network(response: NetworkResponse<T>, updated: Bool)
:
164 |
165 | queue.async {
166 | completion(fetchResult, true)
| `- warning: capture of 'fetchResult' with non-sendable type 'Result<FetchResponse<T>, FetchError>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
167 | }
168 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:177:21: warning: capture of 'token' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 | DispatchQueue.decodingQueue.async {
176 | queue.async {
177 | if !token.isCancelled {
| `- warning: capture of 'token' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
179 | completion(entry)
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:178:56: warning: capture of 'self' with non-sendable type 'Resource<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
176 | queue.async {
177 | if !token.isCancelled {
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
| `- warning: capture of 'self' with non-sendable type 'Resource<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
179 | completion(entry)
180 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource.swift:15:12: note: generic class 'Resource' does not conform to the 'Sendable' protocol
13 | /// Additionally, caching behaviour can be specified
14 |
15 | open class Resource<T: Decodable>: CacheableResource {
| `- note: generic class 'Resource' does not conform to the 'Sendable' protocol
16 |
17 | public enum Body {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:179:25: warning: capture of 'completion' with non-sendable type '(CacheEntry<T>?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
177 | if !token.isCancelled {
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
179 | completion(entry)
| |- warning: capture of 'completion' with non-sendable type '(CacheEntry<T>?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 | } else {
181 | completion(nil)
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:177:21: warning: capture of 'token' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 | DispatchQueue.decodingQueue.async {
176 | queue.async {
177 | if !token.isCancelled {
| `- warning: capture of 'token' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
179 | completion(entry)
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:178:56: warning: capture of 'self' with non-sendable type 'Resource<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
176 | queue.async {
177 | if !token.isCancelled {
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
| `- warning: capture of 'self' with non-sendable type 'Resource<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
179 | completion(entry)
180 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource.swift:15:12: note: generic class 'Resource' does not conform to the 'Sendable' protocol
13 | /// Additionally, caching behaviour can be specified
14 |
15 | open class Resource<T: Decodable>: CacheableResource {
| `- note: generic class 'Resource' does not conform to the 'Sendable' protocol
16 |
17 | public enum Body {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/Resource+Fetch.swift:179:25: warning: capture of 'completion' with non-sendable type '(CacheEntry<T>?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
177 | if !token.isCancelled {
178 | if let entry: CacheEntry<T> = try? self.cache?.get(for: self) {
179 | completion(entry)
| |- warning: capture of 'completion' with non-sendable type '(CacheEntry<T>?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 | } else {
181 | completion(nil)
[68/70] Compiling Fetch Fetch+Async.swift
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:38:15: warning: capture of 'requestToken' with non-sendable type 'RequestToken?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 | }
37 | } onCancel: { [requestToken] in
38 | requestToken?.cancel() // runs immediately when cancelled
| `- warning: capture of 'requestToken' with non-sendable type 'RequestToken?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:76:15: warning: capture of 'requestToken' with non-sendable type 'RequestToken?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 | }
75 | } onCancel: { [requestToken] in
76 | requestToken?.cancel() // runs immediately when cancelled
| `- warning: capture of 'requestToken' with non-sendable type 'RequestToken?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:98:21: warning: capture of 'requestToken' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
96 | switch termination {
97 | case .cancelled:
98 | requestToken.cancel()
| `- warning: capture of 'requestToken' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
99 | default:
100 | break
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:115:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
99 |
100 | /// The `APIClient` is the interface to the network and it is used by a `Resource` to send http requests.
101 | open class APIClient {
| `- note: class 'APIClient' does not conform to the 'Sendable' protocol
102 |
103 | typealias CompletionCallback<T> = ((Swift.Result<NetworkResponse<T>, FetchError>) -> Void)
:
113 |
114 | /// The default `APIClient`
115 | public static let shared = APIClient()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
116 |
117 | private var _config: Config?
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/StubbedURL.swift:13:16: warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | class StubbedURL: URLProtocol {
12 |
13 | static var stubProvider: StubProvider?
| |- warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'stubProvider' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'stubProvider' 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
14 |
15 | private let queue = DispatchQueue(label: "at.allaboutapps.fetch.stubQueue")
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:181:17: warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
179 | } catch {
180 | queue.async {
181 | completion(.failure(.other(error: error)))
| |- warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
182 | }
183 | return RequestToken({})
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:213:29: warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
211 | if let urlResponse = dataResponse.response {
212 | queue.async {
213 | completion(.success(NetworkResponse(model: model, urlResponse: urlResponse)))
| |- warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
214 | }
215 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:213:72: warning: capture of 'model' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 | // MARK: - Resource
165 |
166 | @discardableResult internal func request<T>(_ resource: Resource<T>, queue: DispatchQueue, completion: @escaping CompletionCallback<T>) -> RequestToken {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
167 | precondition(_config != nil, "Setup of APIClient was not called!")
168 |
:
211 | if let urlResponse = dataResponse.response {
212 | queue.async {
213 | completion(.success(NetworkResponse(model: model, urlResponse: urlResponse)))
| `- warning: capture of 'model' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
214 | }
215 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:217:29: warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
215 | } else {
216 | queue.async {
217 | completion(.failure(.invalidResponse))
| |- warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
218 | }
219 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:237:25: warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
235 | }
236 | queue.async {
237 | completion(.failure(fetchError))
| |- warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
238 | }
239 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:31:38: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
29 | switch result {
30 | case let .success(response):
31 | continuation.resume(returning: response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
32 | case let .failure(error):
33 | continuation.resume(throwing: error)
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:57:42: warning: task-isolated value of type '(FetchResponse<T>, Bool)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
55 |
56 | let sendValue = {
57 | continuation.resume(returning: (response, isFinished))
| `- warning: task-isolated value of type '(FetchResponse<T>, Bool)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
58 | hasSendOneValue = true
59 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:86:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
84 | switch result {
85 | case let .success(response):
86 | continuation.yield(response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
87 | if isFinished {
88 | continuation.finish(throwing: nil)
[69/70] Compiling Fetch Fetch+Combine.swift
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:38:15: warning: capture of 'requestToken' with non-sendable type 'RequestToken?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 | }
37 | } onCancel: { [requestToken] in
38 | requestToken?.cancel() // runs immediately when cancelled
| `- warning: capture of 'requestToken' with non-sendable type 'RequestToken?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:76:15: warning: capture of 'requestToken' with non-sendable type 'RequestToken?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 | }
75 | } onCancel: { [requestToken] in
76 | requestToken?.cancel() // runs immediately when cancelled
| `- warning: capture of 'requestToken' with non-sendable type 'RequestToken?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:98:21: warning: capture of 'requestToken' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
96 | switch termination {
97 | case .cancelled:
98 | requestToken.cancel()
| `- warning: capture of 'requestToken' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
99 | default:
100 | break
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:115:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
99 |
100 | /// The `APIClient` is the interface to the network and it is used by a `Resource` to send http requests.
101 | open class APIClient {
| `- note: class 'APIClient' does not conform to the 'Sendable' protocol
102 |
103 | typealias CompletionCallback<T> = ((Swift.Result<NetworkResponse<T>, FetchError>) -> Void)
:
113 |
114 | /// The default `APIClient`
115 | public static let shared = APIClient()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
116 |
117 | private var _config: Config?
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/StubbedURL.swift:13:16: warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | class StubbedURL: URLProtocol {
12 |
13 | static var stubProvider: StubProvider?
| |- warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'stubProvider' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'stubProvider' 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
14 |
15 | private let queue = DispatchQueue(label: "at.allaboutapps.fetch.stubQueue")
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:181:17: warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
179 | } catch {
180 | queue.async {
181 | completion(.failure(.other(error: error)))
| |- warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
182 | }
183 | return RequestToken({})
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:213:29: warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
211 | if let urlResponse = dataResponse.response {
212 | queue.async {
213 | completion(.success(NetworkResponse(model: model, urlResponse: urlResponse)))
| |- warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
214 | }
215 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:213:72: warning: capture of 'model' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 | // MARK: - Resource
165 |
166 | @discardableResult internal func request<T>(_ resource: Resource<T>, queue: DispatchQueue, completion: @escaping CompletionCallback<T>) -> RequestToken {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
167 | precondition(_config != nil, "Setup of APIClient was not called!")
168 |
:
211 | if let urlResponse = dataResponse.response {
212 | queue.async {
213 | completion(.success(NetworkResponse(model: model, urlResponse: urlResponse)))
| `- warning: capture of 'model' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
214 | }
215 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:217:29: warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
215 | } else {
216 | queue.async {
217 | completion(.failure(.invalidResponse))
| |- warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
218 | }
219 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:237:25: warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
235 | }
236 | queue.async {
237 | completion(.failure(fetchError))
| |- warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
238 | }
239 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:31:38: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
29 | switch result {
30 | case let .success(response):
31 | continuation.resume(returning: response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
32 | case let .failure(error):
33 | continuation.resume(throwing: error)
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:57:42: warning: task-isolated value of type '(FetchResponse<T>, Bool)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
55 |
56 | let sendValue = {
57 | continuation.resume(returning: (response, isFinished))
| `- warning: task-isolated value of type '(FetchResponse<T>, Bool)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
58 | hasSendOneValue = true
59 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:86:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
84 | switch result {
85 | case let .success(response):
86 | continuation.yield(response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
87 | if isFinished {
88 | continuation.finish(throwing: nil)
[70/70] Compiling Fetch APIClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:38:15: warning: capture of 'requestToken' with non-sendable type 'RequestToken?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 | }
37 | } onCancel: { [requestToken] in
38 | requestToken?.cancel() // runs immediately when cancelled
| `- warning: capture of 'requestToken' with non-sendable type 'RequestToken?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:76:15: warning: capture of 'requestToken' with non-sendable type 'RequestToken?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 | }
75 | } onCancel: { [requestToken] in
76 | requestToken?.cancel() // runs immediately when cancelled
| `- warning: capture of 'requestToken' with non-sendable type 'RequestToken?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:98:21: warning: capture of 'requestToken' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
96 | switch termination {
97 | case .cancelled:
98 | requestToken.cancel()
| `- warning: capture of 'requestToken' with non-sendable type 'RequestToken' in a `@Sendable` closure; this is an error in the Swift 6 language mode
99 | default:
100 | break
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Utilities/RequestToken.swift:12:14: note: class 'RequestToken' does not conform to the 'Sendable' protocol
10 |
11 | /// A `RequestToken` can be used to cancel a running network request
12 | public class RequestToken {
| `- note: class 'RequestToken' does not conform to the 'Sendable' protocol
13 | public let onCancel: (() -> Void)
14 | private var requestTokens = [RequestToken]()
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:115:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
99 |
100 | /// The `APIClient` is the interface to the network and it is used by a `Resource` to send http requests.
101 | open class APIClient {
| `- note: class 'APIClient' does not conform to the 'Sendable' protocol
102 |
103 | typealias CompletionCallback<T> = ((Swift.Result<NetworkResponse<T>, FetchError>) -> Void)
:
113 |
114 | /// The default `APIClient`
115 | public static let shared = APIClient()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'APIClient' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
116 |
117 | private var _config: Config?
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Stub/StubbedURL.swift:13:16: warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | class StubbedURL: URLProtocol {
12 |
13 | static var stubProvider: StubProvider?
| |- warning: static property 'stubProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'stubProvider' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'stubProvider' 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
14 |
15 | private let queue = DispatchQueue(label: "at.allaboutapps.fetch.stubQueue")
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:181:17: warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
179 | } catch {
180 | queue.async {
181 | completion(.failure(.other(error: error)))
| |- warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
182 | }
183 | return RequestToken({})
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:213:29: warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
211 | if let urlResponse = dataResponse.response {
212 | queue.async {
213 | completion(.success(NetworkResponse(model: model, urlResponse: urlResponse)))
| |- warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
214 | }
215 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:213:72: warning: capture of 'model' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 | // MARK: - Resource
165 |
166 | @discardableResult internal func request<T>(_ resource: Resource<T>, queue: DispatchQueue, completion: @escaping CompletionCallback<T>) -> RequestToken {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
167 | precondition(_config != nil, "Setup of APIClient was not called!")
168 |
:
211 | if let urlResponse = dataResponse.response {
212 | queue.async {
213 | completion(.success(NetworkResponse(model: model, urlResponse: urlResponse)))
| `- warning: capture of 'model' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
214 | }
215 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:217:29: warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
215 | } else {
216 | queue.async {
217 | completion(.failure(.invalidResponse))
| |- warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
218 | }
219 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Network/APIClient.swift:237:25: warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
235 | }
236 | queue.async {
237 | completion(.failure(fetchError))
| |- warning: capture of 'completion' with non-sendable type 'APIClient.CompletionCallback<T>' (aka '(Result<NetworkResponse<T>, FetchError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
238 | }
239 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:31:38: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
29 | switch result {
30 | case let .success(response):
31 | continuation.resume(returning: response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
32 | case let .failure(error):
33 | continuation.resume(throwing: error)
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:57:42: warning: task-isolated value of type '(FetchResponse<T>, Bool)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
55 |
56 | let sendValue = {
57 | continuation.resume(returning: (response, isFinished))
| `- warning: task-isolated value of type '(FetchResponse<T>, Bool)' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
58 | hasSendOneValue = true
59 | }
/Users/admin/builder/spi-builder-workspace/Sources/Fetch/Extensions/Fetch+Async.swift:86:34: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
84 | switch result {
85 | case let .success(response):
86 | continuation.yield(response)
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'response' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
87 | if isFinished {
88 | continuation.finish(throwing: nil)
Build complete! (23.16s)
Build complete.
{
"dependencies" : [
{
"identity" : "alamofire",
"requirement" : {
"range" : [
{
"lower_bound" : "5.7.0",
"upper_bound" : "6.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Alamofire/Alamofire.git"
}
],
"manifest_display_name" : "Fetch",
"name" : "Fetch",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.12"
},
{
"name" : "ios",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "3.0"
}
],
"products" : [
{
"name" : "Fetch",
"targets" : [
"Fetch"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "FetchTests",
"module_type" : "SwiftTarget",
"name" : "FetchTests",
"path" : "Tests/FetchTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FetchTests/TestFiles",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FetchTests/modela.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Async Await/AsyncCacheTests.swift",
"Async Await/AsyncTests.swift",
"Cache/CacheTests.swift",
"Cache/DiskCacheTests.swift",
"Cache/HybridCacheTests.swift",
"Cache/MemoryCacheTests.swift",
"CancelTests.swift",
"CustomValidationTests.swift",
"DispatchQueueTests.swift",
"FullPathTests.swift",
"IgnoreBodyTests.swift",
"MultipleStubsTests.swift",
"NestingTests.swift",
"ShouldStubTests.swift",
"StubProviderTests.swift",
"StubTests.swift",
"TestAPI.swift",
"URLRequestTests.swift"
],
"target_dependencies" : [
"Fetch"
],
"type" : "test"
},
{
"c99name" : "Fetch",
"module_type" : "SwiftTarget",
"name" : "Fetch",
"path" : "Sources/Fetch",
"product_dependencies" : [
"Alamofire"
],
"product_memberships" : [
"Fetch"
],
"sources" : [
"Cache/Cache.swift",
"Cache/Cacheable.swift",
"Cache/DiskCache.swift",
"Cache/Expiration.swift",
"Cache/HybridCache.swift",
"Cache/MemoryCache.swift",
"Extensions/Fetch+Async.swift",
"Extensions/Fetch+Combine.swift",
"Network/APIClient.swift",
"Network/APILogger.swift",
"Network/FetchError.swift",
"Network/Resource+Fetch.swift",
"Network/Resource.swift",
"Stub/AlternatingStub.swift",
"Stub/ClosureStub.swift",
"Stub/RandomStub.swift",
"Stub/Stub.swift",
"Stub/StubbedURL.swift",
"StubProvider/StubProvider.swift",
"Utilities/AnyEncodable.swift",
"Utilities/Crypto.swift",
"Utilities/Decoder+Keys.swift",
"Utilities/HTTPContentType.swift",
"Utilities/IgnoreBody.swift",
"Utilities/JSONEncoder+ResourceEncoder.swift",
"Utilities/RequestToken.swift",
"Utilities/ResourceDecoderProtocol.swift",
"Utilities/ResourceEncoderProtocol.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.