The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of RestBird, reference master (db51dc), with Swift 6.0 for Linux on 1 Nov 2024 11:47:23 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/halcyonmobile/RestBird.git
Reference: master
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/halcyonmobile/RestBird
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at db51dc7 Update podspec
Cloned https://github.com/halcyonmobile/RestBird.git
Revision (git rev-parse @):
db51dc723cf29fbae3d237205e911fdc4debbd9d
SUCCESS checkout https://github.com/halcyonmobile/RestBird.git at master
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/halcyonmobile/RestBird.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/Alamofire/Alamofire.git
[1/29789] Fetching alamofire
Fetched https://github.com/Alamofire/Alamofire.git from cache (2.57s)
Computing version for https://github.com/Alamofire/Alamofire.git
warning: 'alamofire': /Package.swift:28:15: warning: 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageVersions:cLanguageStandard:cxxLanguageStandard:)' is deprecated: replaced by 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)'
26 | import PackageDescription
27 |
28 | let package = Package(name: "Alamofire",
   |               |- warning: 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageVersions:cLanguageStandard:cxxLanguageStandard:)' is deprecated: replaced by 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)'
   |               `- note: use 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)' instead
29 |                       platforms: [.macOS(.v10_13),
30 |                                   .iOS(.v12),
Computed https://github.com/Alamofire/Alamofire.git at 5.10.1 (0.46s)
Creating working copy for https://github.com/Alamofire/Alamofire.git
Working copy of https://github.com/Alamofire/Alamofire.git resolved at 5.10.1
warning: 'alamofire': /host/spi-builder-workspace/.build/checkouts/Alamofire/Package.swift:28:15: warning: 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageVersions:cLanguageStandard:cxxLanguageStandard:)' is deprecated: replaced by 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)'
26 | import PackageDescription
27 |
28 | let package = Package(name: "Alamofire",
   |               |- warning: 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageVersions:cLanguageStandard:cxxLanguageStandard:)' is deprecated: replaced by 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)'
   |               `- note: use 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)' instead
29 |                       platforms: [.macOS(.v10_13),
30 |                                   .iOS(.v12),
Building for debugging...
[0/4] Write sources
[1/4] Copying PrivacyInfo.xcprivacy
[3/4] Write swift-version-24593BA9C3E375BF.txt
[5/43] Emitting module Alamofire
[6/48] Compiling Alamofire RetryPolicy.swift
[7/48] Compiling Alamofire ServerTrustEvaluation.swift
[8/48] Compiling Alamofire URLEncodedFormEncoder.swift
[9/48] Compiling Alamofire Validation.swift
[10/48] Compiling Alamofire resource_bundle_accessor.swift
[11/48] Compiling Alamofire HTTPMethod.swift
[12/48] Compiling Alamofire Notifications.swift
[13/48] Compiling Alamofire ParameterEncoder.swift
[14/48] Compiling Alamofire ParameterEncoding.swift
[15/48] Compiling Alamofire Protected.swift
[16/48] Compiling Alamofire Request.swift
[17/48] Compiling Alamofire URLRequest+Alamofire.swift
[18/48] Compiling Alamofire URLSessionConfiguration+Alamofire.swift
[19/48] Compiling Alamofire AlamofireExtended.swift
[20/48] Compiling Alamofire AuthenticationInterceptor.swift
[21/48] Compiling Alamofire CachedResponseHandler.swift
[22/48] Compiling Alamofire Combine.swift
[23/48] Compiling Alamofire Concurrency.swift
[24/48] Compiling Alamofire EventMonitor.swift
[25/48] Compiling Alamofire MultipartFormData.swift
[26/48] Compiling Alamofire MultipartUpload.swift
[27/48] Compiling Alamofire WebSocketRequest.swift
[28/48] Compiling Alamofire DispatchQueue+Alamofire.swift
[29/48] Compiling Alamofire OperationQueue+Alamofire.swift
[30/48] Compiling Alamofire Result+Alamofire.swift
[31/48] Compiling Alamofire StringEncoding+Alamofire.swift
[32/48] Compiling Alamofire RequestTaskMap.swift
[33/48] Compiling Alamofire Response.swift
[34/48] Compiling Alamofire Session.swift
[35/48] Compiling Alamofire SessionDelegate.swift
[36/48] Compiling Alamofire URLConvertible+URLRequestConvertible.swift
[37/48] Compiling Alamofire UploadRequest.swift
[38/48] Compiling Alamofire NetworkReachabilityManager.swift
[39/48] Compiling Alamofire RedirectHandler.swift
[40/48] Compiling Alamofire RequestCompression.swift
[41/48] Compiling Alamofire RequestInterceptor.swift
[42/48] Compiling Alamofire ResponseSerialization.swift
[43/48] Compiling Alamofire Alamofire.swift
[44/48] Compiling Alamofire AFError.swift
[45/48] Compiling Alamofire DataRequest.swift
[46/48] Compiling Alamofire DataStreamRequest.swift
[47/48] Compiling Alamofire DownloadRequest.swift
[48/48] Compiling Alamofire HTTPHeaders.swift
[50/62] Compiling RestBird SessionManager.swift
/host/spi-builder-workspace/Sources/RestBird/Session/SessionManager.swift:11:41: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
 9 | import Foundation
10 |
11 | public protocol SessionManagerDelegate: class {
   |                                         `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
12 |
13 |     /// Informs delegate that a URLRequest is about to be executed.
/host/spi-builder-workspace/Sources/RestBird/Session/SessionManager.swift:33:33: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
31 |
32 | /// URL session interface
33 | public protocol SessionManager: class {
   |                                 `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
34 |
35 |     var config: NetworkClientConfiguration { get }
[51/63] Compiling RestBird Middleware.swift
[52/63] Compiling RestBird DataRequest.swift
[53/63] Compiling RestBird RestBird.swift
[54/63] Compiling RestBird ParameterEncoding.swift
[55/63] Compiling RestBird Request.swift
[56/63] Compiling RestBird EmptyResponse.swift
[57/63] Compiling RestBird MultipartRequest.swift
[58/63] Compiling RestBird NetworkClient.swift
[59/63] Compiling RestBird HTTPMethod.swift
[60/63] Compiling RestBird Data+Codable.swift
[61/63] Emitting module RestBird
/host/spi-builder-workspace/Sources/RestBird/Session/SessionManager.swift:11:41: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
 9 | import Foundation
10 |
11 | public protocol SessionManagerDelegate: class {
   |                                         `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
12 |
13 |     /// Informs delegate that a URLRequest is about to be executed.
/host/spi-builder-workspace/Sources/RestBird/Session/SessionManager.swift:33:33: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
31 |
32 | /// URL session interface
33 | public protocol SessionManager: class {
   |                                 `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
34 |
35 |     var config: NetworkClientConfiguration { get }
[62/63] Compiling RestBird AlamofireSessionManager.swift
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:33:35: warning: type 'Request.RequestType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 31 |         let url = config.baseUrl + (request.suffix ?? "")
 32 |
 33 |         let dataRequest = session.request(url,
    |                                   `- warning: type 'Request.RequestType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 34 |                                           method: request.afMethod,
 35 |                                           parameters: request.parameters,
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:48:32: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 25 |     // MARK: - Data Task
 26 |
 27 |     public func performDataTask<Request, T>(
    |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 28 |         request: Request,
 29 |         completion: @escaping (Result<T, Error>) -> Void
    :
 46 |         }
 47 |
 48 |         dataRequest.validate().responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300)) { response in
    |                                `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 49 |             if let urlRequest = response.request, let urlResponse = response.response {
 50 |                 do {
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:49:42: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 25 |     // MARK: - Data Task
 26 |
 27 |     public func performDataTask<Request, T>(
    |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 28 |         request: Request,
 29 |         completion: @escaping (Result<T, Error>) -> Void
    :
 47 |
 48 |         dataRequest.validate().responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300)) { response in
 49 |             if let urlRequest = response.request, let urlResponse = response.response {
    |                                          `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 50 |                 do {
 51 |                     try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:49:78: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 25 |     // MARK: - Data Task
 26 |
 27 |     public func performDataTask<Request, T>(
    |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 28 |         request: Request,
 29 |         completion: @escaping (Result<T, Error>) -> Void
    :
 47 |
 48 |         dataRequest.validate().responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300)) { response in
 49 |             if let urlRequest = response.request, let urlResponse = response.response {
    |                                                                              `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 50 |                 do {
 51 |                     try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:51:123: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 25 |     // MARK: - Data Task
 26 |
 27 |     public func performDataTask<Request, T>(
    |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 28 |         request: Request,
 29 |         completion: @escaping (Result<T, Error>) -> Void
    :
 49 |             if let urlRequest = response.request, let urlResponse = response.response {
 50 |                 do {
 51 |                     try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
    |                                                                                                                           `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 52 |                 } catch {
 53 |                     completion(.failure(error))
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:58:33: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 25 |     // MARK: - Data Task
 26 |
 27 |     public func performDataTask<Request, T>(
    |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 28 |         request: Request,
 29 |         completion: @escaping (Result<T, Error>) -> Void
    :
 56 |             }
 57 |
 58 |             completion(response.result.mapError{ $0 })
    |                                 `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 59 |         }
 60 |     }
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:51:25: warning: capture of 'self' with non-sendable type 'AlamofireSessionManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 10 | import Alamofire
 11 |
 12 | public final class AlamofireSessionManager: RestBird.SessionManager {
    |                    `- note: class 'AlamofireSessionManager' does not conform to the 'Sendable' protocol
 13 |
 14 |     public var config: NetworkClientConfiguration
    :
 49 |             if let urlRequest = response.request, let urlResponse = response.response {
 50 |                 do {
 51 |                     try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
    |                         `- warning: capture of 'self' with non-sendable type 'AlamofireSessionManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 } catch {
 53 |                     completion(.failure(error))
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:53:21: warning: capture of 'completion' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 51 |                     try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
 52 |                 } catch {
 53 |                     completion(.failure(error))
    |                     |- warning: capture of 'completion' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 54 |                     return
 55 |                 }
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:95:22: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
 93 |
 94 |                 uploadRequest?.validate()
 95 |                     .responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300), completionHandler: { response in
    |                      `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 96 |                         if let urlRequest = response.request, let urlResponse = response.response {
 97 |                             do {
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:96:54: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
 94 |                 uploadRequest?.validate()
 95 |                     .responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300), completionHandler: { response in
 96 |                         if let urlRequest = response.request, let urlResponse = response.response {
    |                                                      `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 97 |                             do {
 98 |                                 try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:96:90: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
 94 |                 uploadRequest?.validate()
 95 |                     .responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300), completionHandler: { response in
 96 |                         if let urlRequest = response.request, let urlResponse = response.response {
    |                                                                                          `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 97 |                             do {
 98 |                                 try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:98:135: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
 96 |                         if let urlRequest = response.request, let urlResponse = response.response {
 97 |                             do {
 98 |                                 try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
    |                                                                                                                                       `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 99 |                             } catch {
100 |                                 completion(.failure(error))
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:104:45: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
102 |                             }
103 |                         }
104 |                         completion(response.result.mapError{ $0 })
    |                                             `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
105 |                     })
106 |             }
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:125:22: warning: We should do this using Alamofire.
123 |             }
124 |
125 |             #warning("We should do this using Alamofire.")
    |                      `- warning: We should do this using Alamofire.
126 |             try? request.afParameters(using: self.config.jsonEncoder)?.forEach { (param) in
127 |                 if let value = param.value as? String {
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:143:14: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
141 |         session.upload(multipartFormData: multipartFormData, to: url, method: request.afMethod, headers: request.afHeaders)
142 |             .validate()
143 |             .responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300)) { response in
    |              `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
144 |                 completion(response.result.mapError{ $0 })
145 |         }
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:144:37: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
142 |             .validate()
143 |             .responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300)) { response in
144 |                 completion(response.result.mapError{ $0 })
    |                                     `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
145 |         }
146 |     }
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:81:13: warning: variable 'uploadRequest' was never mutated; consider changing to 'let' constant
 79 |     ) where Request : MultipartRequest, T : Decodable {
 80 |         // We need to observe when `uploadRequest` gets set as in case of `.multipart` this will be set later, in `encodingCompletion` and we can't call these methods right after `sessionManager.upload` as `uploadRequest` will be nil at that point.
 81 |         var uploadRequest: Alamofire.UploadRequest? {
    |             `- warning: variable 'uploadRequest' was never mutated; consider changing to 'let' constant
 82 |             didSet {
 83 |                 // We don't need to treat the case where `uploadRequest` is nil as that would be a failure and `completion(.failure(error))` would be called in `encodingCompletion`.
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:144:17: warning: capture of 'completion' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
142 |             .validate()
143 |             .responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300)) { response in
144 |                 completion(response.result.mapError{ $0 })
    |                 |- warning: capture of 'completion' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
145 |         }
146 |     }
[63/63] Compiling RestBird Request+Alamofire.swift
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:33:35: warning: type 'Request.RequestType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 31 |         let url = config.baseUrl + (request.suffix ?? "")
 32 |
 33 |         let dataRequest = session.request(url,
    |                                   `- warning: type 'Request.RequestType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 34 |                                           method: request.afMethod,
 35 |                                           parameters: request.parameters,
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:48:32: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 25 |     // MARK: - Data Task
 26 |
 27 |     public func performDataTask<Request, T>(
    |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 28 |         request: Request,
 29 |         completion: @escaping (Result<T, Error>) -> Void
    :
 46 |         }
 47 |
 48 |         dataRequest.validate().responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300)) { response in
    |                                `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 49 |             if let urlRequest = response.request, let urlResponse = response.response {
 50 |                 do {
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:49:42: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 25 |     // MARK: - Data Task
 26 |
 27 |     public func performDataTask<Request, T>(
    |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 28 |         request: Request,
 29 |         completion: @escaping (Result<T, Error>) -> Void
    :
 47 |
 48 |         dataRequest.validate().responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300)) { response in
 49 |             if let urlRequest = response.request, let urlResponse = response.response {
    |                                          `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 50 |                 do {
 51 |                     try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:49:78: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 25 |     // MARK: - Data Task
 26 |
 27 |     public func performDataTask<Request, T>(
    |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 28 |         request: Request,
 29 |         completion: @escaping (Result<T, Error>) -> Void
    :
 47 |
 48 |         dataRequest.validate().responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300)) { response in
 49 |             if let urlRequest = response.request, let urlResponse = response.response {
    |                                                                              `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 50 |                 do {
 51 |                     try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:51:123: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 25 |     // MARK: - Data Task
 26 |
 27 |     public func performDataTask<Request, T>(
    |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 28 |         request: Request,
 29 |         completion: @escaping (Result<T, Error>) -> Void
    :
 49 |             if let urlRequest = response.request, let urlResponse = response.response {
 50 |                 do {
 51 |                     try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
    |                                                                                                                           `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 52 |                 } catch {
 53 |                     completion(.failure(error))
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:58:33: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 25 |     // MARK: - Data Task
 26 |
 27 |     public func performDataTask<Request, T>(
    |                                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 28 |         request: Request,
 29 |         completion: @escaping (Result<T, Error>) -> Void
    :
 56 |             }
 57 |
 58 |             completion(response.result.mapError{ $0 })
    |                                 `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 59 |         }
 60 |     }
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:51:25: warning: capture of 'self' with non-sendable type 'AlamofireSessionManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 10 | import Alamofire
 11 |
 12 | public final class AlamofireSessionManager: RestBird.SessionManager {
    |                    `- note: class 'AlamofireSessionManager' does not conform to the 'Sendable' protocol
 13 |
 14 |     public var config: NetworkClientConfiguration
    :
 49 |             if let urlRequest = response.request, let urlResponse = response.response {
 50 |                 do {
 51 |                     try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
    |                         `- warning: capture of 'self' with non-sendable type 'AlamofireSessionManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |                 } catch {
 53 |                     completion(.failure(error))
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:53:21: warning: capture of 'completion' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 51 |                     try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
 52 |                 } catch {
 53 |                     completion(.failure(error))
    |                     |- warning: capture of 'completion' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 54 |                     return
 55 |                 }
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:95:22: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
 93 |
 94 |                 uploadRequest?.validate()
 95 |                     .responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300), completionHandler: { response in
    |                      `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 96 |                         if let urlRequest = response.request, let urlResponse = response.response {
 97 |                             do {
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:96:54: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
 94 |                 uploadRequest?.validate()
 95 |                     .responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300), completionHandler: { response in
 96 |                         if let urlRequest = response.request, let urlResponse = response.response {
    |                                                      `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 97 |                             do {
 98 |                                 try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:96:90: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
 94 |                 uploadRequest?.validate()
 95 |                     .responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300), completionHandler: { response in
 96 |                         if let urlRequest = response.request, let urlResponse = response.response {
    |                                                                                          `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 97 |                             do {
 98 |                                 try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:98:135: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
 96 |                         if let urlRequest = response.request, let urlResponse = response.response {
 97 |                             do {
 98 |                                 try self.delegate?.sessionManager(self, didPerform: urlRequest, response: urlResponse, data: response.data)
    |                                                                                                                                       `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 99 |                             } catch {
100 |                                 completion(.failure(error))
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:104:45: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
102 |                             }
103 |                         }
104 |                         completion(response.result.mapError{ $0 })
    |                                             `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
105 |                     })
106 |             }
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:125:22: warning: We should do this using Alamofire.
123 |             }
124 |
125 |             #warning("We should do this using Alamofire.")
    |                      `- warning: We should do this using Alamofire.
126 |             try? request.afParameters(using: self.config.jsonEncoder)?.forEach { (param) in
127 |                 if let value = param.value as? String {
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:143:14: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
141 |         session.upload(multipartFormData: multipartFormData, to: url, method: request.afMethod, headers: request.afHeaders)
142 |             .validate()
143 |             .responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300)) { response in
    |              `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
144 |                 completion(response.result.mapError{ $0 })
145 |         }
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:144:37: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 73 |     }
 74 |
 75 |     public func performUploadTask<Request, T>(
    |                                            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 76 |         request: Request,
 77 |         uploadProgress: ((Progress) -> Void)?,
    :
142 |             .validate()
143 |             .responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300)) { response in
144 |                 completion(response.result.mapError{ $0 })
    |                                     `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
145 |         }
146 |     }
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:81:13: warning: variable 'uploadRequest' was never mutated; consider changing to 'let' constant
 79 |     ) where Request : MultipartRequest, T : Decodable {
 80 |         // We need to observe when `uploadRequest` gets set as in case of `.multipart` this will be set later, in `encodingCompletion` and we can't call these methods right after `sessionManager.upload` as `uploadRequest` will be nil at that point.
 81 |         var uploadRequest: Alamofire.UploadRequest? {
    |             `- warning: variable 'uploadRequest' was never mutated; consider changing to 'let' constant
 82 |             didSet {
 83 |                 // We don't need to treat the case where `uploadRequest` is nil as that would be a failure and `completion(.failure(error))` would be called in `encodingCompletion`.
/host/spi-builder-workspace/Sources/RestBird/Alamofire/AlamofireSessionManager.swift:144:17: warning: capture of 'completion' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
142 |             .validate()
143 |             .responseDecodable(of: T.self, decoder: config.jsonDecoder, emptyResponseCodes: Set(200..<300)) { response in
144 |                 completion(response.result.mapError{ $0 })
    |                 |- warning: capture of 'completion' with non-sendable type '(Result<T, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
145 |         }
146 |     }
Build complete! (25.03s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "alamofire",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.4.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Alamofire/Alamofire.git"
    }
  ],
  "manifest_display_name" : "RestBird",
  "name" : "RestBird",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "ios",
      "version" : "10.0"
    }
  ],
  "products" : [
    {
      "name" : "RestBird",
      "targets" : [
        "RestBird"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "RestBirdTests",
      "module_type" : "SwiftTarget",
      "name" : "RestBirdTests",
      "path" : "Tests/RestBirdTests",
      "sources" : [
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "RestBird"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RestBird",
      "module_type" : "SwiftTarget",
      "name" : "RestBird",
      "path" : "Sources/RestBird",
      "product_dependencies" : [
        "Alamofire"
      ],
      "product_memberships" : [
        "RestBird"
      ],
      "sources" : [
        "Alamofire/AlamofireSessionManager.swift",
        "Alamofire/Request+Alamofire.swift",
        "Client/NetworkClient.swift",
        "HTTPMethod.swift",
        "Middleware.swift",
        "Request/DataRequest.swift",
        "Request/EmptyResponse.swift",
        "Request/MultipartRequest.swift",
        "Request/ParameterEncoding.swift",
        "Request/Request.swift",
        "RestBird.swift",
        "Session/SessionManager.swift",
        "Utility/Data+Codable.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.