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

Failed to build ApiKit, reference 1.0.1 (a14297), with Swift 6.1 for Linux on 29 Apr 2025 16:59:58 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/danielsaidi/ApiKit.git
Reference: 1.0.1
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/danielsaidi/ApiKit
 * tag               1.0.1      -> FETCH_HEAD
HEAD is now at a14297e Add localized description to error
Cloned https://github.com/danielsaidi/ApiKit.git
Revision (git rev-parse @):
a14297ebb3496a5e1d9f3d7a21e5c2df229e1825
SUCCESS checkout https://github.com/danielsaidi/ApiKit.git at 1.0.1
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/danielsaidi/ApiKit.git
https://github.com/danielsaidi/ApiKit.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "ApiKit",
  "name" : "ApiKit",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "ApiKit",
      "targets" : [
        "ApiKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ApiKitTests",
      "module_type" : "SwiftTarget",
      "name" : "ApiKitTests",
      "path" : "Tests/ApiKitTests",
      "sources" : [
        "ApiClientTests.swift",
        "ApiEnvironmentTests.swift",
        "ApiRequestDataTests.swift",
        "ApiRouteTests.swift",
        "Extensions/Int+HttpStatusCodesTests.swift",
        "HttpMethodTests.swift",
        "TestTypes.swift"
      ],
      "target_dependencies" : [
        "ApiKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApiKit",
      "module_type" : "SwiftTarget",
      "name" : "ApiKit",
      "path" : "Sources/ApiKit",
      "product_memberships" : [
        "ApiKit"
      ],
      "sources" : [
        "ApiClient.swift",
        "ApiEnvironment.swift",
        "ApiError.swift",
        "ApiModel.swift",
        "ApiRequest.swift",
        "ApiResult.swift",
        "ApiRoute.swift",
        "Extensions/Int+HttpStatusCodes.swift",
        "Extensions/String+UrlEncode.swift",
        "Http/HttpMethod.swift",
        "Integrations/TheMovieDb/TheMovieDb+Environment.swift",
        "Integrations/TheMovieDb/TheMovieDb+Models.swift",
        "Integrations/TheMovieDb/TheMovieDb+Route.swift",
        "Integrations/TheMovieDb/TheMovieDb.swift",
        "Integrations/Yelp/Yelp+Environment.swift",
        "Integrations/Yelp/Yelp+Models.swift",
        "Integrations/Yelp/Yelp+Route.swift",
        "Integrations/Yelp/Yelp.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/19] Emitting module ApiKit
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:27:22: error: cannot find type 'URLRequest' in scope
25 |     /// Fetch data with the provided `URLRequest`.
26 |     func data(
27 |         for request: URLRequest
   |                      `- error: cannot find type 'URLRequest' in scope
28 |     ) async throws -> (Data, URLResponse)
29 | }
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:28:30: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
26 |     func data(
27 |         for request: URLRequest
28 |     ) async throws -> (Data, URLResponse)
   |                              `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
29 | }
30 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:31:1: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
29 | }
30 |
31 | extension URLSession: ApiClient {}
   | `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
32 |
33 | public extension ApiClient {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:78:18: error: cannot find type 'URLRequest' in scope
76 |     /// Validate the provided request, response and data.
77 |     func validate(
78 |         request: URLRequest,
   |                  `- error: cannot find type 'URLRequest' in scope
79 |         response: URLResponse,
80 |         data: Data
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:79:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
77 |     func validate(
78 |         request: URLRequest,
79 |         response: URLResponse,
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:37: error: cannot find type 'URLRequest' in scope
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     `- error: cannot find type 'URLRequest' in scope
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:49: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                 `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
22 |
23 |     /// This error should be thrown when a `URLRequest` will
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:42: error: cannot find type 'URLRequest' in scope
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          `- error: cannot find type 'URLRequest' in scope
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:54: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                      `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
35 | }
36 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:10: error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:10: error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:13:13: error: type 'ApiError' does not conform to protocol 'Equatable'
11 | /// This enum defines api-specific errors that can be thrown
12 | /// when an ``ApiClient`` communicates with any external API.
13 | public enum ApiError: Error, Equatable, LocalizedError {
   |             |- error: type 'ApiError' does not conform to protocol 'Equatable'
   |             `- note: add stubs for conformance
14 |
15 |     /// This error should be thrown when an ``ApiEnvironment``
   :
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                     `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
22 |
23 |     /// This error should be thrown when a `URLRequest` will
   :
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                          `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
35 | }
36 |
Swift.==:1:24: note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'ApiError' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'ApiError' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'ApiError' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'ApiError' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'ApiError' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
3 |
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:16:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 |     public init(
15 |         data: Data,
16 |         response: URLResponse
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
17 |     ) {
18 |         self.data = data
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:23:26: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
21 |
22 |     public var data: Data
23 |     public var response: URLResponse
   |                          `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
24 | }
25 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:69:56: error: cannot find type 'URLRequest' in scope
 67 |
 68 |     /// Get a `URLRequest` for the route and its properties.
 69 |     func urlRequest(for env: ApiEnvironment) throws -> URLRequest {
    |                                                        `- error: cannot find type 'URLRequest' in scope
 70 |         guard let envUrl = URL(string: env.url) else { throw ApiError.invalidEnvironmentUrl(env.url) }
 71 |         let routeUrl = envUrl.appendingPathComponent(path)
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:90:52: error: cannot find type 'URLRequest' in scope
 88 |
 89 |     /// Get a `URLRequest` for a certain ``ApiRoute``.
 90 |     func urlRequest(for route: ApiRoute) throws -> URLRequest {
    |                                                    `- error: cannot find type 'URLRequest' in scope
 91 |         try route.urlRequest(for: self)
 92 |     }
[4/21] Compiling ApiKit Yelp+Route.swift
[5/21] Compiling ApiKit Yelp.swift
[6/21] Compiling ApiKit Yelp+Environment.swift
[7/21] Compiling ApiKit Yelp+Models.swift
[8/21] Compiling ApiKit ApiClient.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:27:22: error: cannot find type 'URLRequest' in scope
25 |     /// Fetch data with the provided `URLRequest`.
26 |     func data(
27 |         for request: URLRequest
   |                      `- error: cannot find type 'URLRequest' in scope
28 |     ) async throws -> (Data, URLResponse)
29 | }
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:28:30: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
26 |     func data(
27 |         for request: URLRequest
28 |     ) async throws -> (Data, URLResponse)
   |                              `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
29 | }
30 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:31:1: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
29 | }
30 |
31 | extension URLSession: ApiClient {}
   | `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
32 |
33 | public extension ApiClient {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:78:18: error: cannot find type 'URLRequest' in scope
76 |     /// Validate the provided request, response and data.
77 |     func validate(
78 |         request: URLRequest,
   |                  `- error: cannot find type 'URLRequest' in scope
79 |         response: URLResponse,
80 |         data: Data
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:79:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
77 |     func validate(
78 |         request: URLRequest,
79 |         response: URLResponse,
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:69:56: error: cannot find type 'URLRequest' in scope
 67 |
 68 |     /// Get a `URLRequest` for the route and its properties.
 69 |     func urlRequest(for env: ApiEnvironment) throws -> URLRequest {
    |                                                        `- error: cannot find type 'URLRequest' in scope
 70 |         guard let envUrl = URL(string: env.url) else { throw ApiError.invalidEnvironmentUrl(env.url) }
 71 |         let routeUrl = envUrl.appendingPathComponent(path)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:52:46: error: missing argument for parameter 'in' in call
45 |
46 |     /// Request a raw ``ApiResult`` for the provided route.
47 |     func request(
   |          `- note: 'request(_:in:)' declared here
48 |         _ route: ApiRoute,
49 |         in environment: ApiEnvironment
50 |     ) async throws -> ApiResult {
51 |         let request = try route.urlRequest(for: environment)
52 |         return try await self.request(request)
   |                                              `- error: missing argument for parameter 'in' in call
53 |     }
54 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:60:52: error: missing argument for parameter 'in' in call
45 |
46 |     /// Request a raw ``ApiResult`` for the provided route.
47 |     func request(
   |          `- note: 'request(_:in:)' declared here
48 |         _ route: ApiRoute,
49 |         in environment: ApiEnvironment
   :
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
60 |         let result = try await self.request(request)
   |                                                    `- error: missing argument for parameter 'in' in call
61 |         let data = result.data
62 |         let decoder = decoder ?? JSONDecoder()
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:20: error: cannot convert return expression of type 'ApiResult' to return type 'T'
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                    `- error: cannot convert return expression of type 'ApiResult' to return type 'T'
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:38: error: incorrect argument labels in call (have 'with:decoder:', expected '_:in:')
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                                      `- error: incorrect argument labels in call (have 'with:decoder:', expected '_:in:')
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:63: error: argument type 'JSONDecoder?' does not conform to expected type 'ApiEnvironment'
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                                                               `- error: argument type 'JSONDecoder?' does not conform to expected type 'ApiEnvironment'
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:82:43: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
80 |         data: Data
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
   |                                           `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
83 |         let statusCode = httpResponse.statusCode
84 |         guard statusCode.isValidHttpStatusCode else {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:82:47: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
   |                                               `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
83 |         let statusCode = httpResponse.statusCode
84 |         guard statusCode.isValidHttpStatusCode else {
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:83:39: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
83 |         let statusCode = httpResponse.statusCode
   |                                       `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
84 |         guard statusCode.isValidHttpStatusCode else {
85 |             throw ApiError.invalidHttpStatusCode(statusCode, request, response, data)
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:37: error: cannot find type 'URLRequest' in scope
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     `- error: cannot find type 'URLRequest' in scope
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:42: error: cannot find type 'URLRequest' in scope
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          `- error: cannot find type 'URLRequest' in scope
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:49: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                 `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
22 |
23 |     /// This error should be thrown when a `URLRequest` will
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:54: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                      `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
35 | }
36 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:10: error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:10: error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:13:13: error: type 'ApiError' does not conform to protocol 'Equatable'
11 | /// This enum defines api-specific errors that can be thrown
12 | /// when an ``ApiClient`` communicates with any external API.
13 | public enum ApiError: Error, Equatable, LocalizedError {
   |             |- error: type 'ApiError' does not conform to protocol 'Equatable'
   |             `- note: add stubs for conformance
14 |
15 |     /// This error should be thrown when an ``ApiEnvironment``
   :
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                     `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
22 |
23 |     /// This error should be thrown when a `URLRequest` will
   :
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                          `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
35 | }
36 |
Swift.==:1:24: note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'ApiError' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'ApiError' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'ApiError' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'ApiError' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'ApiError' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
3 |
[9/21] Compiling ApiKit ApiEnvironment.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:27:22: error: cannot find type 'URLRequest' in scope
25 |     /// Fetch data with the provided `URLRequest`.
26 |     func data(
27 |         for request: URLRequest
   |                      `- error: cannot find type 'URLRequest' in scope
28 |     ) async throws -> (Data, URLResponse)
29 | }
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:28:30: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
26 |     func data(
27 |         for request: URLRequest
28 |     ) async throws -> (Data, URLResponse)
   |                              `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
29 | }
30 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:31:1: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
29 | }
30 |
31 | extension URLSession: ApiClient {}
   | `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
32 |
33 | public extension ApiClient {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:78:18: error: cannot find type 'URLRequest' in scope
76 |     /// Validate the provided request, response and data.
77 |     func validate(
78 |         request: URLRequest,
   |                  `- error: cannot find type 'URLRequest' in scope
79 |         response: URLResponse,
80 |         data: Data
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:79:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
77 |     func validate(
78 |         request: URLRequest,
79 |         response: URLResponse,
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:69:56: error: cannot find type 'URLRequest' in scope
 67 |
 68 |     /// Get a `URLRequest` for the route and its properties.
 69 |     func urlRequest(for env: ApiEnvironment) throws -> URLRequest {
    |                                                        `- error: cannot find type 'URLRequest' in scope
 70 |         guard let envUrl = URL(string: env.url) else { throw ApiError.invalidEnvironmentUrl(env.url) }
 71 |         let routeUrl = envUrl.appendingPathComponent(path)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:52:46: error: missing argument for parameter 'in' in call
45 |
46 |     /// Request a raw ``ApiResult`` for the provided route.
47 |     func request(
   |          `- note: 'request(_:in:)' declared here
48 |         _ route: ApiRoute,
49 |         in environment: ApiEnvironment
50 |     ) async throws -> ApiResult {
51 |         let request = try route.urlRequest(for: environment)
52 |         return try await self.request(request)
   |                                              `- error: missing argument for parameter 'in' in call
53 |     }
54 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:60:52: error: missing argument for parameter 'in' in call
45 |
46 |     /// Request a raw ``ApiResult`` for the provided route.
47 |     func request(
   |          `- note: 'request(_:in:)' declared here
48 |         _ route: ApiRoute,
49 |         in environment: ApiEnvironment
   :
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
60 |         let result = try await self.request(request)
   |                                                    `- error: missing argument for parameter 'in' in call
61 |         let data = result.data
62 |         let decoder = decoder ?? JSONDecoder()
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:20: error: cannot convert return expression of type 'ApiResult' to return type 'T'
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                    `- error: cannot convert return expression of type 'ApiResult' to return type 'T'
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:38: error: incorrect argument labels in call (have 'with:decoder:', expected '_:in:')
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                                      `- error: incorrect argument labels in call (have 'with:decoder:', expected '_:in:')
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:63: error: argument type 'JSONDecoder?' does not conform to expected type 'ApiEnvironment'
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                                                               `- error: argument type 'JSONDecoder?' does not conform to expected type 'ApiEnvironment'
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:82:43: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
80 |         data: Data
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
   |                                           `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
83 |         let statusCode = httpResponse.statusCode
84 |         guard statusCode.isValidHttpStatusCode else {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:82:47: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
   |                                               `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
83 |         let statusCode = httpResponse.statusCode
84 |         guard statusCode.isValidHttpStatusCode else {
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:83:39: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
83 |         let statusCode = httpResponse.statusCode
   |                                       `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
84 |         guard statusCode.isValidHttpStatusCode else {
85 |             throw ApiError.invalidHttpStatusCode(statusCode, request, response, data)
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:37: error: cannot find type 'URLRequest' in scope
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     `- error: cannot find type 'URLRequest' in scope
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:42: error: cannot find type 'URLRequest' in scope
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          `- error: cannot find type 'URLRequest' in scope
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:49: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                 `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
22 |
23 |     /// This error should be thrown when a `URLRequest` will
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:54: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                      `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
35 | }
36 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:10: error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:10: error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:13:13: error: type 'ApiError' does not conform to protocol 'Equatable'
11 | /// This enum defines api-specific errors that can be thrown
12 | /// when an ``ApiClient`` communicates with any external API.
13 | public enum ApiError: Error, Equatable, LocalizedError {
   |             |- error: type 'ApiError' does not conform to protocol 'Equatable'
   |             `- note: add stubs for conformance
14 |
15 |     /// This error should be thrown when an ``ApiEnvironment``
   :
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                     `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
22 |
23 |     /// This error should be thrown when a `URLRequest` will
   :
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                          `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
35 | }
36 |
Swift.==:1:24: note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'ApiError' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'ApiError' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'ApiError' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'ApiError' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'ApiError' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
3 |
[10/21] Compiling ApiKit ApiError.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:27:22: error: cannot find type 'URLRequest' in scope
25 |     /// Fetch data with the provided `URLRequest`.
26 |     func data(
27 |         for request: URLRequest
   |                      `- error: cannot find type 'URLRequest' in scope
28 |     ) async throws -> (Data, URLResponse)
29 | }
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:28:30: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
26 |     func data(
27 |         for request: URLRequest
28 |     ) async throws -> (Data, URLResponse)
   |                              `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
29 | }
30 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:31:1: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
29 | }
30 |
31 | extension URLSession: ApiClient {}
   | `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
32 |
33 | public extension ApiClient {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:78:18: error: cannot find type 'URLRequest' in scope
76 |     /// Validate the provided request, response and data.
77 |     func validate(
78 |         request: URLRequest,
   |                  `- error: cannot find type 'URLRequest' in scope
79 |         response: URLResponse,
80 |         data: Data
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:79:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
77 |     func validate(
78 |         request: URLRequest,
79 |         response: URLResponse,
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:69:56: error: cannot find type 'URLRequest' in scope
 67 |
 68 |     /// Get a `URLRequest` for the route and its properties.
 69 |     func urlRequest(for env: ApiEnvironment) throws -> URLRequest {
    |                                                        `- error: cannot find type 'URLRequest' in scope
 70 |         guard let envUrl = URL(string: env.url) else { throw ApiError.invalidEnvironmentUrl(env.url) }
 71 |         let routeUrl = envUrl.appendingPathComponent(path)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:52:46: error: missing argument for parameter 'in' in call
45 |
46 |     /// Request a raw ``ApiResult`` for the provided route.
47 |     func request(
   |          `- note: 'request(_:in:)' declared here
48 |         _ route: ApiRoute,
49 |         in environment: ApiEnvironment
50 |     ) async throws -> ApiResult {
51 |         let request = try route.urlRequest(for: environment)
52 |         return try await self.request(request)
   |                                              `- error: missing argument for parameter 'in' in call
53 |     }
54 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:60:52: error: missing argument for parameter 'in' in call
45 |
46 |     /// Request a raw ``ApiResult`` for the provided route.
47 |     func request(
   |          `- note: 'request(_:in:)' declared here
48 |         _ route: ApiRoute,
49 |         in environment: ApiEnvironment
   :
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
60 |         let result = try await self.request(request)
   |                                                    `- error: missing argument for parameter 'in' in call
61 |         let data = result.data
62 |         let decoder = decoder ?? JSONDecoder()
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:20: error: cannot convert return expression of type 'ApiResult' to return type 'T'
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                    `- error: cannot convert return expression of type 'ApiResult' to return type 'T'
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:38: error: incorrect argument labels in call (have 'with:decoder:', expected '_:in:')
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                                      `- error: incorrect argument labels in call (have 'with:decoder:', expected '_:in:')
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:63: error: argument type 'JSONDecoder?' does not conform to expected type 'ApiEnvironment'
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                                                               `- error: argument type 'JSONDecoder?' does not conform to expected type 'ApiEnvironment'
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:82:43: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
80 |         data: Data
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
   |                                           `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
83 |         let statusCode = httpResponse.statusCode
84 |         guard statusCode.isValidHttpStatusCode else {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:82:47: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
   |                                               `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
83 |         let statusCode = httpResponse.statusCode
84 |         guard statusCode.isValidHttpStatusCode else {
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:83:39: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
83 |         let statusCode = httpResponse.statusCode
   |                                       `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
84 |         guard statusCode.isValidHttpStatusCode else {
85 |             throw ApiError.invalidHttpStatusCode(statusCode, request, response, data)
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:37: error: cannot find type 'URLRequest' in scope
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     `- error: cannot find type 'URLRequest' in scope
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:42: error: cannot find type 'URLRequest' in scope
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          `- error: cannot find type 'URLRequest' in scope
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:49: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                 `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
22 |
23 |     /// This error should be thrown when a `URLRequest` will
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:54: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                      `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
35 | }
36 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:10: error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:10: error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:13:13: error: type 'ApiError' does not conform to protocol 'Equatable'
11 | /// This enum defines api-specific errors that can be thrown
12 | /// when an ``ApiClient`` communicates with any external API.
13 | public enum ApiError: Error, Equatable, LocalizedError {
   |             |- error: type 'ApiError' does not conform to protocol 'Equatable'
   |             `- note: add stubs for conformance
14 |
15 |     /// This error should be thrown when an ``ApiEnvironment``
   :
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                     `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
22 |
23 |     /// This error should be thrown when a `URLRequest` will
   :
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                          `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
35 | }
36 |
Swift.==:1:24: note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'ApiError' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'ApiError' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'ApiError' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'ApiError' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'ApiError' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
3 |
[11/21] Compiling ApiKit String+UrlEncode.swift
[12/21] Compiling ApiKit HttpMethod.swift
[13/21] Compiling ApiKit TheMovieDb+Environment.swift
[14/21] Compiling ApiKit TheMovieDb+Models.swift
[15/21] Compiling ApiKit TheMovieDb+Route.swift
[16/21] Compiling ApiKit TheMovieDb.swift
[17/21] Compiling ApiKit ApiRoute.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:69:56: error: cannot find type 'URLRequest' in scope
 67 |
 68 |     /// Get a `URLRequest` for the route and its properties.
 69 |     func urlRequest(for env: ApiEnvironment) throws -> URLRequest {
    |                                                        `- error: cannot find type 'URLRequest' in scope
 70 |         guard let envUrl = URL(string: env.url) else { throw ApiError.invalidEnvironmentUrl(env.url) }
 71 |         let routeUrl = envUrl.appendingPathComponent(path)
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:90:52: error: cannot find type 'URLRequest' in scope
 88 |
 89 |     /// Get a `URLRequest` for a certain ``ApiRoute``.
 90 |     func urlRequest(for route: ApiRoute) throws -> URLRequest {
    |                                                    `- error: cannot find type 'URLRequest' in scope
 91 |         try route.urlRequest(for: self)
 92 |     }
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:75:23: error: cannot find 'URLRequest' in scope
 73 |         components.queryItems = queryItems(for: env)
 74 |         guard let requestUrl = components.url else { throw ApiError.noUrlInComponents(components) }
 75 |         var request = URLRequest(url: requestUrl)
    |                       `- error: cannot find 'URLRequest' in scope
 76 |         let formData = encodedFormData
 77 |         request.allHTTPHeaderFields = headers(for: env)
[18/21] Compiling ApiKit Int+HttpStatusCodes.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:69:56: error: cannot find type 'URLRequest' in scope
 67 |
 68 |     /// Get a `URLRequest` for the route and its properties.
 69 |     func urlRequest(for env: ApiEnvironment) throws -> URLRequest {
    |                                                        `- error: cannot find type 'URLRequest' in scope
 70 |         guard let envUrl = URL(string: env.url) else { throw ApiError.invalidEnvironmentUrl(env.url) }
 71 |         let routeUrl = envUrl.appendingPathComponent(path)
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:90:52: error: cannot find type 'URLRequest' in scope
 88 |
 89 |     /// Get a `URLRequest` for a certain ``ApiRoute``.
 90 |     func urlRequest(for route: ApiRoute) throws -> URLRequest {
    |                                                    `- error: cannot find type 'URLRequest' in scope
 91 |         try route.urlRequest(for: self)
 92 |     }
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:75:23: error: cannot find 'URLRequest' in scope
 73 |         components.queryItems = queryItems(for: env)
 74 |         guard let requestUrl = components.url else { throw ApiError.noUrlInComponents(components) }
 75 |         var request = URLRequest(url: requestUrl)
    |                       `- error: cannot find 'URLRequest' in scope
 76 |         let formData = encodedFormData
 77 |         request.allHTTPHeaderFields = headers(for: env)
[19/21] Compiling ApiKit ApiModel.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:16:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 |     public init(
15 |         data: Data,
16 |         response: URLResponse
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
17 |     ) {
18 |         self.data = data
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:23:26: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
21 |
22 |     public var data: Data
23 |     public var response: URLResponse
   |                          `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
24 | }
25 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
[20/21] Compiling ApiKit ApiRequest.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:16:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 |     public init(
15 |         data: Data,
16 |         response: URLResponse
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
17 |     ) {
18 |         self.data = data
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:23:26: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
21 |
22 |     public var data: Data
23 |     public var response: URLResponse
   |                          `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
24 | }
25 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
[21/21] Compiling ApiKit ApiResult.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:16:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 |     public init(
15 |         data: Data,
16 |         response: URLResponse
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
17 |     ) {
18 |         self.data = data
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:23:26: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
21 |
22 |     public var data: Data
23 |     public var response: URLResponse
   |                          `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
24 | }
25 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/18] Emitting module ApiKit
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:27:22: error: cannot find type 'URLRequest' in scope
25 |     /// Fetch data with the provided `URLRequest`.
26 |     func data(
27 |         for request: URLRequest
   |                      `- error: cannot find type 'URLRequest' in scope
28 |     ) async throws -> (Data, URLResponse)
29 | }
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:28:30: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
26 |     func data(
27 |         for request: URLRequest
28 |     ) async throws -> (Data, URLResponse)
   |                              `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
29 | }
30 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:31:1: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
29 | }
30 |
31 | extension URLSession: ApiClient {}
   | `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
32 |
33 | public extension ApiClient {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:78:18: error: cannot find type 'URLRequest' in scope
76 |     /// Validate the provided request, response and data.
77 |     func validate(
78 |         request: URLRequest,
   |                  `- error: cannot find type 'URLRequest' in scope
79 |         response: URLResponse,
80 |         data: Data
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:79:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
77 |     func validate(
78 |         request: URLRequest,
79 |         response: URLResponse,
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:37: error: cannot find type 'URLRequest' in scope
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     `- error: cannot find type 'URLRequest' in scope
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:49: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                 `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
22 |
23 |     /// This error should be thrown when a `URLRequest` will
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:42: error: cannot find type 'URLRequest' in scope
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          `- error: cannot find type 'URLRequest' in scope
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:54: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                      `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
35 | }
36 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:10: error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:10: error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:13:13: error: type 'ApiError' does not conform to protocol 'Equatable'
11 | /// This enum defines api-specific errors that can be thrown
12 | /// when an ``ApiClient`` communicates with any external API.
13 | public enum ApiError: Error, Equatable, LocalizedError {
   |             |- error: type 'ApiError' does not conform to protocol 'Equatable'
   |             `- note: add stubs for conformance
14 |
15 |     /// This error should be thrown when an ``ApiEnvironment``
   :
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                     `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
22 |
23 |     /// This error should be thrown when a `URLRequest` will
   :
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                          `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
35 | }
36 |
Swift.==:1:24: note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'ApiError' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'ApiError' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'ApiError' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'ApiError' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'ApiError' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
3 |
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:16:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 |     public init(
15 |         data: Data,
16 |         response: URLResponse
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
17 |     ) {
18 |         self.data = data
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:23:26: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
21 |
22 |     public var data: Data
23 |     public var response: URLResponse
   |                          `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
24 | }
25 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:69:56: error: cannot find type 'URLRequest' in scope
 67 |
 68 |     /// Get a `URLRequest` for the route and its properties.
 69 |     func urlRequest(for env: ApiEnvironment) throws -> URLRequest {
    |                                                        `- error: cannot find type 'URLRequest' in scope
 70 |         guard let envUrl = URL(string: env.url) else { throw ApiError.invalidEnvironmentUrl(env.url) }
 71 |         let routeUrl = envUrl.appendingPathComponent(path)
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:90:52: error: cannot find type 'URLRequest' in scope
 88 |
 89 |     /// Get a `URLRequest` for a certain ``ApiRoute``.
 90 |     func urlRequest(for route: ApiRoute) throws -> URLRequest {
    |                                                    `- error: cannot find type 'URLRequest' in scope
 91 |         try route.urlRequest(for: self)
 92 |     }
[3/20] Compiling ApiKit Yelp+Route.swift
[4/20] Compiling ApiKit Yelp.swift
[5/20] Compiling ApiKit TheMovieDb+Route.swift
[6/20] Compiling ApiKit TheMovieDb.swift
[7/20] Compiling ApiKit String+UrlEncode.swift
[8/20] Compiling ApiKit HttpMethod.swift
[9/20] Compiling ApiKit TheMovieDb+Environment.swift
[10/20] Compiling ApiKit TheMovieDb+Models.swift
[11/20] Compiling ApiKit Yelp+Environment.swift
[12/20] Compiling ApiKit Yelp+Models.swift
[13/20] Compiling ApiKit ApiRoute.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:69:56: error: cannot find type 'URLRequest' in scope
 67 |
 68 |     /// Get a `URLRequest` for the route and its properties.
 69 |     func urlRequest(for env: ApiEnvironment) throws -> URLRequest {
    |                                                        `- error: cannot find type 'URLRequest' in scope
 70 |         guard let envUrl = URL(string: env.url) else { throw ApiError.invalidEnvironmentUrl(env.url) }
 71 |         let routeUrl = envUrl.appendingPathComponent(path)
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:90:52: error: cannot find type 'URLRequest' in scope
 88 |
 89 |     /// Get a `URLRequest` for a certain ``ApiRoute``.
 90 |     func urlRequest(for route: ApiRoute) throws -> URLRequest {
    |                                                    `- error: cannot find type 'URLRequest' in scope
 91 |         try route.urlRequest(for: self)
 92 |     }
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:75:23: error: cannot find 'URLRequest' in scope
 73 |         components.queryItems = queryItems(for: env)
 74 |         guard let requestUrl = components.url else { throw ApiError.noUrlInComponents(components) }
 75 |         var request = URLRequest(url: requestUrl)
    |                       `- error: cannot find 'URLRequest' in scope
 76 |         let formData = encodedFormData
 77 |         request.allHTTPHeaderFields = headers(for: env)
[14/20] Compiling ApiKit Int+HttpStatusCodes.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:69:56: error: cannot find type 'URLRequest' in scope
 67 |
 68 |     /// Get a `URLRequest` for the route and its properties.
 69 |     func urlRequest(for env: ApiEnvironment) throws -> URLRequest {
    |                                                        `- error: cannot find type 'URLRequest' in scope
 70 |         guard let envUrl = URL(string: env.url) else { throw ApiError.invalidEnvironmentUrl(env.url) }
 71 |         let routeUrl = envUrl.appendingPathComponent(path)
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:90:52: error: cannot find type 'URLRequest' in scope
 88 |
 89 |     /// Get a `URLRequest` for a certain ``ApiRoute``.
 90 |     func urlRequest(for route: ApiRoute) throws -> URLRequest {
    |                                                    `- error: cannot find type 'URLRequest' in scope
 91 |         try route.urlRequest(for: self)
 92 |     }
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:75:23: error: cannot find 'URLRequest' in scope
 73 |         components.queryItems = queryItems(for: env)
 74 |         guard let requestUrl = components.url else { throw ApiError.noUrlInComponents(components) }
 75 |         var request = URLRequest(url: requestUrl)
    |                       `- error: cannot find 'URLRequest' in scope
 76 |         let formData = encodedFormData
 77 |         request.allHTTPHeaderFields = headers(for: env)
[15/20] Compiling ApiKit ApiModel.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:16:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 |     public init(
15 |         data: Data,
16 |         response: URLResponse
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
17 |     ) {
18 |         self.data = data
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:23:26: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
21 |
22 |     public var data: Data
23 |     public var response: URLResponse
   |                          `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
24 | }
25 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
[16/20] Compiling ApiKit ApiRequest.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:16:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 |     public init(
15 |         data: Data,
16 |         response: URLResponse
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
17 |     ) {
18 |         self.data = data
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:23:26: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
21 |
22 |     public var data: Data
23 |     public var response: URLResponse
   |                          `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
24 | }
25 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
[17/20] Compiling ApiKit ApiResult.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:16:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 |     public init(
15 |         data: Data,
16 |         response: URLResponse
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
17 |     ) {
18 |         self.data = data
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiResult.swift:23:26: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
21 |
22 |     public var data: Data
23 |     public var response: URLResponse
   |                          `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
24 | }
25 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
[18/20] Compiling ApiKit ApiClient.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:27:22: error: cannot find type 'URLRequest' in scope
25 |     /// Fetch data with the provided `URLRequest`.
26 |     func data(
27 |         for request: URLRequest
   |                      `- error: cannot find type 'URLRequest' in scope
28 |     ) async throws -> (Data, URLResponse)
29 | }
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:28:30: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
26 |     func data(
27 |         for request: URLRequest
28 |     ) async throws -> (Data, URLResponse)
   |                              `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
29 | }
30 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:31:1: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
29 | }
30 |
31 | extension URLSession: ApiClient {}
   | `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
32 |
33 | public extension ApiClient {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:78:18: error: cannot find type 'URLRequest' in scope
76 |     /// Validate the provided request, response and data.
77 |     func validate(
78 |         request: URLRequest,
   |                  `- error: cannot find type 'URLRequest' in scope
79 |         response: URLResponse,
80 |         data: Data
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:79:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
77 |     func validate(
78 |         request: URLRequest,
79 |         response: URLResponse,
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:69:56: error: cannot find type 'URLRequest' in scope
 67 |
 68 |     /// Get a `URLRequest` for the route and its properties.
 69 |     func urlRequest(for env: ApiEnvironment) throws -> URLRequest {
    |                                                        `- error: cannot find type 'URLRequest' in scope
 70 |         guard let envUrl = URL(string: env.url) else { throw ApiError.invalidEnvironmentUrl(env.url) }
 71 |         let routeUrl = envUrl.appendingPathComponent(path)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:52:46: error: missing argument for parameter 'in' in call
45 |
46 |     /// Request a raw ``ApiResult`` for the provided route.
47 |     func request(
   |          `- note: 'request(_:in:)' declared here
48 |         _ route: ApiRoute,
49 |         in environment: ApiEnvironment
50 |     ) async throws -> ApiResult {
51 |         let request = try route.urlRequest(for: environment)
52 |         return try await self.request(request)
   |                                              `- error: missing argument for parameter 'in' in call
53 |     }
54 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:60:52: error: missing argument for parameter 'in' in call
45 |
46 |     /// Request a raw ``ApiResult`` for the provided route.
47 |     func request(
   |          `- note: 'request(_:in:)' declared here
48 |         _ route: ApiRoute,
49 |         in environment: ApiEnvironment
   :
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
60 |         let result = try await self.request(request)
   |                                                    `- error: missing argument for parameter 'in' in call
61 |         let data = result.data
62 |         let decoder = decoder ?? JSONDecoder()
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:20: error: cannot convert return expression of type 'ApiResult' to return type 'T'
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                    `- error: cannot convert return expression of type 'ApiResult' to return type 'T'
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:38: error: incorrect argument labels in call (have 'with:decoder:', expected '_:in:')
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                                      `- error: incorrect argument labels in call (have 'with:decoder:', expected '_:in:')
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:63: error: argument type 'JSONDecoder?' does not conform to expected type 'ApiEnvironment'
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                                                               `- error: argument type 'JSONDecoder?' does not conform to expected type 'ApiEnvironment'
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:82:43: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
80 |         data: Data
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
   |                                           `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
83 |         let statusCode = httpResponse.statusCode
84 |         guard statusCode.isValidHttpStatusCode else {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:82:47: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
   |                                               `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
83 |         let statusCode = httpResponse.statusCode
84 |         guard statusCode.isValidHttpStatusCode else {
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:83:39: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
83 |         let statusCode = httpResponse.statusCode
   |                                       `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
84 |         guard statusCode.isValidHttpStatusCode else {
85 |             throw ApiError.invalidHttpStatusCode(statusCode, request, response, data)
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:37: error: cannot find type 'URLRequest' in scope
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     `- error: cannot find type 'URLRequest' in scope
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:42: error: cannot find type 'URLRequest' in scope
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          `- error: cannot find type 'URLRequest' in scope
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:49: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                 `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
22 |
23 |     /// This error should be thrown when a `URLRequest` will
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:54: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                      `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
35 | }
36 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:10: error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:10: error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:13:13: error: type 'ApiError' does not conform to protocol 'Equatable'
11 | /// This enum defines api-specific errors that can be thrown
12 | /// when an ``ApiClient`` communicates with any external API.
13 | public enum ApiError: Error, Equatable, LocalizedError {
   |             |- error: type 'ApiError' does not conform to protocol 'Equatable'
   |             `- note: add stubs for conformance
14 |
15 |     /// This error should be thrown when an ``ApiEnvironment``
   :
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                     `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
22 |
23 |     /// This error should be thrown when a `URLRequest` will
   :
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                          `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
35 | }
36 |
Swift.==:1:24: note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'ApiError' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'ApiError' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'ApiError' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'ApiError' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'ApiError' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
3 |
[19/20] Compiling ApiKit ApiEnvironment.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:27:22: error: cannot find type 'URLRequest' in scope
25 |     /// Fetch data with the provided `URLRequest`.
26 |     func data(
27 |         for request: URLRequest
   |                      `- error: cannot find type 'URLRequest' in scope
28 |     ) async throws -> (Data, URLResponse)
29 | }
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:28:30: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
26 |     func data(
27 |         for request: URLRequest
28 |     ) async throws -> (Data, URLResponse)
   |                              `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
29 | }
30 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:31:1: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
29 | }
30 |
31 | extension URLSession: ApiClient {}
   | `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
32 |
33 | public extension ApiClient {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:78:18: error: cannot find type 'URLRequest' in scope
76 |     /// Validate the provided request, response and data.
77 |     func validate(
78 |         request: URLRequest,
   |                  `- error: cannot find type 'URLRequest' in scope
79 |         response: URLResponse,
80 |         data: Data
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:79:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
77 |     func validate(
78 |         request: URLRequest,
79 |         response: URLResponse,
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:69:56: error: cannot find type 'URLRequest' in scope
 67 |
 68 |     /// Get a `URLRequest` for the route and its properties.
 69 |     func urlRequest(for env: ApiEnvironment) throws -> URLRequest {
    |                                                        `- error: cannot find type 'URLRequest' in scope
 70 |         guard let envUrl = URL(string: env.url) else { throw ApiError.invalidEnvironmentUrl(env.url) }
 71 |         let routeUrl = envUrl.appendingPathComponent(path)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:52:46: error: missing argument for parameter 'in' in call
45 |
46 |     /// Request a raw ``ApiResult`` for the provided route.
47 |     func request(
   |          `- note: 'request(_:in:)' declared here
48 |         _ route: ApiRoute,
49 |         in environment: ApiEnvironment
50 |     ) async throws -> ApiResult {
51 |         let request = try route.urlRequest(for: environment)
52 |         return try await self.request(request)
   |                                              `- error: missing argument for parameter 'in' in call
53 |     }
54 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:60:52: error: missing argument for parameter 'in' in call
45 |
46 |     /// Request a raw ``ApiResult`` for the provided route.
47 |     func request(
   |          `- note: 'request(_:in:)' declared here
48 |         _ route: ApiRoute,
49 |         in environment: ApiEnvironment
   :
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
60 |         let result = try await self.request(request)
   |                                                    `- error: missing argument for parameter 'in' in call
61 |         let data = result.data
62 |         let decoder = decoder ?? JSONDecoder()
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:20: error: cannot convert return expression of type 'ApiResult' to return type 'T'
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                    `- error: cannot convert return expression of type 'ApiResult' to return type 'T'
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:38: error: incorrect argument labels in call (have 'with:decoder:', expected '_:in:')
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                                      `- error: incorrect argument labels in call (have 'with:decoder:', expected '_:in:')
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:63: error: argument type 'JSONDecoder?' does not conform to expected type 'ApiEnvironment'
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                                                               `- error: argument type 'JSONDecoder?' does not conform to expected type 'ApiEnvironment'
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:82:43: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
80 |         data: Data
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
   |                                           `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
83 |         let statusCode = httpResponse.statusCode
84 |         guard statusCode.isValidHttpStatusCode else {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:82:47: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
   |                                               `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
83 |         let statusCode = httpResponse.statusCode
84 |         guard statusCode.isValidHttpStatusCode else {
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:83:39: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
83 |         let statusCode = httpResponse.statusCode
   |                                       `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
84 |         guard statusCode.isValidHttpStatusCode else {
85 |             throw ApiError.invalidHttpStatusCode(statusCode, request, response, data)
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:37: error: cannot find type 'URLRequest' in scope
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     `- error: cannot find type 'URLRequest' in scope
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:42: error: cannot find type 'URLRequest' in scope
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          `- error: cannot find type 'URLRequest' in scope
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:49: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                 `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
22 |
23 |     /// This error should be thrown when a `URLRequest` will
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:54: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                      `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
35 | }
36 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:10: error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:10: error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:13:13: error: type 'ApiError' does not conform to protocol 'Equatable'
11 | /// This enum defines api-specific errors that can be thrown
12 | /// when an ``ApiClient`` communicates with any external API.
13 | public enum ApiError: Error, Equatable, LocalizedError {
   |             |- error: type 'ApiError' does not conform to protocol 'Equatable'
   |             `- note: add stubs for conformance
14 |
15 |     /// This error should be thrown when an ``ApiEnvironment``
   :
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                     `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
22 |
23 |     /// This error should be thrown when a `URLRequest` will
   :
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                          `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
35 | }
36 |
Swift.==:1:24: note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'ApiError' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'ApiError' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'ApiError' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'ApiError' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'ApiError' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
3 |
[20/20] Compiling ApiKit ApiError.swift
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:27:22: error: cannot find type 'URLRequest' in scope
25 |     /// Fetch data with the provided `URLRequest`.
26 |     func data(
27 |         for request: URLRequest
   |                      `- error: cannot find type 'URLRequest' in scope
28 |     ) async throws -> (Data, URLResponse)
29 | }
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:28:30: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
26 |     func data(
27 |         for request: URLRequest
28 |     ) async throws -> (Data, URLResponse)
   |                              `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
29 | }
30 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:31:1: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
29 | }
30 |
31 | extension URLSession: ApiClient {}
   | `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
32 |
33 | public extension ApiClient {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:37:20: error: cannot find type 'URLRequest' in scope
35 |     /// Request a raw ``ApiResult`` for the provided request.
36 |     func request(
37 |         _ request: URLRequest
   |                    `- error: cannot find type 'URLRequest' in scope
38 |     ) async throws -> ApiResult {
39 |         let result = try await data(for: request)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:57:23: error: cannot find type 'URLRequest' in scope
55 |     /// Request a typed result for the provided request.
56 |     func request<T: Decodable>(
57 |         with request: URLRequest,
   |                       `- error: cannot find type 'URLRequest' in scope
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:78:18: error: cannot find type 'URLRequest' in scope
76 |     /// Validate the provided request, response and data.
77 |     func validate(
78 |         request: URLRequest,
   |                  `- error: cannot find type 'URLRequest' in scope
79 |         response: URLResponse,
80 |         data: Data
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:79:19: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
77 |     func validate(
78 |         request: URLRequest,
79 |         response: URLResponse,
   |                   `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiRoute.swift:69:56: error: cannot find type 'URLRequest' in scope
 67 |
 68 |     /// Get a `URLRequest` for the route and its properties.
 69 |     func urlRequest(for env: ApiEnvironment) throws -> URLRequest {
    |                                                        `- error: cannot find type 'URLRequest' in scope
 70 |         guard let envUrl = URL(string: env.url) else { throw ApiError.invalidEnvironmentUrl(env.url) }
 71 |         let routeUrl = envUrl.appendingPathComponent(path)
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:52:46: error: missing argument for parameter 'in' in call
45 |
46 |     /// Request a raw ``ApiResult`` for the provided route.
47 |     func request(
   |          `- note: 'request(_:in:)' declared here
48 |         _ route: ApiRoute,
49 |         in environment: ApiEnvironment
50 |     ) async throws -> ApiResult {
51 |         let request = try route.urlRequest(for: environment)
52 |         return try await self.request(request)
   |                                              `- error: missing argument for parameter 'in' in call
53 |     }
54 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:60:52: error: missing argument for parameter 'in' in call
45 |
46 |     /// Request a raw ``ApiResult`` for the provided route.
47 |     func request(
   |          `- note: 'request(_:in:)' declared here
48 |         _ route: ApiRoute,
49 |         in environment: ApiEnvironment
   :
58 |         decoder: JSONDecoder? = nil
59 |     ) async throws -> T {
60 |         let result = try await self.request(request)
   |                                                    `- error: missing argument for parameter 'in' in call
61 |         let data = result.data
62 |         let decoder = decoder ?? JSONDecoder()
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:20: error: cannot convert return expression of type 'ApiResult' to return type 'T'
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                    `- error: cannot convert return expression of type 'ApiResult' to return type 'T'
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:38: error: incorrect argument labels in call (have 'with:decoder:', expected '_:in:')
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                                      `- error: incorrect argument labels in call (have 'with:decoder:', expected '_:in:')
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:73:63: error: argument type 'JSONDecoder?' does not conform to expected type 'ApiEnvironment'
71 |     ) async throws -> T {
72 |         let request = try route.urlRequest(for: environment)
73 |         return try await self.request(with: request, decoder: decoder)
   |                                                               `- error: argument type 'JSONDecoder?' does not conform to expected type 'ApiEnvironment'
74 |     }
75 |
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:82:43: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
80 |         data: Data
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
   |                                           `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
83 |         let statusCode = httpResponse.statusCode
84 |         guard statusCode.isValidHttpStatusCode else {
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:82:47: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
80 |         data: Data
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
   |                                               `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
83 |         let statusCode = httpResponse.statusCode
84 |         guard statusCode.isValidHttpStatusCode else {
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiClient.swift:83:39: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
81 |     ) throws(ApiError) {
82 |         guard let httpResponse = response as? HTTPURLResponse else { return }
83 |         let statusCode = httpResponse.statusCode
   |                                       `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
84 |         guard statusCode.isValidHttpStatusCode else {
85 |             throw ApiError.invalidHttpStatusCode(statusCode, request, response, data)
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:37: error: cannot find type 'URLRequest' in scope
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     `- error: cannot find type 'URLRequest' in scope
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:42: error: cannot find type 'URLRequest' in scope
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          `- error: cannot find type 'URLRequest' in scope
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:49: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                 `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
22 |
23 |     /// This error should be thrown when a `URLRequest` will
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:54: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                                      `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
35 | }
36 |
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:21:10: error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'invalidHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
22 |
23 |     /// This error should be thrown when a `URLRequest` will
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:34:10: error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |          `- error: associated value 'unsuccessfulHttpStatusCode' of 'Sendable'-conforming enum 'ApiError' has non-sendable type 'URLResponse' (aka 'AnyObject')
35 | }
36 |
/host/spi-builder-workspace/Sources/ApiKit/ApiError.swift:13:13: error: type 'ApiError' does not conform to protocol 'Equatable'
11 | /// This enum defines api-specific errors that can be thrown
12 | /// when an ``ApiClient`` communicates with any external API.
13 | public enum ApiError: Error, Equatable, LocalizedError {
   |             |- error: type 'ApiError' does not conform to protocol 'Equatable'
   |             `- note: add stubs for conformance
14 |
15 |     /// This error should be thrown when an ``ApiEnvironment``
   :
19 |     /// This error should be thrown when a URL request fails
20 |     /// due to an invalid status code (outside of 100-599).
21 |     case invalidHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                     |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                     `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
22 |
23 |     /// This error should be thrown when a `URLRequest` will
   :
32 |     /// due to an unsuccessful status code (100-199, as well
33 |     /// as 300-599).
34 |     case unsuccessfulHttpStatusCode(Int, URLRequest, URLResponse, Data)
   |                                          |           `- note: associated value type 'URLResponse' (aka 'AnyObject') does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
   |                                          `- note: associated value type '<<error type>>' does not conform to protocol 'Equatable', preventing synthesized conformance of 'ApiError' to 'Equatable'
35 | }
36 |
Swift.==:1:24: note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'ApiError' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'ApiError' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'ApiError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'ApiError' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'ApiError' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'ApiError' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'ApiError' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'ApiError' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'ApiError' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'ApiError' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'ApiError' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(ApiError, ApiError) -> Bool'
3 |
BUILD FAILURE 6.1 linux