Build Information
Successful build of Conduit, reference 1.4.4 (f43bf4
), with Swift 6.0 for macOS (SPM) on 3 Mar 2025 16:49:28 UTC.
Swift 6 data race errors: 30
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.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
| |- 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
28 |
29 | /// The middleware that all incoming requests should be piped through
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:47:24: warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | private let sessionDelegate = SessionDelegate()
46 | // swiftlint:enable weak_delegate
47 | private static var requestCounter: Int64 = 0
| |- warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'requestCounter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'requestCounter' 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
48 |
49 | /// Creates a new URLSessionClient with provided middleware and NSURLSession parameters
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:248:15: warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
246 | }
247 |
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
| `- warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:250:9: warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
| `- warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
251 |
252 | private var taskCompletionHandlers: [Int: SessionTaskCompletion] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:110:13: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
108 | serialQueue.async {
109 |
110 | self.synchronouslyWaitForMiddleware()
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
111 |
112 | // Next, allow each middleware component to have its way with the original URLRequest
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Conduit.swift:14:14: warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | /// It offered as a global variable to allow the natural-looking call-site syntax:
13 | /// logger.debug("blah blah")
14 | internal var logger: ConduitLoggerType = {
| |- warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logger' 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
15 | return ConduitConfig.logger
16 | }()
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:51: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:74: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:148:17: warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
146 | // so even though the pipeline is serial, requests run in parallel
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:149:40: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:150:21: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:25: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: reference to captured var 'taskResponse' in concurrently-executing code
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:36: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:55: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:78: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:165:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
163 |
164 | self.sessionDelegate.registerUploadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
165 | sessionTaskProxy.uploadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
166 | }
167 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/RequestPipelineMiddleware.swift:24:23: warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// Represents options specific to the behavior of the request pipeline
12 | public struct RequestPipelineBehaviorOptions: OptionSet {
| `- note: consider making struct 'RequestPipelineBehaviorOptions' conform to the 'Sendable' protocol
13 |
14 | public var rawValue: Int
:
22 |
23 | /// Notifies the client to complete all outgoing requests before proceeding
24 | public static let awaitsOutgoingCompletion = RequestPipelineBehaviorOptions(rawValue: 1 << 0)
| |- warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'awaitsOutgoingCompletion' 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
25 | }
26 |
[85/90] Compiling Conduit ServerAuthenticationPolicy.swift
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/Serialization/XML/XMLNode.swift:18:16: warning: static property 'versionInstruction' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | /// Not technically a PI, but it follows the same formatting rules
18 | static var versionInstruction: XMLNode = {
| |- warning: static property 'versionInstruction' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'versionInstruction' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'versionInstruction' 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
19 | var node = XMLNode(name: "xml")
20 | node.attributes["version"] = "1.0"
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:27:23: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | /// Shared URL session client, can be overriden
27 | public static var shared: URLSessionClientType = URLSessionClient(delegateQueue: OperationQueue())
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
28 |
29 | /// The middleware that all incoming requests should be piped through
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:47:24: warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | private let sessionDelegate = SessionDelegate()
46 | // swiftlint:enable weak_delegate
47 | private static var requestCounter: Int64 = 0
| |- warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'requestCounter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'requestCounter' 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
48 |
49 | /// Creates a new URLSessionClient with provided middleware and NSURLSession parameters
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:248:15: warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
246 | }
247 |
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
| `- warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:250:9: warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
| `- warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
251 |
252 | private var taskCompletionHandlers: [Int: SessionTaskCompletion] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:110:13: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
108 | serialQueue.async {
109 |
110 | self.synchronouslyWaitForMiddleware()
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
111 |
112 | // Next, allow each middleware component to have its way with the original URLRequest
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Conduit.swift:14:14: warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | /// It offered as a global variable to allow the natural-looking call-site syntax:
13 | /// logger.debug("blah blah")
14 | internal var logger: ConduitLoggerType = {
| |- warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logger' 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
15 | return ConduitConfig.logger
16 | }()
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:51: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:74: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:148:17: warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
146 | // so even though the pipeline is serial, requests run in parallel
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:149:40: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:150:21: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:25: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: reference to captured var 'taskResponse' in concurrently-executing code
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:36: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:55: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:78: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:165:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
163 |
164 | self.sessionDelegate.registerUploadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
165 | sessionTaskProxy.uploadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
166 | }
167 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/RequestPipelineMiddleware.swift:24:23: warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// Represents options specific to the behavior of the request pipeline
12 | public struct RequestPipelineBehaviorOptions: OptionSet {
| `- note: consider making struct 'RequestPipelineBehaviorOptions' conform to the 'Sendable' protocol
13 |
14 | public var rawValue: Int
:
22 |
23 | /// Notifies the client to complete all outgoing requests before proceeding
24 | public static let awaitsOutgoingCompletion = RequestPipelineBehaviorOptions(rawValue: 1 << 0)
| |- warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'awaitsOutgoingCompletion' 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
25 | }
26 |
[86/90] Compiling Conduit SessionTaskProxy.swift
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/Serialization/XML/XMLNode.swift:18:16: warning: static property 'versionInstruction' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | /// Not technically a PI, but it follows the same formatting rules
18 | static var versionInstruction: XMLNode = {
| |- warning: static property 'versionInstruction' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'versionInstruction' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'versionInstruction' 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
19 | var node = XMLNode(name: "xml")
20 | node.attributes["version"] = "1.0"
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:27:23: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | /// Shared URL session client, can be overriden
27 | public static var shared: URLSessionClientType = URLSessionClient(delegateQueue: OperationQueue())
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
28 |
29 | /// The middleware that all incoming requests should be piped through
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:47:24: warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | private let sessionDelegate = SessionDelegate()
46 | // swiftlint:enable weak_delegate
47 | private static var requestCounter: Int64 = 0
| |- warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'requestCounter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'requestCounter' 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
48 |
49 | /// Creates a new URLSessionClient with provided middleware and NSURLSession parameters
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:248:15: warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
246 | }
247 |
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
| `- warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:250:9: warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
| `- warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
251 |
252 | private var taskCompletionHandlers: [Int: SessionTaskCompletion] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:110:13: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
108 | serialQueue.async {
109 |
110 | self.synchronouslyWaitForMiddleware()
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
111 |
112 | // Next, allow each middleware component to have its way with the original URLRequest
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Conduit.swift:14:14: warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | /// It offered as a global variable to allow the natural-looking call-site syntax:
13 | /// logger.debug("blah blah")
14 | internal var logger: ConduitLoggerType = {
| |- warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logger' 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
15 | return ConduitConfig.logger
16 | }()
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:51: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:74: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:148:17: warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
146 | // so even though the pipeline is serial, requests run in parallel
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:149:40: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:150:21: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:25: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: reference to captured var 'taskResponse' in concurrently-executing code
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:36: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:55: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:78: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:165:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
163 |
164 | self.sessionDelegate.registerUploadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
165 | sessionTaskProxy.uploadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
166 | }
167 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/RequestPipelineMiddleware.swift:24:23: warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// Represents options specific to the behavior of the request pipeline
12 | public struct RequestPipelineBehaviorOptions: OptionSet {
| `- note: consider making struct 'RequestPipelineBehaviorOptions' conform to the 'Sendable' protocol
13 |
14 | public var rawValue: Int
:
22 |
23 | /// Notifies the client to complete all outgoing requests before proceeding
24 | public static let awaitsOutgoingCompletion = RequestPipelineBehaviorOptions(rawValue: 1 << 0)
| |- warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'awaitsOutgoingCompletion' 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
25 | }
26 |
[87/90] Compiling Conduit TaskResponse.swift
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/Serialization/XML/XMLNode.swift:18:16: warning: static property 'versionInstruction' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | /// Not technically a PI, but it follows the same formatting rules
18 | static var versionInstruction: XMLNode = {
| |- warning: static property 'versionInstruction' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'versionInstruction' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'versionInstruction' 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
19 | var node = XMLNode(name: "xml")
20 | node.attributes["version"] = "1.0"
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:27:23: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | /// Shared URL session client, can be overriden
27 | public static var shared: URLSessionClientType = URLSessionClient(delegateQueue: OperationQueue())
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
28 |
29 | /// The middleware that all incoming requests should be piped through
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:47:24: warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | private let sessionDelegate = SessionDelegate()
46 | // swiftlint:enable weak_delegate
47 | private static var requestCounter: Int64 = 0
| |- warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'requestCounter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'requestCounter' 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
48 |
49 | /// Creates a new URLSessionClient with provided middleware and NSURLSession parameters
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:248:15: warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
246 | }
247 |
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
| `- warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:250:9: warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
| `- warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
251 |
252 | private var taskCompletionHandlers: [Int: SessionTaskCompletion] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:110:13: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
108 | serialQueue.async {
109 |
110 | self.synchronouslyWaitForMiddleware()
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
111 |
112 | // Next, allow each middleware component to have its way with the original URLRequest
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Conduit.swift:14:14: warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | /// It offered as a global variable to allow the natural-looking call-site syntax:
13 | /// logger.debug("blah blah")
14 | internal var logger: ConduitLoggerType = {
| |- warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logger' 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
15 | return ConduitConfig.logger
16 | }()
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:51: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:74: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:148:17: warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
146 | // so even though the pipeline is serial, requests run in parallel
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:149:40: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:150:21: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:25: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: reference to captured var 'taskResponse' in concurrently-executing code
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:36: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:55: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:78: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:165:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
163 |
164 | self.sessionDelegate.registerUploadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
165 | sessionTaskProxy.uploadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
166 | }
167 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/RequestPipelineMiddleware.swift:24:23: warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// Represents options specific to the behavior of the request pipeline
12 | public struct RequestPipelineBehaviorOptions: OptionSet {
| `- note: consider making struct 'RequestPipelineBehaviorOptions' conform to the 'Sendable' protocol
13 |
14 | public var rawValue: Int
:
22 |
23 | /// Notifies the client to complete all outgoing requests before proceeding
24 | public static let awaitsOutgoingCompletion = RequestPipelineBehaviorOptions(rawValue: 1 << 0)
| |- warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'awaitsOutgoingCompletion' 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
25 | }
26 |
[88/90] Compiling Conduit URLSessionClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/Serialization/XML/XMLNode.swift:18:16: warning: static property 'versionInstruction' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | /// Not technically a PI, but it follows the same formatting rules
18 | static var versionInstruction: XMLNode = {
| |- warning: static property 'versionInstruction' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'versionInstruction' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'versionInstruction' 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
19 | var node = XMLNode(name: "xml")
20 | node.attributes["version"] = "1.0"
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:27:23: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | /// Shared URL session client, can be overriden
27 | public static var shared: URLSessionClientType = URLSessionClient(delegateQueue: OperationQueue())
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
28 |
29 | /// The middleware that all incoming requests should be piped through
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:47:24: warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | private let sessionDelegate = SessionDelegate()
46 | // swiftlint:enable weak_delegate
47 | private static var requestCounter: Int64 = 0
| |- warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'requestCounter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'requestCounter' 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
48 |
49 | /// Creates a new URLSessionClient with provided middleware and NSURLSession parameters
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:248:15: warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
246 | }
247 |
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
| `- warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:250:9: warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
| `- warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
251 |
252 | private var taskCompletionHandlers: [Int: SessionTaskCompletion] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:110:13: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
108 | serialQueue.async {
109 |
110 | self.synchronouslyWaitForMiddleware()
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
111 |
112 | // Next, allow each middleware component to have its way with the original URLRequest
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Conduit.swift:14:14: warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | /// It offered as a global variable to allow the natural-looking call-site syntax:
13 | /// logger.debug("blah blah")
14 | internal var logger: ConduitLoggerType = {
| |- warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logger' 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
15 | return ConduitConfig.logger
16 | }()
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:51: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:74: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:148:17: warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
146 | // so even though the pipeline is serial, requests run in parallel
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:149:40: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:150:21: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:25: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: reference to captured var 'taskResponse' in concurrently-executing code
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:36: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:55: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:78: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:165:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
163 |
164 | self.sessionDelegate.registerUploadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
165 | sessionTaskProxy.uploadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
166 | }
167 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/RequestPipelineMiddleware.swift:24:23: warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// Represents options specific to the behavior of the request pipeline
12 | public struct RequestPipelineBehaviorOptions: OptionSet {
| `- note: consider making struct 'RequestPipelineBehaviorOptions' conform to the 'Sendable' protocol
13 |
14 | public var rawValue: Int
:
22 |
23 | /// Notifies the client to complete all outgoing requests before proceeding
24 | public static let awaitsOutgoingCompletion = RequestPipelineBehaviorOptions(rawValue: 1 << 0)
| |- warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'awaitsOutgoingCompletion' 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
25 | }
26 |
[89/90] Compiling Conduit URLSessionClientLogging.swift
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/Serialization/XML/XMLNode.swift:18:16: warning: static property 'versionInstruction' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | /// Not technically a PI, but it follows the same formatting rules
18 | static var versionInstruction: XMLNode = {
| |- warning: static property 'versionInstruction' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'versionInstruction' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'versionInstruction' 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
19 | var node = XMLNode(name: "xml")
20 | node.attributes["version"] = "1.0"
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:27:23: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | /// Shared URL session client, can be overriden
27 | public static var shared: URLSessionClientType = URLSessionClient(delegateQueue: OperationQueue())
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
28 |
29 | /// The middleware that all incoming requests should be piped through
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:47:24: warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | private let sessionDelegate = SessionDelegate()
46 | // swiftlint:enable weak_delegate
47 | private static var requestCounter: Int64 = 0
| |- warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'requestCounter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'requestCounter' 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
48 |
49 | /// Creates a new URLSessionClient with provided middleware and NSURLSession parameters
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:248:15: warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
246 | }
247 |
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
| `- warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:250:9: warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
| `- warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
251 |
252 | private var taskCompletionHandlers: [Int: SessionTaskCompletion] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:110:13: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
108 | serialQueue.async {
109 |
110 | self.synchronouslyWaitForMiddleware()
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
111 |
112 | // Next, allow each middleware component to have its way with the original URLRequest
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Conduit.swift:14:14: warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | /// It offered as a global variable to allow the natural-looking call-site syntax:
13 | /// logger.debug("blah blah")
14 | internal var logger: ConduitLoggerType = {
| |- warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logger' 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
15 | return ConduitConfig.logger
16 | }()
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:51: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:74: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:148:17: warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
146 | // so even though the pipeline is serial, requests run in parallel
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:149:40: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:150:21: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:25: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: reference to captured var 'taskResponse' in concurrently-executing code
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:36: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:55: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:78: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:165:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
163 |
164 | self.sessionDelegate.registerUploadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
165 | sessionTaskProxy.uploadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
166 | }
167 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/RequestPipelineMiddleware.swift:24:23: warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// Represents options specific to the behavior of the request pipeline
12 | public struct RequestPipelineBehaviorOptions: OptionSet {
| `- note: consider making struct 'RequestPipelineBehaviorOptions' conform to the 'Sendable' protocol
13 |
14 | public var rawValue: Int
:
22 |
23 | /// Notifies the client to complete all outgoing requests before proceeding
24 | public static let awaitsOutgoingCompletion = RequestPipelineBehaviorOptions(rawValue: 1 << 0)
| |- warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'awaitsOutgoingCompletion' 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
25 | }
26 |
[90/90] Compiling Conduit URLSessionClientType.swift
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/Serialization/XML/XMLNode.swift:18:16: warning: static property 'versionInstruction' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | /// Not technically a PI, but it follows the same formatting rules
18 | static var versionInstruction: XMLNode = {
| |- warning: static property 'versionInstruction' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'versionInstruction' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'versionInstruction' 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
19 | var node = XMLNode(name: "xml")
20 | node.attributes["version"] = "1.0"
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:27:23: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | /// Shared URL session client, can be overriden
27 | public static var shared: URLSessionClientType = URLSessionClient(delegateQueue: OperationQueue())
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
28 |
29 | /// The middleware that all incoming requests should be piped through
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:47:24: warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | private let sessionDelegate = SessionDelegate()
46 | // swiftlint:enable weak_delegate
47 | private static var requestCounter: Int64 = 0
| |- warning: static property 'requestCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'requestCounter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'requestCounter' 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
48 |
49 | /// Creates a new URLSessionClient with provided middleware and NSURLSession parameters
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:248:15: warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
246 | }
247 |
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
| `- warning: non-final class 'SessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:250:9: warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
248 | private class SessionDelegate: NSObject, URLSessionDataDelegate {
249 |
250 | var serverAuthenticationPolicies: [ServerAuthenticationPolicyType] = []
| `- warning: stored property 'serverAuthenticationPolicies' of 'Sendable'-conforming class 'SessionDelegate' is mutable; this is an error in the Swift 6 language mode
251 |
252 | private var taskCompletionHandlers: [Int: SessionTaskCompletion] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:110:13: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
108 | serialQueue.async {
109 |
110 | self.synchronouslyWaitForMiddleware()
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
111 |
112 | // Next, allow each middleware component to have its way with the original URLRequest
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in a `@Sendable` closure
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Conduit.swift:14:14: warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | /// It offered as a global variable to allow the natural-looking call-site syntax:
13 | /// logger.debug("blah blah")
14 | internal var logger: ConduitLoggerType = {
| |- warning: var 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logger' 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
15 | return ConduitConfig.logger
16 | }()
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:21: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:32: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:51: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:127:74: warning: reference to captured var 'taskResponse' in concurrently-executing code
125 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
126 | self.urlSession.delegateQueue.addOperation {
127 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
128 | }
129 | return
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:148:17: warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
146 | // so even though the pipeline is serial, requests run in parallel
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in an isolated closure; this is an error in the Swift 6 language mode
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:149:40: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
147 | let task = self.dataTaskWith(request: modifiedRequest) { taskResponse in
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:150:21: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
148 | self.serialQueue.async {
149 | var taskResponse = taskResponse
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:25: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
22 |
23 | /// Pipes requests through provided middleware and queues them into a single NSURLSession
24 | public struct URLSessionClient: URLSessionClientType {
| `- note: consider making struct 'URLSessionClient' conform to the 'Sendable' protocol
25 |
26 | /// Shared URL session client, can be overriden
:
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: capture of 'taskResponse' with non-sendable type 'TaskResponse' in a `@Sendable` closure
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/TaskResponse.swift:12:15: note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
10 |
11 | /// Encapsulate received data, HTTP response, error, and metrics, where available
12 | public struct TaskResponse {
| `- note: consider making struct 'TaskResponse' conform to the 'Sendable' protocol
13 | public var data: Data?
14 | public var response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:25: warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| |- warning: capture of 'completion' with non-sendable type 'SessionTaskCompletion' (aka '(Optional<Data>, Optional<HTTPURLResponse>, Optional<any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:152:48: warning: reference to captured var 'taskResponse' in concurrently-executing code
150 | self.synchronouslyProcessResponseMiddleware(request: request, taskResponse: &taskResponse)
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:36: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:55: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:153:78: warning: reference to captured var 'taskResponse' in concurrently-executing code
151 | self.urlSession.delegateQueue.addOperation {
152 | self.log(taskResponse: taskResponse, request: request, requestID: requestID)
153 | completion(taskResponse.data, taskResponse.response, taskResponse.error)
| `- warning: reference to captured var 'taskResponse' in concurrently-executing code
154 | }
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:161:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
159 |
160 | self.sessionDelegate.registerDownloadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
161 | sessionTaskProxy.downloadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/URLSessionClient.swift:165:17: warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
163 |
164 | self.sessionDelegate.registerUploadProgressHandler(taskIdentifier: task.taskIdentifier) { progress in
165 | sessionTaskProxy.uploadProgressHandler?(progress)
| `- warning: capture of 'sessionTaskProxy' with non-sendable type 'SessionTaskProxy' in an isolated closure; this is an error in the Swift 6 language mode
166 | }
167 |
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/SessionTaskProxy.swift:31:13: note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
29 | }
30 |
31 | final class SessionTaskProxy: SessionTaskProxyType {
| `- note: class 'SessionTaskProxy' does not conform to the 'Sendable' protocol
32 |
33 | var downloadProgressHandler: SessionTaskProgressHandler?
/Users/admin/builder/spi-builder-workspace/Sources/Conduit/Networking/RequestPipelineMiddleware.swift:24:23: warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// Represents options specific to the behavior of the request pipeline
12 | public struct RequestPipelineBehaviorOptions: OptionSet {
| `- note: consider making struct 'RequestPipelineBehaviorOptions' conform to the 'Sendable' protocol
13 |
14 | public var rawValue: Int
:
22 |
23 | /// Notifies the client to complete all outgoing requests before proceeding
24 | public static let awaitsOutgoingCompletion = RequestPipelineBehaviorOptions(rawValue: 1 << 0)
| |- warning: static property 'awaitsOutgoingCompletion' is not concurrency-safe because non-'Sendable' type 'RequestPipelineBehaviorOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'awaitsOutgoingCompletion' 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
25 | }
26 |
Build complete! (19.52s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Conduit",
"name" : "Conduit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.11"
},
{
"name" : "ios",
"version" : "9.0"
},
{
"name" : "tvos",
"version" : "9.0"
},
{
"name" : "watchos",
"version" : "2.0"
}
],
"products" : [
{
"name" : "Conduit",
"targets" : [
"Conduit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ConduitTests",
"module_type" : "SwiftTarget",
"name" : "ConduitTests",
"path" : "Tests/ConduitTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConduitTests/Resources/TestData.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConduitTests/Resources/badcertificate.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConduitTests/Resources/celltowers.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConduitTests/Resources/evilspaceship.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConduitTests/Resources/validcertificate1.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConduitTests/Resources/validcertificate2.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConduitTests/Resources/video.mp4",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/ConduitTests/Resources/video.txt",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Auth/AuthMigratorTests.swift",
"Auth/AuthTestUtilities.swift",
"Auth/BearerTokenTests.swift",
"Auth/KeychainHybridKeyProviderTests.swift",
"Auth/OAuth2AuthorizationCodeTokenGrantStrategyTests.swift",
"Auth/OAuth2AuthorizationStrategyTests.swift",
"Auth/OAuth2AuthorizationTests.swift",
"Auth/OAuth2ClientConfigurationTests.swift",
"Auth/OAuth2ClientCredentialsTokenGrantTests.swift",
"Auth/OAuth2ExtensionTokenGrantTests.swift",
"Auth/OAuth2PasswordTokenGrantTests.swift",
"Auth/OAuth2RequestPipelineMiddlewareTests.swift",
"Auth/OAuth2ServerEnvironmentTests.swift",
"Auth/OAuth2TokenCryptoCipherTests.swift",
"Auth/OAuth2TokenEncryptedStoreTests.swift",
"Auth/OAuth2TokenGrantManagerTests.swift",
"Auth/OAuth2TokenStorageTests.swift",
"Auth/OAuth2TokenStoreTests.swift",
"Auth/TokenMigratorTests.swift",
"ConduitLoggerTests.swift",
"Core/DarwinNotificationCenterTests.swift",
"Cryptography/AES256CBCCipherTests.swift",
"Cryptography/PBKDF2DerivatorTests.swift",
"Mocks/MockCipher.swift",
"Networking/Data/AutoPurgingURLDataCacheTests.swift",
"Networking/Data/DataDownloaderTests.swift",
"Networking/HTTPRequestBuilderTests.swift",
"Networking/Images/AutoPurgingURLImageCacheTests.swift",
"Networking/Images/ImageDownloaderTests.swift",
"Networking/Reachability/NetworkReachabilityTests.swift",
"Networking/Reachability/NetworkStatusTests.swift",
"Networking/ResultTests.swift",
"Networking/SSLPinningServerAuthenticationPolicyTests.swift",
"Networking/Serialization/FormEncodedRequestSerializerTests.swift",
"Networking/Serialization/HTTPRequestSerializerTests.swift",
"Networking/Serialization/JSONRequestSerializerTests.swift",
"Networking/Serialization/JSONResponseDeserializerTests.swift",
"Networking/Serialization/MultipartFormRequestSerializerTests.swift",
"Networking/Serialization/QueryStringArrayTests.swift",
"Networking/Serialization/QueryStringDictionaryTests.swift",
"Networking/Serialization/QueryStringTests.swift",
"Networking/Serialization/SOAPEnvelopeFactoryTests.swift",
"Networking/Serialization/XML/XMLNodeTests.swift",
"Networking/Serialization/XML/XMLNodeTestsSubjects.swift",
"Networking/Serialization/XML/XMLPrettyPrintTests.swift",
"Networking/Serialization/XML/XMLRequestSerializerTests.swift",
"Networking/Serialization/XML/XMLResponseDeserializerTests.swift",
"Networking/Serialization/XML/XMLTests.swift",
"Networking/URL.swift",
"Networking/URLSessionClientTests.swift",
"Resource.swift"
],
"target_dependencies" : [
"Conduit"
],
"type" : "test"
},
{
"c99name" : "Conduit",
"module_type" : "SwiftTarget",
"name" : "Conduit",
"path" : "Sources/Conduit",
"product_memberships" : [
"Conduit"
],
"sources" : [
"Auth/Auth.swift",
"Auth/AuthorizationCodeGrant/OAuth2AuthorizationError.swift",
"Auth/AuthorizationCodeGrant/OAuth2AuthorizationRequest.swift",
"Auth/AuthorizationCodeGrant/OAuth2AuthorizationResponse.swift",
"Auth/AuthorizationCodeGrant/OAuth2AuthorizationStrategy.swift",
"Auth/AuthorizationCodeGrant/iOS/OAuth2AuthorizationRedirectHandler.swift",
"Auth/AuthorizationCodeGrant/iOS/OAuth2SafariAuthorizationStrategy.swift",
"Auth/Cryptography/Cipher.swift",
"Auth/Cryptography/Decryptor.swift",
"Auth/Cryptography/Encryptor.swift",
"Auth/Cryptography/Errors/CryptoError.swift",
"Auth/Cryptography/Errors/CryptorError+Codes.swift",
"Auth/Cryptography/Hybrid/AsymmetricKeyPair.swift",
"Auth/Cryptography/Hybrid/HybridCipher.swift",
"Auth/Cryptography/Hybrid/HybridEncryptionType.swift",
"Auth/Cryptography/Hybrid/HybridKeyProvider.swift",
"Auth/Cryptography/Symmetric/AES256CBCCipher.swift",
"Auth/Cryptography/Symmetric/KeychainHybridKeyProvider.swift",
"Auth/Cryptography/Symmetric/PBKDF2Derivator.swift",
"Auth/Models/Configuration/OAuth2ClientConfiguration.swift",
"Auth/Models/Configuration/OAuth2ServerEnvironment.swift",
"Auth/Models/DataConvertible.swift",
"Auth/Models/OAuth2Authorization.swift",
"Auth/Models/OAuth2Token.swift",
"Auth/OAuth2Error.swift",
"Auth/OAuth2RequestPipelineMiddleware.swift",
"Auth/OAuth2TokenGrantManager.swift",
"Auth/OAuth2URLSessionClientFactory.swift",
"Auth/TokenGrants/OAuth2AuthorizationCodeTokenGrantStrategy.swift",
"Auth/TokenGrants/OAuth2ClientCredentialsTokenGrantStrategy.swift",
"Auth/TokenGrants/OAuth2ExtensionTokenGrantStrategy.swift",
"Auth/TokenGrants/OAuth2PasswordTokenGrantStrategy.swift",
"Auth/TokenGrants/OAuth2RefreshStrategyFactory.swift",
"Auth/TokenGrants/OAuth2RefreshTokenGrantStrategy.swift",
"Auth/TokenGrants/OAuth2TokenGrantStrategy.swift",
"Auth/TokenStorage/Coordination/OAuth2TokenRefreshCoordinator.swift",
"Auth/TokenStorage/OAuth2TokenCipher.swift",
"Auth/TokenStorage/OAuth2TokenCryptoCipher.swift",
"Auth/TokenStorage/OAuth2TokenEncryptedStore.swift",
"Auth/TokenStorage/OAuth2TokenFileStore.swift",
"Auth/TokenStorage/OAuth2TokenKeychainStore.swift",
"Auth/TokenStorage/OAuth2TokenMemoryStore.swift",
"Auth/TokenStorage/OAuth2TokenStore.swift",
"Auth/TokenStorage/OAuth2TokenUserDefaultsStore.swift",
"Auth/TokenStorage/TokenMigrator.swift",
"Auth/Vendor/KeychainOptions.swift",
"Auth/Vendor/KeychainWrapper.swift",
"Conduit.swift",
"ConduitLogger.swift",
"Core/DarwinNotificationCenter.swift",
"Networking/CertificateBundle.swift",
"Networking/Data/AutoPurgingURLDataCache.swift",
"Networking/Data/DataDownloader.swift",
"Networking/Data/URLDataCache.swift",
"Networking/HTTPRequestBuilder.swift",
"Networking/Images/AutoPurgingURLImageCache.swift",
"Networking/Images/Image.swift",
"Networking/Images/ImageDownloader.swift",
"Networking/Images/URLImageCache.swift",
"Networking/Reachability/AwaitNetworkConnectivityRequestPipelineMiddleware.swift",
"Networking/Reachability/NetworkReachability.swift",
"Networking/Reachability/NetworkStatus.swift",
"Networking/RequestPipelineMiddleware.swift",
"Networking/ResponsePipelineMiddleware.swift",
"Networking/Result.swift",
"Networking/SSLPinningServerAuthenticationPolicy.swift",
"Networking/Serialization/FormEncodedRequestSerializer.swift",
"Networking/Serialization/HTTPRequestSerializer.swift",
"Networking/Serialization/JSONRequestSerializer.swift",
"Networking/Serialization/JSONResponseDeserializer.swift",
"Networking/Serialization/MultipartFormRequestSerializer.swift",
"Networking/Serialization/QueryString.swift",
"Networking/Serialization/RequestSerializer.swift",
"Networking/Serialization/ResponseDeserializer.swift",
"Networking/Serialization/XML/SOAPEnvelopeFactory.swift",
"Networking/Serialization/XML/XML.swift",
"Networking/Serialization/XML/XMLNode.swift",
"Networking/Serialization/XML/XMLNodeAttributes.swift",
"Networking/Serialization/XML/XMLRequestSerializer.swift",
"Networking/Serialization/XML/XMLResponseDeserializer.swift",
"Networking/Serialization/XML/XMLSerialization.swift",
"Networking/ServerAuthenticationPolicy.swift",
"Networking/SessionTaskProxy.swift",
"Networking/TaskResponse.swift",
"Networking/URLSessionClient.swift",
"Networking/URLSessionClientLogging.swift",
"Networking/URLSessionClientType.swift"
],
"type" : "library"
}
],
"tools_version" : "5.4"
}
Done.