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 Apexy, reference 1.7.4 (c7d75f), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 07:25:06 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/RedMadRobot/apexy-ios.git
Reference: 1.7.4
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/RedMadRobot/apexy-ios
 * tag               1.7.4      -> FETCH_HEAD
HEAD is now at c7d75f8 Add session delegate to initializer (#44)
Cloned https://github.com/RedMadRobot/apexy-ios.git
Revision (git rev-parse @):
c7d75f8c39c8ee92a7069669604c5ee0cb46be0f
SUCCESS checkout https://github.com/RedMadRobot/apexy-ios.git at 1.7.4
Fetching https://github.com/Alamofire/Alamofire.git
[1/30137] Fetching alamofire
Fetched https://github.com/Alamofire/Alamofire.git from cache (2.62s)
Computing version for https://github.com/Alamofire/Alamofire.git
Computed https://github.com/Alamofire/Alamofire.git at 5.6.2 (3.25s)
Creating working copy for https://github.com/Alamofire/Alamofire.git
Working copy of https://github.com/Alamofire/Alamofire.git resolved at 5.6.2
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "apexy-ios",
      "name": "Apexy",
      "url": "https://github.com/RedMadRobot/apexy-ios.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/apexy-ios",
      "dependencies": [
        {
          "identity": "alamofire",
          "name": "Alamofire",
          "url": "https://github.com/Alamofire/Alamofire.git",
          "version": "5.10.2",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Alamofire",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/RedMadRobot/apexy-ios.git
[1/1714] Fetching apexy-ios
Fetched https://github.com/RedMadRobot/apexy-ios.git from cache (1.04s)
Fetching https://github.com/Alamofire/Alamofire.git from cache
Fetched https://github.com/Alamofire/Alamofire.git from cache (0.61s)
Computing version for https://github.com/Alamofire/Alamofire.git
Computed https://github.com/Alamofire/Alamofire.git at 5.10.2 (1.15s)
Creating working copy for https://github.com/RedMadRobot/apexy-ios.git
Working copy of https://github.com/RedMadRobot/apexy-ios.git resolved at 1.7.4 (c7d75f8)
Creating working copy for https://github.com/Alamofire/Alamofire.git
Working copy of https://github.com/Alamofire/Alamofire.git resolved at 5.10.2
warning: '.resolve-product-dependencies': dependency 'apexy-ios' is not used by any target
Found 1 product dependencies
  - Alamofire
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/RedMadRobot/apexy-ios.git
https://github.com/RedMadRobot/apexy-ios.git
{
  "dependencies" : [
    {
      "identity" : "alamofire",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.2.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Alamofire/Alamofire.git"
    }
  ],
  "manifest_display_name" : "Apexy",
  "name" : "Apexy",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "Apexy",
      "targets" : [
        "ApexyURLSession"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ApexyAlamofire",
      "targets" : [
        "ApexyAlamofire"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ApexyLoader",
      "targets" : [
        "ApexyLoader"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ApexyURLSessionTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyURLSessionTests",
      "path" : "Tests/ApexyURLSessionTests",
      "sources" : [
        "BaseRequestAdapterTests.swift",
        "URLSessionClientTests.swift"
      ],
      "target_dependencies" : [
        "ApexyURLSession"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyURLSession",
      "module_type" : "SwiftTarget",
      "name" : "ApexyURLSession",
      "path" : "Sources/ApexyURLSession",
      "product_memberships" : [
        "Apexy"
      ],
      "sources" : [
        "BaseRequestAdapter.swift",
        "URLSessionClient+Concurrency.swift",
        "URLSessionClient.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ApexyTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyTests",
      "path" : "Tests/ApexyTests",
      "sources" : [
        "HTTPBodyTests.swift",
        "URLRequestBuildableTests.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyLoaderTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyLoaderTests",
      "path" : "Tests/ApexyLoaderTests",
      "sources" : [
        "ContentLoaderTests.swift",
        "LoaderObservationTests.swift",
        "LoadingStateTests.swift"
      ],
      "target_dependencies" : [
        "ApexyLoader"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyLoader",
      "module_type" : "SwiftTarget",
      "name" : "ApexyLoader",
      "path" : "Sources/ApexyLoader",
      "product_memberships" : [
        "ApexyLoader"
      ],
      "sources" : [
        "ContentLoader.swift",
        "LoaderObservation.swift",
        "LoadingState.swift",
        "ObservableLoader.swift",
        "WebLoader.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ApexyAlamofireTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyAlamofireTests",
      "path" : "Tests/ApexyAlamofireTests",
      "sources" : [
        "AlamofireClientCombineTests.swift",
        "AlamofireClientTests.swift",
        "BaseRequestInterceptorTests.swift",
        "Helpers/EmptyEndpoint.swift",
        "Helpers/MockURLProtocol.swift",
        "Helpers/SimpleUploadEndpoint.swift"
      ],
      "target_dependencies" : [
        "ApexyAlamofire"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyAlamofire",
      "module_type" : "SwiftTarget",
      "name" : "ApexyAlamofire",
      "path" : "Sources/ApexyAlamofire",
      "product_dependencies" : [
        "Alamofire"
      ],
      "product_memberships" : [
        "ApexyAlamofire"
      ],
      "sources" : [
        "AlamofireClient+Concurrency.swift",
        "AlamofireClient.swift",
        "BaseRequestInterceptor.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Apexy",
      "module_type" : "SwiftTarget",
      "name" : "Apexy",
      "path" : "Sources/Apexy",
      "product_memberships" : [
        "Apexy",
        "ApexyAlamofire",
        "ApexyLoader"
      ],
      "sources" : [
        "APIResult.swift",
        "Client.swift",
        "Clients/CombineClient.swift",
        "Clients/ConcurrencyClient.swift",
        "Endpoint.swift",
        "HTTPBody.swift",
        "ResponseObserver.swift",
        "URLRequestBuildable.swift",
        "UploadEndpoint.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/6] Write sources
[5/6] Write swift-version-2F0A5646E1D333AE.txt
[7/50] Emitting module Alamofire
[8/53] Compiling Alamofire URLRequest+Alamofire.swift
[9/53] Compiling Alamofire URLSessionConfiguration+Alamofire.swift
[10/53] Compiling Alamofire Validation.swift
[11/53] Compiling Apexy ConcurrencyClient.swift
[12/53] Compiling Apexy HTTPBody.swift
[13/53] Compiling Alamofire ResponseSerialization.swift
[14/53] Compiling Alamofire Result+Alamofire.swift
[15/53] Compiling Alamofire RetryPolicy.swift
[16/53] Compiling Alamofire StringEncoding+Alamofire.swift
[17/53] Compiling Alamofire URLConvertible+URLRequestConvertible.swift
[18/53] Compiling Alamofire URLEncodedFormEncoder.swift
[19/53] Compiling Apexy URLRequestBuildable.swift
[20/53] Compiling Apexy Client.swift
[21/53] Compiling Apexy CombineClient.swift
[22/53] Compiling Apexy UploadEndpoint.swift
[23/53] Compiling Apexy APIResult.swift
[24/53] Emitting module Apexy
[25/53] Compiling Apexy Endpoint.swift
[26/53] Compiling Apexy ResponseObserver.swift
[27/53] Compiling Alamofire CachedResponseHandler.swift
[28/53] Compiling Alamofire Combine.swift
[29/53] Compiling Alamofire Concurrency.swift
[30/53] Compiling Alamofire DispatchQueue+Alamofire.swift
[31/53] Compiling Alamofire ServerTrustEvaluation.swift
[32/53] Compiling Alamofire Session.swift
[33/53] Compiling Alamofire SessionDelegate.swift
[34/53] Compiling Alamofire ParameterEncoder.swift
[35/53] Compiling Alamofire ParameterEncoding.swift
[36/53] Compiling Alamofire Protected.swift
[37/53] Compiling Alamofire RedirectHandler.swift
[38/53] Compiling Alamofire EventMonitor.swift
[39/53] Compiling Alamofire HTTPHeaders.swift
[40/53] Compiling Alamofire HTTPMethod.swift
[41/53] Compiling Alamofire MultipartFormData.swift
[42/53] Compiling Alamofire MultipartUpload.swift
[43/53] Compiling Alamofire NetworkReachabilityManager.swift
[44/53] Compiling Alamofire Notifications.swift
[45/53] Compiling Alamofire OperationQueue+Alamofire.swift
[46/53] Compiling Alamofire AFError.swift
[47/53] Compiling Alamofire Alamofire.swift
[48/53] Compiling Alamofire AlamofireExtended.swift
[49/53] Compiling Alamofire AuthenticationInterceptor.swift
[50/53] Compiling Alamofire Request.swift
[51/53] Compiling Alamofire RequestInterceptor.swift
[52/53] Compiling Alamofire RequestTaskMap.swift
[53/53] Compiling Alamofire Response.swift
[54/67] Compiling ApexyLoader ObservableLoader.swift
[55/67] Emitting module ApexyLoader
[56/67] Compiling ApexyLoader LoadingState.swift
[57/67] Compiling ApexyLoader WebLoader.swift
[58/67] Compiling ApexyLoader LoaderObservation.swift
[59/67] Compiling ApexyLoader ContentLoader.swift
[60/67] Compiling ApexyURLSession URLSessionClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:76:25: warning: capture of 'endpoint' with non-sendable type 'T' in a '@Sendable' closure
 58 |     }
 59 |
 60 |     open func request<T>(
    |                       `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 61 |         _ endpoint: T,
 62 |         completionHandler: @escaping (APIResult<T.Content>) -> Void) -> Progress where T : Endpoint {
    :
 74 |             let result = APIResult<T.Content>(catching: { () throws -> T.Content in
 75 |                 if let httpResponse = response as? HTTPURLResponse {
 76 |                     try endpoint.validate(request, response: httpResponse, data: data)
    |                         `- warning: capture of 'endpoint' with non-sendable type 'T' in a '@Sendable' closure
 77 |                 }
 78 |                 let data = data ?? Data()
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:84:13: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a '@Sendable' closure
  2 | import Foundation
  3 |
  4 | open class URLSessionClient: Client, CombineClient {
    |            `- note: class 'URLSessionClient' does not conform to the 'Sendable' protocol
  5 |
  6 |     let session: URLSession
    :
 82 |                 return try endpoint.content(from: response, with: data)
 83 |             })
 84 |             self.completionQueue.async {
    |             `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a '@Sendable' closure
 85 |                 self.responseObserver?(request, response as? HTTPURLResponse, data, error)
 86 |                 completionHandler(result)
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:86:17: warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
 84 |             self.completionQueue.async {
 85 |                 self.responseObserver?(request, response as? HTTPURLResponse, data, error)
 86 |                 completionHandler(result)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 87 |             }
 88 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:76:25: warning: capture of 'endpoint' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 58 |     }
 59 |
 60 |     open func request<T>(
    |                       `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 61 |         _ endpoint: T,
 62 |         completionHandler: @escaping (APIResult<T.Content>) -> Void) -> Progress where T : Endpoint {
    :
 74 |             let result = APIResult<T.Content>(catching: { () throws -> T.Content in
 75 |                 if let httpResponse = response as? HTTPURLResponse {
 76 |                     try endpoint.validate(request, response: httpResponse, data: data)
    |                         `- warning: capture of 'endpoint' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                 }
 78 |                 let data = data ?? Data()
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:76:43: warning: reference to captured var 'request' in concurrently-executing code; this is an error in the Swift 6 language mode
 74 |             let result = APIResult<T.Content>(catching: { () throws -> T.Content in
 75 |                 if let httpResponse = response as? HTTPURLResponse {
 76 |                     try endpoint.validate(request, response: httpResponse, data: data)
    |                                           `- warning: reference to captured var 'request' in concurrently-executing code; this is an error in the Swift 6 language mode
 77 |                 }
 78 |                 let data = data ?? Data()
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:85:17: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a '@Sendable' closure
  2 | import Foundation
  3 |
  4 | open class URLSessionClient: Client, CombineClient {
    |            `- note: class 'URLSessionClient' does not conform to the 'Sendable' protocol
  5 |
  6 |     let session: URLSession
    :
 83 |             })
 84 |             self.completionQueue.async {
 85 |                 self.responseObserver?(request, response as? HTTPURLResponse, data, error)
    |                 `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a '@Sendable' closure
 86 |                 completionHandler(result)
 87 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:86:17: warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
 84 |             self.completionQueue.async {
 85 |                 self.responseObserver?(request, response as? HTTPURLResponse, data, error)
 86 |                 completionHandler(result)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 87 |             }
 88 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:86:35: warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a '@Sendable' closure
 84 |             self.completionQueue.async {
 85 |                 self.responseObserver?(request, response as? HTTPURLResponse, data, error)
 86 |                 completionHandler(result)
    |                                   `- warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a '@Sendable' closure
 87 |             }
 88 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:85:40: warning: reference to captured var 'request' in concurrently-executing code
 83 |             })
 84 |             self.completionQueue.async {
 85 |                 self.responseObserver?(request, response as? HTTPURLResponse, data, error)
    |                                        `- warning: reference to captured var 'request' in concurrently-executing code
 86 |                 completionHandler(result)
 87 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:121:85: warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
119 |         switch request {
120 |         case (let request, .data(let data)):
121 |             task = session.uploadTask(with: request, from: data, completionHandler: handler)
    |                                                                                     `- warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
122 |         case (let request, .file(let url)):
123 |             task = session.uploadTask(with: request, fromFile: url, completionHandler: handler)
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:123:88: warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
121 |             task = session.uploadTask(with: request, from: data, completionHandler: handler)
122 |         case (let request, .file(let url)):
123 |             task = session.uploadTask(with: request, fromFile: url, completionHandler: handler)
    |                                                                                        `- warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
124 |         case (_, .stream):
125 |             completionHandler(.failure(URLSessionClientError.uploadStreamUnimplemented))
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:113:17: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a '@Sendable' closure
  2 | import Foundation
  3 |
  4 | open class URLSessionClient: Client, CombineClient {
    |            `- note: class 'URLSessionClient' does not conform to the 'Sendable' protocol
  5 |
  6 |     let session: URLSession
    :
111 |             })
112 |             self.completionQueue.async {
113 |                 self.responseObserver?(request.0, response as? HTTPURLResponse, data, error)
    |                 `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a '@Sendable' closure
114 |                 completionHandler(result)
115 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:113:40: warning: capture of 'request' with non-sendable type '(URLRequest, UploadEndpointBody)' in a '@Sendable' closure
111 |             })
112 |             self.completionQueue.async {
113 |                 self.responseObserver?(request.0, response as? HTTPURLResponse, data, error)
    |                                        `- warning: capture of 'request' with non-sendable type '(URLRequest, UploadEndpointBody)' in a '@Sendable' closure
114 |                 completionHandler(result)
115 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Apexy/UploadEndpoint.swift:10:13: note: enum 'UploadEndpointBody' does not conform to the 'Sendable' protocol
 8 |
 9 | /// Type of uploadable content
10 | public enum UploadEndpointBody {
   |             `- note: enum 'UploadEndpointBody' does not conform to the 'Sendable' protocol
11 |     case data(Data)
12 |     case file(URL)
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Apexy'
  1 | import Apexy
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Apexy'
  2 | import Foundation
  3 |
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:114:17: warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
112 |             self.completionQueue.async {
113 |                 self.responseObserver?(request.0, response as? HTTPURLResponse, data, error)
114 |                 completionHandler(result)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
115 |             }
116 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:114:35: warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a '@Sendable' closure
112 |             self.completionQueue.async {
113 |                 self.responseObserver?(request.0, response as? HTTPURLResponse, data, error)
114 |                 completionHandler(result)
    |                                   `- warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a '@Sendable' closure
115 |             }
116 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:113:40: warning: mutation of captured var 'request' in concurrently-executing code
111 |             })
112 |             self.completionQueue.async {
113 |                 self.responseObserver?(request.0, response as? HTTPURLResponse, data, error)
    |                                        `- warning: mutation of captured var 'request' in concurrently-executing code
114 |                 completionHandler(result)
115 |             }
[61/67] Compiling ApexyURLSession BaseRequestAdapter.swift
[62/67] Emitting module ApexyURLSession
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient+Concurrency.swift:25:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
23 |         }
24 |
25 |     open func request<T>(_ endpoint: T) async throws -> T.Content where T : Endpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
26 |
27 |         var request = try endpoint.makeRequest()
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient+Concurrency.swift:56:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
54 |     }
55 |
56 |     open func upload<T>(_ endpoint: T) async throws -> T.Content where T : UploadEndpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
57 |
58 |         var request: (request: URLRequest, body: UploadEndpointBody) = try endpoint.makeRequest()
[63/67] Compiling ApexyURLSession URLSessionClient+Concurrency.swift
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient+Concurrency.swift:25:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
23 |         }
24 |
25 |     open func request<T>(_ endpoint: T) async throws -> T.Content where T : Endpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
26 |
27 |         var request = try endpoint.makeRequest()
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient+Concurrency.swift:56:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
54 |     }
55 |
56 |     open func upload<T>(_ endpoint: T) async throws -> T.Content where T : UploadEndpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
57 |
58 |         var request: (request: URLRequest, body: UploadEndpointBody) = try endpoint.makeRequest()
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient+Concurrency.swift:43:23: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
41 |         }
42 |
43 |         Task.detached { [weak self, request, responseResult] in
   |                       `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
44 |             self?.observeResponse(request: request, responseResult: responseResult)
   |             `- note: closure captures 'self' which is accessible to code in the current task
45 |         }
46 |
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient+Concurrency.swift:78:23: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
76 |         }
77 |
78 |         Task.detached { [weak self, request, responseResult] in
   |                       `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
79 |             self?.observeResponse(request: request.request, responseResult: responseResult)
   |             |                              `- note: closure captures non-Sendable 'request'
   |             `- note: closure captures non-Sendable 'self'
80 |         }
81 |
[64/67] Compiling ApexyAlamofire BaseRequestInterceptor.swift
[65/67] Compiling ApexyAlamofire AlamofireClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:122:25: warning: capture of 'self' with non-sendable type 'AlamofireClient' in a '@Sendable' closure
 11 |
 12 | /// API Client.
 13 | open class AlamofireClient: Client, CombineClient {
    |            `- note: class 'AlamofireClient' does not conform to the 'Sendable' protocol
 14 |
 15 |     /// Session network manager.
    :
120 |
121 |                     self.completionQueue.async {
122 |                         self.responseObserver?(response.request, response.response, response.data, result.error)
    |                         `- warning: capture of 'self' with non-sendable type 'AlamofireClient' in a '@Sendable' closure
123 |                         completionHandler(result)
124 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:122:48: warning: capture of 'response' with non-sendable type 'DataResponse<Data, AFError>' in a '@Sendable' closure
120 |
121 |                     self.completionQueue.async {
122 |                         self.responseObserver?(response.request, response.response, response.data, result.error)
    |                                                `- warning: capture of 'response' with non-sendable type 'DataResponse<Data, AFError>' in a '@Sendable' closure
123 |                         completionHandler(result)
124 |                     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Alamofire/Source/Response.swift:33:15: note: generic struct 'DataResponse' does not conform to the 'Sendable' protocol
 31 |
 32 | /// Type used to store all values associated with a serialized response of a `DataRequest` or `UploadRequest`.
 33 | public struct DataResponse<Success, Failure: Error> {
    |               `- note: generic struct 'DataResponse' does not conform to the 'Sendable' protocol
 34 |     /// The URL request sent to the server.
 35 |     public let request: URLRequest?
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Alamofire'
  6 | //
  7 |
  8 | import Alamofire
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Alamofire'
  9 | import Apexy
 10 | import Foundation
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:122:100: warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a '@Sendable' closure
120 |
121 |                     self.completionQueue.async {
122 |                         self.responseObserver?(response.request, response.response, response.data, result.error)
    |                                                                                                    `- warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a '@Sendable' closure
123 |                         completionHandler(result)
124 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:123:25: warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
121 |                     self.completionQueue.async {
122 |                         self.responseObserver?(response.request, response.response, response.data, result.error)
123 |                         completionHandler(result)
    |                         |- warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
124 |                     }
125 |             })
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:128:60: warning: capture of 'request' with non-sendable type 'DataRequest?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 |
127 |         let progress = request.downloadProgress
128 |         progress.cancellationHandler = { [weak request] in request?.cancel() }
    |                                                            `- warning: capture of 'request' with non-sendable type 'DataRequest?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 |         return progress
130 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Alamofire/Source/Request.swift:1084:14: note: class 'DataRequest' does not conform to the 'Sendable' protocol
1082 |
1083 | /// `Request` subclass which handles in-memory `Data` download using `URLSessionDataTask`.
1084 | public class DataRequest: Request {
     |              `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
1085 |     /// `URLRequestConvertible` value used to create `URLRequest`s for this instance.
1086 |     public let convertible: URLRequestConvertible
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:172:21: warning: capture of 'self' with non-sendable type 'AlamofireClient' in a '@Sendable' closure
 11 |
 12 | /// API Client.
 13 | open class AlamofireClient: Client, CombineClient {
    |            `- note: class 'AlamofireClient' does not conform to the 'Sendable' protocol
 14 |
 15 |     /// Session network manager.
    :
170 |
171 |                 self.completionQueue.async {
172 |                     self.responseObserver?(response.request, response.response, response.data, result.error)
    |                     `- warning: capture of 'self' with non-sendable type 'AlamofireClient' in a '@Sendable' closure
173 |                     completionHandler(result)
174 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:172:44: warning: capture of 'response' with non-sendable type 'DataResponse<Data, AFError>' in a '@Sendable' closure
170 |
171 |                 self.completionQueue.async {
172 |                     self.responseObserver?(response.request, response.response, response.data, result.error)
    |                                            `- warning: capture of 'response' with non-sendable type 'DataResponse<Data, AFError>' in a '@Sendable' closure
173 |                     completionHandler(result)
174 |                 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Alamofire/Source/Response.swift:33:15: note: generic struct 'DataResponse' does not conform to the 'Sendable' protocol
 31 |
 32 | /// Type used to store all values associated with a serialized response of a `DataRequest` or `UploadRequest`.
 33 | public struct DataResponse<Success, Failure: Error> {
    |               `- note: generic struct 'DataResponse' does not conform to the 'Sendable' protocol
 34 |     /// The URL request sent to the server.
 35 |     public let request: URLRequest?
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:172:96: warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a '@Sendable' closure
170 |
171 |                 self.completionQueue.async {
172 |                     self.responseObserver?(response.request, response.response, response.data, result.error)
    |                                                                                                `- warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a '@Sendable' closure
173 |                     completionHandler(result)
174 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:173:21: warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
171 |                 self.completionQueue.async {
172 |                     self.responseObserver?(response.request, response.response, response.data, result.error)
173 |                     completionHandler(result)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
174 |                 }
175 |             })
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:178:60: warning: capture of 'request' with non-sendable type 'UploadRequest?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
176 |
177 |         let progress = request.uploadProgress
178 |         progress.cancellationHandler = { [weak request] in request?.cancel() }
    |                                                            `- warning: capture of 'request' with non-sendable type 'UploadRequest?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
179 |         return progress
180 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Alamofire/Source/Request.swift:1766:14: note: class 'UploadRequest' does not conform to the 'Sendable' protocol
1764 |
1765 | /// `DataRequest` subclass which handles `Data` upload from memory, file, or stream using `URLSessionUploadTask`.
1766 | public class UploadRequest: DataRequest {
     |              `- note: class 'UploadRequest' does not conform to the 'Sendable' protocol
1767 |     /// Type describing the origin of the upload, whether `Data`, file, or stream.
1768 |     public enum Uploadable {
[66/67] Emitting module ApexyAlamofire
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient+Concurrency.swift:25:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
23 |         }
24 |
25 |     open func request<T>(_ endpoint: T) async throws -> T.Content where T : Endpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
26 |
27 |         let anyRequest = AnyRequest(create: endpoint.makeRequest)
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient+Concurrency.swift:50:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
48 |     }
49 |
50 |     open func upload<T>(_ endpoint: T) async throws -> T.Content where T : UploadEndpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
51 |
52 |         let urlRequest: URLRequest
[67/67] Compiling ApexyAlamofire AlamofireClient+Concurrency.swift
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient+Concurrency.swift:25:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
23 |         }
24 |
25 |     open func request<T>(_ endpoint: T) async throws -> T.Content where T : Endpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
26 |
27 |         let anyRequest = AnyRequest(create: endpoint.makeRequest)
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient+Concurrency.swift:50:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
48 |     }
49 |
50 |     open func upload<T>(_ endpoint: T) async throws -> T.Content where T : UploadEndpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
51 |
52 |         let urlRequest: URLRequest
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient+Concurrency.swift:43:23: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
41 |         })
42 |
43 |         Task.detached { [weak self, dataResponse, result] in
   |                       `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
44 |             self?.observeResponse(dataResponse: dataResponse, error: result.error)
   |             |                                   |                    `- note: closure captures non-Sendable 'result'
   |             |                                   `- note: closure captures non-Sendable 'dataResponse'
   |             `- note: closure captures non-Sendable 'self'
45 |         }
46 |
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient+Concurrency.swift:76:23: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
74 |         })
75 |
76 |         Task.detached { [weak self, dataResponse, result] in
   |                       `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
77 |             self?.observeResponse(dataResponse: dataResponse, error: result.error)
   |             |                                   |                    `- note: closure captures non-Sendable 'result'
   |             |                                   `- note: closure captures non-Sendable 'dataResponse'
   |             `- note: closure captures non-Sendable 'self'
78 |         }
79 |
Build complete! (8.18s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "alamofire",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.2.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Alamofire/Alamofire.git"
    }
  ],
  "manifest_display_name" : "Apexy",
  "name" : "Apexy",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "Apexy",
      "targets" : [
        "ApexyURLSession"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ApexyAlamofire",
      "targets" : [
        "ApexyAlamofire"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ApexyLoader",
      "targets" : [
        "ApexyLoader"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ApexyURLSessionTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyURLSessionTests",
      "path" : "Tests/ApexyURLSessionTests",
      "sources" : [
        "BaseRequestAdapterTests.swift",
        "URLSessionClientTests.swift"
      ],
      "target_dependencies" : [
        "ApexyURLSession"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyURLSession",
      "module_type" : "SwiftTarget",
      "name" : "ApexyURLSession",
      "path" : "Sources/ApexyURLSession",
      "product_memberships" : [
        "Apexy"
      ],
      "sources" : [
        "BaseRequestAdapter.swift",
        "URLSessionClient+Concurrency.swift",
        "URLSessionClient.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ApexyTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyTests",
      "path" : "Tests/ApexyTests",
      "sources" : [
        "HTTPBodyTests.swift",
        "URLRequestBuildableTests.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyLoaderTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyLoaderTests",
      "path" : "Tests/ApexyLoaderTests",
      "sources" : [
        "ContentLoaderTests.swift",
        "LoaderObservationTests.swift",
        "LoadingStateTests.swift"
      ],
      "target_dependencies" : [
        "ApexyLoader"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyLoader",
      "module_type" : "SwiftTarget",
      "name" : "ApexyLoader",
      "path" : "Sources/ApexyLoader",
      "product_memberships" : [
        "ApexyLoader"
      ],
      "sources" : [
        "ContentLoader.swift",
        "LoaderObservation.swift",
        "LoadingState.swift",
        "ObservableLoader.swift",
        "WebLoader.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ApexyAlamofireTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyAlamofireTests",
      "path" : "Tests/ApexyAlamofireTests",
      "sources" : [
        "AlamofireClientCombineTests.swift",
        "AlamofireClientTests.swift",
        "BaseRequestInterceptorTests.swift",
        "Helpers/EmptyEndpoint.swift",
        "Helpers/MockURLProtocol.swift",
        "Helpers/SimpleUploadEndpoint.swift"
      ],
      "target_dependencies" : [
        "ApexyAlamofire"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyAlamofire",
      "module_type" : "SwiftTarget",
      "name" : "ApexyAlamofire",
      "path" : "Sources/ApexyAlamofire",
      "product_dependencies" : [
        "Alamofire"
      ],
      "product_memberships" : [
        "ApexyAlamofire"
      ],
      "sources" : [
        "AlamofireClient+Concurrency.swift",
        "AlamofireClient.swift",
        "BaseRequestInterceptor.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Apexy",
      "module_type" : "SwiftTarget",
      "name" : "Apexy",
      "path" : "Sources/Apexy",
      "product_memberships" : [
        "Apexy",
        "ApexyAlamofire",
        "ApexyLoader"
      ],
      "sources" : [
        "APIResult.swift",
        "Client.swift",
        "Clients/CombineClient.swift",
        "Clients/ConcurrencyClient.swift",
        "Endpoint.swift",
        "HTTPBody.swift",
        "ResponseObserver.swift",
        "URLRequestBuildable.swift",
        "UploadEndpoint.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Done.