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