The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build PromiseQ, reference master (539a98), with Swift 6.1 for Wasm on 28 May 2025 01:46:29 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ikhvorost/PromiseQ.git
Reference: master
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/ikhvorost/PromiseQ
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 539a987 Readme: added isCancelled, new await
Cloned https://github.com/ikhvorost/PromiseQ.git
Revision (git rev-parse @):
539a987b5a74da758d1a4d245af5551ee1e35282
SUCCESS checkout https://github.com/ikhvorost/PromiseQ.git at master
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/ikhvorost/PromiseQ.git
https://github.com/ikhvorost/PromiseQ.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "PromiseQ",
  "name" : "PromiseQ",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "9.0"
    },
    {
      "name" : "macos",
      "version" : "10.10"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    },
    {
      "name" : "watchos",
      "version" : "2.0"
    }
  ],
  "products" : [
    {
      "name" : "PromiseQ",
      "targets" : [
        "PromiseQ"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "PromiseQTests",
      "module_type" : "SwiftTarget",
      "name" : "PromiseQTests",
      "path" : "Tests/PromiseQTests",
      "sources" : [
        "PromiseQTests.swift"
      ],
      "target_dependencies" : [
        "PromiseQ"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PromiseQ",
      "module_type" : "SwiftTarget",
      "name" : "PromiseQ",
      "path" : "Sources/PromiseQ",
      "product_memberships" : [
        "PromiseQ"
      ],
      "sources" : [
        "Fetch.swift",
        "Monitor.swift",
        "PromiseQ.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/6] Compiling PromiseQ PromiseQ.swift
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:51:31: error: cannot find type 'DispatchQueue' in scope
  49 | }
  50 |
  51 | private func execute(_ queue: DispatchQueue, f: @escaping () -> Void) {
     |                               `- error: cannot find type 'DispatchQueue' in scope
  52 | 	if queue.label == String(cString: __dispatch_queue_get_label(nil)) {
  53 | 		f()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:216:23: error: cannot find type 'DispatchWorkItem' in scope
 214 |
 215 | 	private let f: (@escaping (Result<T, Error>) -> Void) -> Void
 216 | 	private let autoRun: DispatchWorkItem
     |                       `- error: cannot find type 'DispatchWorkItem' in scope
 217 | 	private let monitor: Monitor
 218 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:254:23: error: cannot find type 'DispatchQueue' in scope
 252 | 	/// - SeeAlso: `Promise.resolve()`, `Promise.reject()`
 253 | 	@discardableResult
 254 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping (() throws -> T)) {
     |                       `- error: cannot find type 'DispatchQueue' in scope
 255 | 		let monitor = Monitor()
 256 | 		self.init(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:295:23: error: cannot find type 'DispatchQueue' in scope
 293 | 	/// - Returns: A new `Promise`
 294 | 	/// - SeeAlso: `Promise.resolve()`, `Promise.reject()`
 295 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping (() throws -> Promise<T>)) {
     |                       `- error: cannot find type 'DispatchQueue' in scope
 296 | 		let monitor = Monitor()
 297 | 		self.init(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:351:23: error: cannot find type 'DispatchQueue' in scope
 349 | 	/// - SeeAlso: `Asyncable`
 350 | 	@discardableResult
 351 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                       `- error: cannot find type 'DispatchQueue' in scope
 352 | 				f: @escaping (@escaping (T) -> Void,  @escaping (Error) -> Void, inout Asyncable?) throws -> Void) {
 353 | 		let monitor = Monitor()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:397:23: error: cannot find type 'DispatchQueue' in scope
 395 | 	/// - Returns: A new `Promise`
 396 | 	@discardableResult
 397 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0,  retry: Int = 0,
     |                       `- error: cannot find type 'DispatchQueue' in scope
 398 | 				f: @escaping ( @escaping (T) -> Void,  @escaping (Error) -> Void) throws -> Void) {
 399 | 		self.init(queue, timeout: timeout, retry: retry) { resolve, reject, task in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:426:31: error: cannot find type 'DispatchQueue' in scope
 424 | 	///	- Returns: A new chained promise.
 425 | 	@discardableResult
 426 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping ((T) throws -> U)) -> Promise<U> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 427 | 		autoRun.cancel()
 428 | 		return Promise<U>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:476:31: error: cannot find type 'DispatchQueue' in scope
 474 | 	///	- Returns: A new chained promise.
 475 | 	@discardableResult
 476 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping ((T) throws -> Promise<U>)) -> Promise<U> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 477 | 		autoRun.cancel()
 478 | 		return Promise<U>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:548:31: error: cannot find type 'DispatchQueue' in scope
 546 | 	/// - SeeAlso: `Asyncable`
 547 | 	@discardableResult
 548 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                               `- error: cannot find type 'DispatchQueue' in scope
 549 | 						f: @escaping (T, @escaping (U) -> Void, @escaping (Error) -> Void, inout Asyncable?) throws -> Void) -> Promise<U> {
 550 | 		autoRun.cancel()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:590:31: error: cannot find type 'DispatchQueue' in scope
 588 | 	///	- Returns: A new chained promise.
 589 | 	@discardableResult
 590 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                               `- error: cannot find type 'DispatchQueue' in scope
 591 | 						f: @escaping (T, @escaping (U) -> Void, @escaping (Error) -> Void) throws -> Void) -> Promise<U> {
 592 | 		then(queue, timeout: timeout, retry: retry) { value, resolve, reject, task in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:616:31: error: cannot find type 'DispatchQueue' in scope
 614 | 	///	- Returns: A new chained promise.
 615 | 	@discardableResult
 616 | 	public func `catch`(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping ((Error) throws -> Void)) -> Promise<Void> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 617 | 		autoRun.cancel()
 618 | 		return Promise<Void>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:687:31: error: cannot find type 'DispatchQueue' in scope
 685 | 	///	- Returns: A new chained promise.
 686 | 	@discardableResult
 687 | 	public func finally(_ queue: DispatchQueue = .global(), f: @escaping (() -> Void)) -> Promise<T> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 688 | 		autoRun.cancel()
 689 | 		return Promise<T>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:30:13: error: cannot find 'DispatchWorkItem' in scope
  28 | private func setTimeout<T>(timeout: TimeInterval, pending: @escaping (Result<T, Error>) -> Void) {
  29 | 	guard timeout > 0 else { return }
  30 | 	let work = DispatchWorkItem {
     |             `- error: cannot find 'DispatchWorkItem' in scope
  31 | 		pending(.failure(PromiseError.timedOut))
  32 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:33:2: error: cannot find 'DispatchQueue' in scope
  31 | 		pending(.failure(PromiseError.timedOut))
  32 | 	}
  33 | 	DispatchQueue.global(qos: .userInitiated).asyncAfter(deadline: .now() + timeout, execute: work)
     |  `- error: cannot find 'DispatchQueue' in scope
  34 | }
  35 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:33:29: error: cannot infer contextual base in reference to member 'userInitiated'
  31 | 		pending(.failure(PromiseError.timedOut))
  32 | 	}
  33 | 	DispatchQueue.global(qos: .userInitiated).asyncAfter(deadline: .now() + timeout, execute: work)
     |                             `- error: cannot infer contextual base in reference to member 'userInitiated'
  34 | }
  35 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:33:66: error: cannot call value of non-function type 'Date'
  31 | 		pending(.failure(PromiseError.timedOut))
  32 | 	}
  33 | 	DispatchQueue.global(qos: .userInitiated).asyncAfter(deadline: .now() + timeout, execute: work)
     |                                                                  `- error: cannot call value of non-function type 'Date'
  34 | }
  35 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:52:36: error: cannot find '__dispatch_queue_get_label' in scope
  50 |
  51 | private func execute(_ queue: DispatchQueue, f: @escaping () -> Void) {
  52 | 	if queue.label == String(cString: __dispatch_queue_get_label(nil)) {
     |                                    `- error: cannot find '__dispatch_queue_get_label' in scope
  53 | 		f()
  54 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:52:63: error: 'nil' requires a contextual type
  50 |
  51 | private func execute(_ queue: DispatchQueue, f: @escaping () -> Void) {
  52 | 	if queue.label == String(cString: __dispatch_queue_get_label(nil)) {
     |                                                               `- error: 'nil' requires a contextual type
  53 | 		f()
  54 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:85:13: error: cannot find 'DispatchSemaphore' in scope
  83 |
  84 | 	var r = count
  85 | 	let lock = DispatchSemaphore.Lock()
     |             `- error: cannot find 'DispatchSemaphore' in scope
  86 | 	repeat {
  87 | 		guard monitor.wait() else { return }
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:228:18: error: cannot find 'DispatchWorkItem' in scope
 226 | 		self.monitor = monitor
 227 |
 228 | 		self.autoRun = DispatchWorkItem { f { _ in } }
     |                  `- error: cannot find 'DispatchWorkItem' in scope
 229 | 		DispatchQueue.global().asyncAfter(deadline: .now() + 0.01, execute: self.autoRun)
 230 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:229:3: error: cannot find 'DispatchQueue' in scope
 227 |
 228 | 		self.autoRun = DispatchWorkItem { f { _ in } }
 229 | 		DispatchQueue.global().asyncAfter(deadline: .now() + 0.01, execute: self.autoRun)
     |   `- error: cannot find 'DispatchQueue' in scope
 230 | 	}
 231 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:229:48: error: cannot call value of non-function type 'Date'
 227 |
 228 | 		self.autoRun = DispatchWorkItem { f { _ in } }
 229 | 		DispatchQueue.global().asyncAfter(deadline: .now() + 0.01, execute: self.autoRun)
     |                                                `- error: cannot call value of non-function type 'Date'
 230 | 	}
 231 |
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:73:33: error: cannot find type 'DispatchSemaphore' in scope
 71 | 		}
 72 | 	}
 73 | 	@Atomic private var semaphore: DispatchSemaphore?
    |                                 `- error: cannot find type 'DispatchSemaphore' in scope
 74 | 	@Atomic var task: Asyncable?
 75 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:399:12: error: extra arguments at positions #2, #3, #4 in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 397 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0,  retry: Int = 0,
 398 | 				f: @escaping ( @escaping (T) -> Void,  @escaping (Error) -> Void) throws -> Void) {
 399 | 		self.init(queue, timeout: timeout, retry: retry) { resolve, reject, task in
     |            `- error: extra arguments at positions #2, #3, #4 in call
 400 | 			try f(resolve, reject)
 401 | 		}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:399:18: error: missing argument for parameter 'f' in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 397 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0,  retry: Int = 0,
 398 | 				f: @escaping ( @escaping (T) -> Void,  @escaping (Error) -> Void) throws -> Void) {
 399 | 		self.init(queue, timeout: timeout, retry: retry) { resolve, reject, task in
     |                  `- error: missing argument for parameter 'f' in call
 400 | 			try f(resolve, reject)
 401 | 		}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:731:14: error: cannot find 'DispatchSemaphore' in scope
 729 | 		var result: T?
 730 | 		var error: Error?
 731 | 		let lock = DispatchSemaphore.Lock()
     |              `- error: cannot find 'DispatchSemaphore' in scope
 732 |
 733 | 		self.then {
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:780:20: error: missing argument for parameter #1 in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 778 | 	///	- Returns: A new resolved promise
 779 | 	public static func resolve(_ value: T) -> Promise<T> {
 780 | 		return Promise<T> { return value }
     |                    `- error: missing argument for parameter #1 in call
 781 | 	}
 782 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:780:21: error: contextual type for closure argument list expects 1 argument, which cannot be implicitly ignored
 778 | 	///	- Returns: A new resolved promise
 779 | 	public static func resolve(_ value: T) -> Promise<T> {
 780 | 		return Promise<T> { return value }
     |                     `- error: contextual type for closure argument list expects 1 argument, which cannot be implicitly ignored
 781 | 	}
 782 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:780:30: error: cannot convert value of type 'T' to closure result type 'Void'
 778 | 	///	- Returns: A new resolved promise
 779 | 	public static func resolve(_ value: T) -> Promise<T> {
 780 | 		return Promise<T> { return value }
     |                              `- error: cannot convert value of type 'T' to closure result type 'Void'
 781 | 	}
 782 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:795:17: error: missing argument for parameter #1 in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 793 | 	///	- Returns: A new rejected promise
 794 | 	public static func reject(_ error: Error) -> Promise<T> {
 795 | 		return Promise { () -> T in throw error }
     |                 `- error: missing argument for parameter #1 in call
 796 | 	}
 797 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:795:18: error: invalid conversion from throwing function of type '() throws -> T' to non-throwing function type '(@escaping (Result<T, any Error>) -> Void) -> Void'
 793 | 	///	- Returns: A new rejected promise
 794 | 	public static func reject(_ error: Error) -> Promise<T> {
 795 | 		return Promise { () -> T in throw error }
     |                  `- error: invalid conversion from throwing function of type '() throws -> T' to non-throwing function type '(@escaping (Result<T, any Error>) -> Void) -> Void'
 796 | 	}
 797 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:795:18: error: contextual type for closure argument list expects 1 argument, which cannot be implicitly ignored
 793 | 	///	- Returns: A new rejected promise
 794 | 	public static func reject(_ error: Error) -> Promise<T> {
 795 | 		return Promise { () -> T in throw error }
     |                  `- error: contextual type for closure argument list expects 1 argument, which cannot be implicitly ignored
 796 | 	}
 797 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:795:26: error: declared closure result 'T' is incompatible with contextual type 'Void'
 793 | 	///	- Returns: A new rejected promise
 794 | 	public static func reject(_ error: Error) -> Promise<T> {
 795 | 		return Promise { () -> T in throw error }
     |                          `- error: declared closure result 'T' is incompatible with contextual type 'Void'
 796 | 	}
 797 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:844:15: error: cannot find 'DispatchSemaphore' in scope
 842 | 	public static func all(settled: Bool = false, _ promises:[Promise<T>]) -> Promise<Array<T>> {
 843 | 		var results = [Int : T]()
 844 | 		let mutex = DispatchSemaphore.Mutex()
     |               `- error: cannot find 'DispatchSemaphore' in scope
 845 | 		promises.forEach { $0.autoRun.cancel() }
 846 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:848:27: error: missing argument for parameter #1 in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 846 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
 847 |
 848 | 		return Promise<Array<T>> { resolve, reject, task in
     |                           `- error: missing argument for parameter #1 in call
 849 |
 850 | 			guard promises.count > 0 else {
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:848:30: error: contextual closure type '(@escaping (Result<Array<T>, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
 846 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
 847 |
 848 | 		return Promise<Array<T>> { resolve, reject, task in
     |                              `- error: contextual closure type '(@escaping (Result<Array<T>, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
 849 |
 850 | 			guard promises.count > 0 else {
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:851:13: error: cannot convert value of type '[T]' to expected argument type 'Result<Array<T>, any Error>'
 849 |
 850 | 			guard promises.count > 0 else {
 851 | 				resolve([T]())
     |             `- error: cannot convert value of type '[T]' to expected argument type 'Result<Array<T>, any Error>'
 852 | 				return
 853 | 			}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:922:17: error: missing argument for parameter #1 in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 920 | 		promises.forEach { $0.autoRun.cancel() }
 921 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
 922 | 		return Promise { resolve, reject, task in
     |                 `- error: missing argument for parameter #1 in call
 923 |
 924 | 			guard promises.count > 0 else {
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:922:20: error: contextual closure type '(@escaping (Result<T, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
 920 | 		promises.forEach { $0.autoRun.cancel() }
 921 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
 922 | 		return Promise { resolve, reject, task in
     |                    `- error: contextual closure type '(@escaping (Result<T, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
 923 |
 924 | 			guard promises.count > 0 else {
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:991:15: error: cannot find 'DispatchSemaphore' in scope
 989 | 	public static func any(_ promises: [Promise<T>]) -> Promise<T> {
 990 | 		var errors = [Int : Error]()
 991 | 		let mutex = DispatchSemaphore.Mutex()
     |               `- error: cannot find 'DispatchSemaphore' in scope
 992 | 		promises.forEach { $0.autoRun.cancel() }
 993 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:995:20: error: missing argument for parameter #1 in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 993 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
 994 |
 995 | 		return Promise<T> { resolve, reject, task in
     |                    `- error: missing argument for parameter #1 in call
 996 |
 997 | 			guard promises.count > 0 else {
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:995:23: error: contextual closure type '(@escaping (Result<T, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
 993 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
 994 |
 995 | 		return Promise<T> { resolve, reject, task in
     |                       `- error: contextual closure type '(@escaping (Result<T, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
 996 |
 997 | 			guard promises.count > 0 else {
[4/6] Compiling PromiseQ Fetch.swift
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:60:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 58 |
 59 | /// String errors
 60 | extension String : LocalizedError {
    | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 61 | 	/// A localized message describing what error occurred.
 62 | 	public var errorDescription: String? { return self }
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:65:1: error: non-nominal type 'URLSessionDataTask' (aka 'AnyObject') cannot be extended
 63 | }
 64 |
 65 | extension URLSessionDataTask: Asyncable {
    | `- error: non-nominal type 'URLSessionDataTask' (aka 'AnyObject') cannot be extended
 66 | }
 67 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:68:1: error: non-nominal type 'URLSessionDownloadTask' (aka 'AnyObject') cannot be extended
 66 | }
 67 |
 68 | extension URLSessionDownloadTask: Asyncable {
    | `- error: non-nominal type 'URLSessionDownloadTask' (aka 'AnyObject') cannot be extended
 69 | }
 70 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:96:23: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 94 | public class HTTPResponse {
 95 | 	/// The metadata associated with the response to an HTTP protocol URL load request.
 96 | 	public let response: HTTPURLResponse
    |                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 97 |
 98 | 	private let result: ResponseResult
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/PromiseQ/Fetch.swift:142:29: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
140 | 	}
141 |
142 | 	fileprivate init(response: HTTPURLResponse, result: ResponseResult) {
    |                             `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
143 | 		self.response = response
144 | 		self.result = result
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/PromiseQ/Fetch.swift:160:8: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
158 | }
159 |
160 | public extension URLSession  {
    |        `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
161 |
162 | 	/// Creates a promise that retrieves the contents of a HTTP request object.
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:307:38: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
305 | /// 	- totalBytes: The expected length of the data.
306 | ///
307 | public typealias Progress = (_ task: URLSessionTask, _ bytes: Int64, _ totalBytes: Int64) -> Void
    |                                      `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
308 |
309 | private class SessionDownloadDelegate: NSObject, URLSessionDownloadDelegate {
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' 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 URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:309:50: error: cannot find type 'URLSessionDownloadDelegate' in scope
307 | public typealias Progress = (_ task: URLSessionTask, _ bytes: Int64, _ totalBytes: Int64) -> Void
308 |
309 | private class SessionDownloadDelegate: NSObject, URLSessionDownloadDelegate {
    |                                                  `- error: cannot find type 'URLSessionDownloadDelegate' in scope
310 | 	let resolve: (HTTPResponse) -> Void
311 | 	let reject: (Error) -> Void
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:321:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
319 | 	}
320 |
321 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
322 | 		progress?(downloadTask, totalBytesWritten, totalBytesExpectedToWrite)
323 | 	}
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:321:55: error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
319 | 	}
320 |
321 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {
    |                                                       `- error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
322 | 		progress?(downloadTask, totalBytesWritten, totalBytesExpectedToWrite)
323 | 	}
Foundation.URLSessionDownloadTask:2:18: note: 'URLSessionDownloadTask' 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 URLSessionDownloadTask = AnyObject
  |                  `- note: 'URLSessionDownloadTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:325:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
323 | 	}
324 |
325 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
326 | 		session.invalidateAndCancel()
327 |
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:325:47: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
323 | 	}
324 |
325 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
    |                                               `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
326 | 		session.invalidateAndCancel()
327 |
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' 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 URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:333:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
331 | 	}
332 |
333 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
334 | 		session.invalidateAndCancel()
335 |
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:333:55: error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
331 | 	}
332 |
333 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
    |                                                       `- error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
334 | 		session.invalidateAndCancel()
335 |
Foundation.URLSessionDownloadTask:2:18: note: 'URLSessionDownloadTask' 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 URLSessionDownloadTask = AnyObject
  |                  `- note: 'URLSessionDownloadTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:392:46: error: cannot find type 'URLSessionTaskDelegate' in scope
390 | // MARK: - Upload
391 |
392 | private class SessionTaskDelegate: NSObject, URLSessionTaskDelegate {
    |                                              `- error: cannot find type 'URLSessionTaskDelegate' in scope
393 | 	let progress: Progress?
394 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:400:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
398 | 	}
399 |
400 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
401 | 		progress?(task, totalBytesSent, totalBytesExpectedToSend)
402 | 	}
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:400:47: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
398 | 	}
399 |
400 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) {
    |                                               `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
401 | 		progress?(task, totalBytesSent, totalBytesExpectedToSend)
402 | 	}
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' 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 URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:102:33: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
100 | 	/// HTTP status code is 200-299.
101 | 	public var ok: Bool {
102 | 		(200...299).contains(response.statusCode)
    |                                 `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
103 | 	}
104 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:107:54: error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
105 | 	/// Returns a localized string corresponding to a specified HTTP status code.
106 | 	public var statusCodeDescription: String {
107 | 		"HTTP \(response.statusCode) - " + HTTPURLResponse.localizedString(forStatusCode: response.statusCode)
    |                                                      `- error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
108 | 	}
109 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:107:94: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
105 | 	/// Returns a localized string corresponding to a specified HTTP status code.
106 | 	public var statusCodeDescription: String {
107 | 		"HTTP \(response.statusCode) - " + HTTPURLResponse.localizedString(forStatusCode: response.statusCode)
    |                                                                                              `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
108 | 	}
109 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:107:20: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
105 | 	/// Returns a localized string corresponding to a specified HTTP status code.
106 | 	public var statusCodeDescription: String {
107 | 		"HTTP \(response.statusCode) - " + HTTPURLResponse.localizedString(forStatusCode: response.statusCode)
    |                    `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
108 | 	}
109 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:149:4: error: cannot find 'DispatchQueue' in scope
147 | 	private func clean() {
148 | 		if case let .location(url) = result {
149 | 			DispatchQueue.global().asyncAfter(deadline: .now() + 0.1) {
    |    `- error: cannot find 'DispatchQueue' in scope
150 | 				try? FileManager.default.removeItem(at: url)
151 | 			}
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:149:49: error: cannot call value of non-function type 'Date'
147 | 	private func clean() {
148 | 		if case let .location(url) = result {
149 | 			DispatchQueue.global().asyncAfter(deadline: .now() + 0.1) {
    |                                                 `- error: cannot call value of non-function type 'Date'
150 | 				try? FileManager.default.removeItem(at: url)
151 | 			}
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:295:13: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
293 | ///
294 | public func fetch(_ path: String, method: HTTPMethod = .GET, headers: [String : String]? = nil, body: Data? = nil, retry: Int = 0) -> Promise<HTTPResponse> {
295 | 	URLSession.shared.fetch(path, method: method, headers: headers, body: body, retry: retry)
    |             `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
296 | }
297 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:326:11: error: value of type 'URLSession' (aka 'AnyObject') has no member 'invalidateAndCancel'
324 |
325 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
326 | 		session.invalidateAndCancel()
    |           `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'invalidateAndCancel'
327 |
328 | 		if error != nil {
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:334:11: error: value of type 'URLSession' (aka 'AnyObject') has no member 'invalidateAndCancel'
332 |
333 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
334 | 		session.invalidateAndCancel()
    |           `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'invalidateAndCancel'
335 |
336 | 		// Rename
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:344:54: error: value of type 'URLSessionDownloadTask' (aka 'AnyObject') has no member 'response'
342 | 		url = (url as NSURL).deletingLastPathComponent!.appendingPathComponent(name)
343 |
344 | 		let response = HTTPResponse(response: downloadTask.response as! HTTPURLResponse, result: .location(url))
    |                                                      `- error: value of type 'URLSessionDownloadTask' (aka 'AnyObject') has no member 'response'
345 | 		resolve(response)
346 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:375:18: error: cannot find 'URLRequest' in scope
373 |
374 | 		case let .success(url):
375 | 			var request = URLRequest(url: url)
    |                  `- error: cannot find 'URLRequest' in scope
376 | 			request.httpMethod = method.rawValue
377 | 			request.allHTTPHeaderFields = headers
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:254:23: error: cannot find type 'DispatchQueue' in scope
 252 | 	/// - SeeAlso: `Promise.resolve()`, `Promise.reject()`
 253 | 	@discardableResult
 254 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping (() throws -> T)) {
     |                       `- error: cannot find type 'DispatchQueue' in scope
 255 | 		let monitor = Monitor()
 256 | 		self.init(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:295:23: error: cannot find type 'DispatchQueue' in scope
 293 | 	/// - Returns: A new `Promise`
 294 | 	/// - SeeAlso: `Promise.resolve()`, `Promise.reject()`
 295 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping (() throws -> Promise<T>)) {
     |                       `- error: cannot find type 'DispatchQueue' in scope
 296 | 		let monitor = Monitor()
 297 | 		self.init(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:351:23: error: cannot find type 'DispatchQueue' in scope
 349 | 	/// - SeeAlso: `Asyncable`
 350 | 	@discardableResult
 351 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                       `- error: cannot find type 'DispatchQueue' in scope
 352 | 				f: @escaping (@escaping (T) -> Void,  @escaping (Error) -> Void, inout Asyncable?) throws -> Void) {
 353 | 		let monitor = Monitor()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:397:23: error: cannot find type 'DispatchQueue' in scope
 395 | 	/// - Returns: A new `Promise`
 396 | 	@discardableResult
 397 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0,  retry: Int = 0,
     |                       `- error: cannot find type 'DispatchQueue' in scope
 398 | 				f: @escaping ( @escaping (T) -> Void,  @escaping (Error) -> Void) throws -> Void) {
 399 | 		self.init(queue, timeout: timeout, retry: retry) { resolve, reject, task in
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:380:11: error: 'Promise<T>' initializer is inaccessible due to 'private' protection level
378 | 			request.httpBody = body
379 |
380 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |           `- error: 'Promise<T>' initializer is inaccessible due to 'private' protection level
381 | 				let delegate = SessionDownloadDelegate(resolve: resolve, reject: reject, progress: progress)
382 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:224:10: note: 'init(_:f:)' declared here
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:380:32: error: extraneous argument label 'retry:' in call
378 | 			request.httpBody = body
379 |
380 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |                                `- error: extraneous argument label 'retry:' in call
381 | 				let delegate = SessionDownloadDelegate(resolve: resolve, reject: reject, progress: progress)
382 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:380:40: error: cannot convert value of type 'Int' to expected argument type 'Monitor'
378 | 			request.httpBody = body
379 |
380 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |                                        `- error: cannot convert value of type 'Int' to expected argument type 'Monitor'
381 | 				let delegate = SessionDownloadDelegate(resolve: resolve, reject: reject, progress: progress)
382 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:380:49: error: contextual closure type '(@escaping (Result<HTTPResponse, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
378 | 			request.httpBody = body
379 |
380 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |                                                 `- error: contextual closure type '(@escaping (Result<HTTPResponse, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
381 | 				let delegate = SessionDownloadDelegate(resolve: resolve, reject: reject, progress: progress)
382 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:381:53: error: cannot convert value of type '(Result<HTTPResponse, any Error>) -> Void' to expected argument type '(HTTPResponse) -> Void'
379 |
380 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
381 | 				let delegate = SessionDownloadDelegate(resolve: resolve, reject: reject, progress: progress)
    |                                                     `- error: cannot convert value of type '(Result<HTTPResponse, any Error>) -> Void' to expected argument type '(HTTPResponse) -> Void'
382 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
383 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:412:18: error: cannot find 'URLRequest' in scope
410 |
411 | 		case let .success(url):
412 | 			var request = URLRequest(url: url)
    |                  `- error: cannot find 'URLRequest' in scope
413 | 			request.httpMethod = method.rawValue
414 | 			request.allHTTPHeaderFields = headers
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:416:11: error: 'Promise<T>' initializer is inaccessible due to 'private' protection level
414 | 			request.allHTTPHeaderFields = headers
415 |
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |           `- error: 'Promise<T>' initializer is inaccessible due to 'private' protection level
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:224:10: note: 'init(_:f:)' declared here
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:416:32: error: extraneous argument label 'retry:' in call
414 | 			request.allHTTPHeaderFields = headers
415 |
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |                                `- error: extraneous argument label 'retry:' in call
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:416:40: error: cannot convert value of type 'Int' to expected argument type 'Monitor'
414 | 			request.allHTTPHeaderFields = headers
415 |
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |                                        `- error: cannot convert value of type 'Int' to expected argument type 'Monitor'
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:416:49: error: contextual closure type '(@escaping (Result<HTTPResponse, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
414 | 			request.allHTTPHeaderFields = headers
415 |
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |                                                 `- error: contextual closure type '(@escaping (Result<HTTPResponse, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:418:30: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
    |                              `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
419 |
420 | 				let completion = { (data: Data?, response: URLResponse?, error: Error?) in
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:418:51: error: cannot infer contextual base in reference to member 'default'
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
    |                                                   `- error: cannot infer contextual base in reference to member 'default'
419 |
420 | 				let completion = { (data: Data?, response: URLResponse?, error: Error?) in
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:418:95: error: 'nil' requires a contextual type
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
    |                                                                                               `- error: 'nil' requires a contextual type
419 |
420 | 				let completion = { (data: Data?, response: URLResponse?, error: Error?) in
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:184:24: error: cannot find type 'URLRequest' in scope
182 | 	/// - SeeAlso: `HTTPResponse`
183 | 	///
184 | 	func fetch(_ request: URLRequest, retry: Int = 0) -> Promise<HTTPResponse> {
    |                        `- error: cannot find type 'URLRequest' in scope
185 | 		guard let url = request.url?.absoluteString, isHTTP(url) else {
186 | 			return Promise<HTTPResponse>.reject(ErrorNotHTTP)
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/6] Emitting module PromiseQ
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:60:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 58 |
 59 | /// String errors
 60 | extension String : LocalizedError {
    | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 61 | 	/// A localized message describing what error occurred.
 62 | 	public var errorDescription: String? { return self }
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:65:1: error: non-nominal type 'URLSessionDataTask' (aka 'AnyObject') cannot be extended
 63 | }
 64 |
 65 | extension URLSessionDataTask: Asyncable {
    | `- error: non-nominal type 'URLSessionDataTask' (aka 'AnyObject') cannot be extended
 66 | }
 67 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:68:1: error: non-nominal type 'URLSessionDownloadTask' (aka 'AnyObject') cannot be extended
 66 | }
 67 |
 68 | extension URLSessionDownloadTask: Asyncable {
    | `- error: non-nominal type 'URLSessionDownloadTask' (aka 'AnyObject') cannot be extended
 69 | }
 70 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:96:23: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 94 | public class HTTPResponse {
 95 | 	/// The metadata associated with the response to an HTTP protocol URL load request.
 96 | 	public let response: HTTPURLResponse
    |                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 97 |
 98 | 	private let result: ResponseResult
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/PromiseQ/Fetch.swift:142:29: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
140 | 	}
141 |
142 | 	fileprivate init(response: HTTPURLResponse, result: ResponseResult) {
    |                             `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
143 | 		self.response = response
144 | 		self.result = result
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/PromiseQ/Fetch.swift:160:8: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
158 | }
159 |
160 | public extension URLSession  {
    |        `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
161 |
162 | 	/// Creates a promise that retrieves the contents of a HTTP request object.
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:307:38: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
305 | /// 	- totalBytes: The expected length of the data.
306 | ///
307 | public typealias Progress = (_ task: URLSessionTask, _ bytes: Int64, _ totalBytes: Int64) -> Void
    |                                      `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
308 |
309 | private class SessionDownloadDelegate: NSObject, URLSessionDownloadDelegate {
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' 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 URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:309:50: error: cannot find type 'URLSessionDownloadDelegate' in scope
307 | public typealias Progress = (_ task: URLSessionTask, _ bytes: Int64, _ totalBytes: Int64) -> Void
308 |
309 | private class SessionDownloadDelegate: NSObject, URLSessionDownloadDelegate {
    |                                                  `- error: cannot find type 'URLSessionDownloadDelegate' in scope
310 | 	let resolve: (HTTPResponse) -> Void
311 | 	let reject: (Error) -> Void
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:321:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
319 | 	}
320 |
321 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
322 | 		progress?(downloadTask, totalBytesWritten, totalBytesExpectedToWrite)
323 | 	}
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:321:55: error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
319 | 	}
320 |
321 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {
    |                                                       `- error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
322 | 		progress?(downloadTask, totalBytesWritten, totalBytesExpectedToWrite)
323 | 	}
Foundation.URLSessionDownloadTask:2:18: note: 'URLSessionDownloadTask' 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 URLSessionDownloadTask = AnyObject
  |                  `- note: 'URLSessionDownloadTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:325:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
323 | 	}
324 |
325 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
326 | 		session.invalidateAndCancel()
327 |
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:325:47: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
323 | 	}
324 |
325 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
    |                                               `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
326 | 		session.invalidateAndCancel()
327 |
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' 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 URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:333:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
331 | 	}
332 |
333 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
334 | 		session.invalidateAndCancel()
335 |
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:333:55: error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
331 | 	}
332 |
333 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
    |                                                       `- error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
334 | 		session.invalidateAndCancel()
335 |
Foundation.URLSessionDownloadTask:2:18: note: 'URLSessionDownloadTask' 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 URLSessionDownloadTask = AnyObject
  |                  `- note: 'URLSessionDownloadTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:392:46: error: cannot find type 'URLSessionTaskDelegate' in scope
390 | // MARK: - Upload
391 |
392 | private class SessionTaskDelegate: NSObject, URLSessionTaskDelegate {
    |                                              `- error: cannot find type 'URLSessionTaskDelegate' in scope
393 | 	let progress: Progress?
394 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:400:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
398 | 	}
399 |
400 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
401 | 		progress?(task, totalBytesSent, totalBytesExpectedToSend)
402 | 	}
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:400:47: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
398 | 	}
399 |
400 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) {
    |                                               `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
401 | 		progress?(task, totalBytesSent, totalBytesExpectedToSend)
402 | 	}
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' 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 URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:28:11: error: cannot find type 'DispatchSemaphore' in scope
 26 | import Foundation
 27 |
 28 | extension DispatchSemaphore {
    |           `- error: cannot find type 'DispatchSemaphore' in scope
 29 | 	static func Lock() -> DispatchSemaphore {
 30 | 		return DispatchSemaphore(value: 0)
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:73:33: error: cannot find type 'DispatchSemaphore' in scope
 71 | 		}
 72 | 	}
 73 | 	@Atomic private var semaphore: DispatchSemaphore?
    |                                 `- error: cannot find type 'DispatchSemaphore' in scope
 74 | 	@Atomic var task: Asyncable?
 75 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:51:31: error: cannot find type 'DispatchQueue' in scope
  49 | }
  50 |
  51 | private func execute(_ queue: DispatchQueue, f: @escaping () -> Void) {
     |                               `- error: cannot find type 'DispatchQueue' in scope
  52 | 	if queue.label == String(cString: __dispatch_queue_get_label(nil)) {
  53 | 		f()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:216:23: error: cannot find type 'DispatchWorkItem' in scope
 214 |
 215 | 	private let f: (@escaping (Result<T, Error>) -> Void) -> Void
 216 | 	private let autoRun: DispatchWorkItem
     |                       `- error: cannot find type 'DispatchWorkItem' in scope
 217 | 	private let monitor: Monitor
 218 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:254:23: error: cannot find type 'DispatchQueue' in scope
 252 | 	/// - SeeAlso: `Promise.resolve()`, `Promise.reject()`
 253 | 	@discardableResult
 254 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping (() throws -> T)) {
     |                       `- error: cannot find type 'DispatchQueue' in scope
 255 | 		let monitor = Monitor()
 256 | 		self.init(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:295:23: error: cannot find type 'DispatchQueue' in scope
 293 | 	/// - Returns: A new `Promise`
 294 | 	/// - SeeAlso: `Promise.resolve()`, `Promise.reject()`
 295 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping (() throws -> Promise<T>)) {
     |                       `- error: cannot find type 'DispatchQueue' in scope
 296 | 		let monitor = Monitor()
 297 | 		self.init(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:351:23: error: cannot find type 'DispatchQueue' in scope
 349 | 	/// - SeeAlso: `Asyncable`
 350 | 	@discardableResult
 351 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                       `- error: cannot find type 'DispatchQueue' in scope
 352 | 				f: @escaping (@escaping (T) -> Void,  @escaping (Error) -> Void, inout Asyncable?) throws -> Void) {
 353 | 		let monitor = Monitor()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:397:23: error: cannot find type 'DispatchQueue' in scope
 395 | 	/// - Returns: A new `Promise`
 396 | 	@discardableResult
 397 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0,  retry: Int = 0,
     |                       `- error: cannot find type 'DispatchQueue' in scope
 398 | 				f: @escaping ( @escaping (T) -> Void,  @escaping (Error) -> Void) throws -> Void) {
 399 | 		self.init(queue, timeout: timeout, retry: retry) { resolve, reject, task in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:426:31: error: cannot find type 'DispatchQueue' in scope
 424 | 	///	- Returns: A new chained promise.
 425 | 	@discardableResult
 426 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping ((T) throws -> U)) -> Promise<U> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 427 | 		autoRun.cancel()
 428 | 		return Promise<U>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:476:31: error: cannot find type 'DispatchQueue' in scope
 474 | 	///	- Returns: A new chained promise.
 475 | 	@discardableResult
 476 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping ((T) throws -> Promise<U>)) -> Promise<U> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 477 | 		autoRun.cancel()
 478 | 		return Promise<U>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:548:31: error: cannot find type 'DispatchQueue' in scope
 546 | 	/// - SeeAlso: `Asyncable`
 547 | 	@discardableResult
 548 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                               `- error: cannot find type 'DispatchQueue' in scope
 549 | 						f: @escaping (T, @escaping (U) -> Void, @escaping (Error) -> Void, inout Asyncable?) throws -> Void) -> Promise<U> {
 550 | 		autoRun.cancel()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:590:31: error: cannot find type 'DispatchQueue' in scope
 588 | 	///	- Returns: A new chained promise.
 589 | 	@discardableResult
 590 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                               `- error: cannot find type 'DispatchQueue' in scope
 591 | 						f: @escaping (T, @escaping (U) -> Void, @escaping (Error) -> Void) throws -> Void) -> Promise<U> {
 592 | 		then(queue, timeout: timeout, retry: retry) { value, resolve, reject, task in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:616:31: error: cannot find type 'DispatchQueue' in scope
 614 | 	///	- Returns: A new chained promise.
 615 | 	@discardableResult
 616 | 	public func `catch`(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping ((Error) throws -> Void)) -> Promise<Void> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 617 | 		autoRun.cancel()
 618 | 		return Promise<Void>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:687:31: error: cannot find type 'DispatchQueue' in scope
 685 | 	///	- Returns: A new chained promise.
 686 | 	@discardableResult
 687 | 	public func finally(_ queue: DispatchQueue = .global(), f: @escaping (() -> Void)) -> Promise<T> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 688 | 		autoRun.cancel()
 689 | 		return Promise<T>(monitor) { callback in
[6/6] Compiling PromiseQ Monitor.swift
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:28:11: error: cannot find type 'DispatchSemaphore' in scope
 26 | import Foundation
 27 |
 28 | extension DispatchSemaphore {
    |           `- error: cannot find type 'DispatchSemaphore' in scope
 29 | 	static func Lock() -> DispatchSemaphore {
 30 | 		return DispatchSemaphore(value: 0)
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:73:33: error: cannot find type 'DispatchSemaphore' in scope
 71 | 		}
 72 | 	}
 73 | 	@Atomic private var semaphore: DispatchSemaphore?
    |                                 `- error: cannot find type 'DispatchSemaphore' in scope
 74 | 	@Atomic var task: Asyncable?
 75 |
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:39:2: error: cannot find 'objc_sync_enter' in scope
 37 |
 38 | func synchronized<T : AnyObject, U>(_ obj: T, closure: () -> U) -> U {
 39 | 	objc_sync_enter(obj)
    |  `- error: cannot find 'objc_sync_enter' in scope
 40 | 	defer {
 41 | 		objc_sync_exit(obj)
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:41:3: error: cannot find 'objc_sync_exit' in scope
 39 | 	objc_sync_enter(obj)
 40 | 	defer {
 41 | 		objc_sync_exit(obj)
    |   `- error: cannot find 'objc_sync_exit' in scope
 42 | 	}
 43 | 	return closure()
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:92:17: error: cannot infer contextual base in reference to member 'Lock'
 90 |
 91 | 		if semaphore == nil {
 92 | 			semaphore = .Lock()
    |                 `- error: cannot infer contextual base in reference to member 'Lock'
 93 | 		}
 94 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:29:24: error: cannot find type 'DispatchSemaphore' in scope
 27 |
 28 | extension DispatchSemaphore {
 29 | 	static func Lock() -> DispatchSemaphore {
    |                        `- error: cannot find type 'DispatchSemaphore' in scope
 30 | 		return DispatchSemaphore(value: 0)
 31 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:33:25: error: cannot find type 'DispatchSemaphore' in scope
 31 | 	}
 32 |
 33 | 	static func Mutex() -> DispatchSemaphore {
    |                         `- error: cannot find type 'DispatchSemaphore' in scope
 34 | 		return DispatchSemaphore(value: 1)
 35 | 	}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/5] Compiling PromiseQ Monitor.swift
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:28:11: error: cannot find type 'DispatchSemaphore' in scope
 26 | import Foundation
 27 |
 28 | extension DispatchSemaphore {
    |           `- error: cannot find type 'DispatchSemaphore' in scope
 29 | 	static func Lock() -> DispatchSemaphore {
 30 | 		return DispatchSemaphore(value: 0)
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:73:33: error: cannot find type 'DispatchSemaphore' in scope
 71 | 		}
 72 | 	}
 73 | 	@Atomic private var semaphore: DispatchSemaphore?
    |                                 `- error: cannot find type 'DispatchSemaphore' in scope
 74 | 	@Atomic var task: Asyncable?
 75 |
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:39:2: error: cannot find 'objc_sync_enter' in scope
 37 |
 38 | func synchronized<T : AnyObject, U>(_ obj: T, closure: () -> U) -> U {
 39 | 	objc_sync_enter(obj)
    |  `- error: cannot find 'objc_sync_enter' in scope
 40 | 	defer {
 41 | 		objc_sync_exit(obj)
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:41:3: error: cannot find 'objc_sync_exit' in scope
 39 | 	objc_sync_enter(obj)
 40 | 	defer {
 41 | 		objc_sync_exit(obj)
    |   `- error: cannot find 'objc_sync_exit' in scope
 42 | 	}
 43 | 	return closure()
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:92:17: error: cannot infer contextual base in reference to member 'Lock'
 90 |
 91 | 		if semaphore == nil {
 92 | 			semaphore = .Lock()
    |                 `- error: cannot infer contextual base in reference to member 'Lock'
 93 | 		}
 94 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:29:24: error: cannot find type 'DispatchSemaphore' in scope
 27 |
 28 | extension DispatchSemaphore {
 29 | 	static func Lock() -> DispatchSemaphore {
    |                        `- error: cannot find type 'DispatchSemaphore' in scope
 30 | 		return DispatchSemaphore(value: 0)
 31 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:33:25: error: cannot find type 'DispatchSemaphore' in scope
 31 | 	}
 32 |
 33 | 	static func Mutex() -> DispatchSemaphore {
    |                         `- error: cannot find type 'DispatchSemaphore' in scope
 34 | 		return DispatchSemaphore(value: 1)
 35 | 	}
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/5] Emitting module PromiseQ
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:60:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 58 |
 59 | /// String errors
 60 | extension String : LocalizedError {
    | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 61 | 	/// A localized message describing what error occurred.
 62 | 	public var errorDescription: String? { return self }
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:65:1: error: non-nominal type 'URLSessionDataTask' (aka 'AnyObject') cannot be extended
 63 | }
 64 |
 65 | extension URLSessionDataTask: Asyncable {
    | `- error: non-nominal type 'URLSessionDataTask' (aka 'AnyObject') cannot be extended
 66 | }
 67 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:68:1: error: non-nominal type 'URLSessionDownloadTask' (aka 'AnyObject') cannot be extended
 66 | }
 67 |
 68 | extension URLSessionDownloadTask: Asyncable {
    | `- error: non-nominal type 'URLSessionDownloadTask' (aka 'AnyObject') cannot be extended
 69 | }
 70 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:96:23: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 94 | public class HTTPResponse {
 95 | 	/// The metadata associated with the response to an HTTP protocol URL load request.
 96 | 	public let response: HTTPURLResponse
    |                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 97 |
 98 | 	private let result: ResponseResult
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/PromiseQ/Fetch.swift:142:29: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
140 | 	}
141 |
142 | 	fileprivate init(response: HTTPURLResponse, result: ResponseResult) {
    |                             `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
143 | 		self.response = response
144 | 		self.result = result
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/PromiseQ/Fetch.swift:160:8: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
158 | }
159 |
160 | public extension URLSession  {
    |        `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
161 |
162 | 	/// Creates a promise that retrieves the contents of a HTTP request object.
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:307:38: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
305 | /// 	- totalBytes: The expected length of the data.
306 | ///
307 | public typealias Progress = (_ task: URLSessionTask, _ bytes: Int64, _ totalBytes: Int64) -> Void
    |                                      `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
308 |
309 | private class SessionDownloadDelegate: NSObject, URLSessionDownloadDelegate {
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' 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 URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:309:50: error: cannot find type 'URLSessionDownloadDelegate' in scope
307 | public typealias Progress = (_ task: URLSessionTask, _ bytes: Int64, _ totalBytes: Int64) -> Void
308 |
309 | private class SessionDownloadDelegate: NSObject, URLSessionDownloadDelegate {
    |                                                  `- error: cannot find type 'URLSessionDownloadDelegate' in scope
310 | 	let resolve: (HTTPResponse) -> Void
311 | 	let reject: (Error) -> Void
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:321:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
319 | 	}
320 |
321 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
322 | 		progress?(downloadTask, totalBytesWritten, totalBytesExpectedToWrite)
323 | 	}
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:321:55: error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
319 | 	}
320 |
321 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {
    |                                                       `- error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
322 | 		progress?(downloadTask, totalBytesWritten, totalBytesExpectedToWrite)
323 | 	}
Foundation.URLSessionDownloadTask:2:18: note: 'URLSessionDownloadTask' 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 URLSessionDownloadTask = AnyObject
  |                  `- note: 'URLSessionDownloadTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:325:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
323 | 	}
324 |
325 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
326 | 		session.invalidateAndCancel()
327 |
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:325:47: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
323 | 	}
324 |
325 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
    |                                               `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
326 | 		session.invalidateAndCancel()
327 |
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' 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 URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:333:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
331 | 	}
332 |
333 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
334 | 		session.invalidateAndCancel()
335 |
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:333:55: error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
331 | 	}
332 |
333 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
    |                                                       `- error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
334 | 		session.invalidateAndCancel()
335 |
Foundation.URLSessionDownloadTask:2:18: note: 'URLSessionDownloadTask' 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 URLSessionDownloadTask = AnyObject
  |                  `- note: 'URLSessionDownloadTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:392:46: error: cannot find type 'URLSessionTaskDelegate' in scope
390 | // MARK: - Upload
391 |
392 | private class SessionTaskDelegate: NSObject, URLSessionTaskDelegate {
    |                                              `- error: cannot find type 'URLSessionTaskDelegate' in scope
393 | 	let progress: Progress?
394 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:400:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
398 | 	}
399 |
400 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
401 | 		progress?(task, totalBytesSent, totalBytesExpectedToSend)
402 | 	}
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:400:47: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
398 | 	}
399 |
400 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) {
    |                                               `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
401 | 		progress?(task, totalBytesSent, totalBytesExpectedToSend)
402 | 	}
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' 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 URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:28:11: error: cannot find type 'DispatchSemaphore' in scope
 26 | import Foundation
 27 |
 28 | extension DispatchSemaphore {
    |           `- error: cannot find type 'DispatchSemaphore' in scope
 29 | 	static func Lock() -> DispatchSemaphore {
 30 | 		return DispatchSemaphore(value: 0)
/host/spi-builder-workspace/Sources/PromiseQ/Monitor.swift:73:33: error: cannot find type 'DispatchSemaphore' in scope
 71 | 		}
 72 | 	}
 73 | 	@Atomic private var semaphore: DispatchSemaphore?
    |                                 `- error: cannot find type 'DispatchSemaphore' in scope
 74 | 	@Atomic var task: Asyncable?
 75 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:51:31: error: cannot find type 'DispatchQueue' in scope
  49 | }
  50 |
  51 | private func execute(_ queue: DispatchQueue, f: @escaping () -> Void) {
     |                               `- error: cannot find type 'DispatchQueue' in scope
  52 | 	if queue.label == String(cString: __dispatch_queue_get_label(nil)) {
  53 | 		f()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:216:23: error: cannot find type 'DispatchWorkItem' in scope
 214 |
 215 | 	private let f: (@escaping (Result<T, Error>) -> Void) -> Void
 216 | 	private let autoRun: DispatchWorkItem
     |                       `- error: cannot find type 'DispatchWorkItem' in scope
 217 | 	private let monitor: Monitor
 218 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:254:23: error: cannot find type 'DispatchQueue' in scope
 252 | 	/// - SeeAlso: `Promise.resolve()`, `Promise.reject()`
 253 | 	@discardableResult
 254 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping (() throws -> T)) {
     |                       `- error: cannot find type 'DispatchQueue' in scope
 255 | 		let monitor = Monitor()
 256 | 		self.init(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:295:23: error: cannot find type 'DispatchQueue' in scope
 293 | 	/// - Returns: A new `Promise`
 294 | 	/// - SeeAlso: `Promise.resolve()`, `Promise.reject()`
 295 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping (() throws -> Promise<T>)) {
     |                       `- error: cannot find type 'DispatchQueue' in scope
 296 | 		let monitor = Monitor()
 297 | 		self.init(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:351:23: error: cannot find type 'DispatchQueue' in scope
 349 | 	/// - SeeAlso: `Asyncable`
 350 | 	@discardableResult
 351 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                       `- error: cannot find type 'DispatchQueue' in scope
 352 | 				f: @escaping (@escaping (T) -> Void,  @escaping (Error) -> Void, inout Asyncable?) throws -> Void) {
 353 | 		let monitor = Monitor()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:397:23: error: cannot find type 'DispatchQueue' in scope
 395 | 	/// - Returns: A new `Promise`
 396 | 	@discardableResult
 397 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0,  retry: Int = 0,
     |                       `- error: cannot find type 'DispatchQueue' in scope
 398 | 				f: @escaping ( @escaping (T) -> Void,  @escaping (Error) -> Void) throws -> Void) {
 399 | 		self.init(queue, timeout: timeout, retry: retry) { resolve, reject, task in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:426:31: error: cannot find type 'DispatchQueue' in scope
 424 | 	///	- Returns: A new chained promise.
 425 | 	@discardableResult
 426 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping ((T) throws -> U)) -> Promise<U> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 427 | 		autoRun.cancel()
 428 | 		return Promise<U>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:476:31: error: cannot find type 'DispatchQueue' in scope
 474 | 	///	- Returns: A new chained promise.
 475 | 	@discardableResult
 476 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping ((T) throws -> Promise<U>)) -> Promise<U> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 477 | 		autoRun.cancel()
 478 | 		return Promise<U>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:548:31: error: cannot find type 'DispatchQueue' in scope
 546 | 	/// - SeeAlso: `Asyncable`
 547 | 	@discardableResult
 548 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                               `- error: cannot find type 'DispatchQueue' in scope
 549 | 						f: @escaping (T, @escaping (U) -> Void, @escaping (Error) -> Void, inout Asyncable?) throws -> Void) -> Promise<U> {
 550 | 		autoRun.cancel()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:590:31: error: cannot find type 'DispatchQueue' in scope
 588 | 	///	- Returns: A new chained promise.
 589 | 	@discardableResult
 590 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                               `- error: cannot find type 'DispatchQueue' in scope
 591 | 						f: @escaping (T, @escaping (U) -> Void, @escaping (Error) -> Void) throws -> Void) -> Promise<U> {
 592 | 		then(queue, timeout: timeout, retry: retry) { value, resolve, reject, task in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:616:31: error: cannot find type 'DispatchQueue' in scope
 614 | 	///	- Returns: A new chained promise.
 615 | 	@discardableResult
 616 | 	public func `catch`(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping ((Error) throws -> Void)) -> Promise<Void> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 617 | 		autoRun.cancel()
 618 | 		return Promise<Void>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:687:31: error: cannot find type 'DispatchQueue' in scope
 685 | 	///	- Returns: A new chained promise.
 686 | 	@discardableResult
 687 | 	public func finally(_ queue: DispatchQueue = .global(), f: @escaping (() -> Void)) -> Promise<T> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 688 | 		autoRun.cancel()
 689 | 		return Promise<T>(monitor) { callback in
[4/5] Compiling PromiseQ Fetch.swift
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:60:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 58 |
 59 | /// String errors
 60 | extension String : LocalizedError {
    | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 61 | 	/// A localized message describing what error occurred.
 62 | 	public var errorDescription: String? { return self }
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:65:1: error: non-nominal type 'URLSessionDataTask' (aka 'AnyObject') cannot be extended
 63 | }
 64 |
 65 | extension URLSessionDataTask: Asyncable {
    | `- error: non-nominal type 'URLSessionDataTask' (aka 'AnyObject') cannot be extended
 66 | }
 67 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:68:1: error: non-nominal type 'URLSessionDownloadTask' (aka 'AnyObject') cannot be extended
 66 | }
 67 |
 68 | extension URLSessionDownloadTask: Asyncable {
    | `- error: non-nominal type 'URLSessionDownloadTask' (aka 'AnyObject') cannot be extended
 69 | }
 70 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:96:23: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 94 | public class HTTPResponse {
 95 | 	/// The metadata associated with the response to an HTTP protocol URL load request.
 96 | 	public let response: HTTPURLResponse
    |                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 97 |
 98 | 	private let result: ResponseResult
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/PromiseQ/Fetch.swift:142:29: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
140 | 	}
141 |
142 | 	fileprivate init(response: HTTPURLResponse, result: ResponseResult) {
    |                             `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
143 | 		self.response = response
144 | 		self.result = result
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/PromiseQ/Fetch.swift:160:8: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
158 | }
159 |
160 | public extension URLSession  {
    |        `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended
161 |
162 | 	/// Creates a promise that retrieves the contents of a HTTP request object.
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:307:38: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
305 | /// 	- totalBytes: The expected length of the data.
306 | ///
307 | public typealias Progress = (_ task: URLSessionTask, _ bytes: Int64, _ totalBytes: Int64) -> Void
    |                                      `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
308 |
309 | private class SessionDownloadDelegate: NSObject, URLSessionDownloadDelegate {
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' 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 URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:309:50: error: cannot find type 'URLSessionDownloadDelegate' in scope
307 | public typealias Progress = (_ task: URLSessionTask, _ bytes: Int64, _ totalBytes: Int64) -> Void
308 |
309 | private class SessionDownloadDelegate: NSObject, URLSessionDownloadDelegate {
    |                                                  `- error: cannot find type 'URLSessionDownloadDelegate' in scope
310 | 	let resolve: (HTTPResponse) -> Void
311 | 	let reject: (Error) -> Void
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:321:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
319 | 	}
320 |
321 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
322 | 		progress?(downloadTask, totalBytesWritten, totalBytesExpectedToWrite)
323 | 	}
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:321:55: error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
319 | 	}
320 |
321 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {
    |                                                       `- error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
322 | 		progress?(downloadTask, totalBytesWritten, totalBytesExpectedToWrite)
323 | 	}
Foundation.URLSessionDownloadTask:2:18: note: 'URLSessionDownloadTask' 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 URLSessionDownloadTask = AnyObject
  |                  `- note: 'URLSessionDownloadTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:325:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
323 | 	}
324 |
325 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
326 | 		session.invalidateAndCancel()
327 |
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:325:47: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
323 | 	}
324 |
325 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
    |                                               `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
326 | 		session.invalidateAndCancel()
327 |
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' 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 URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:333:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
331 | 	}
332 |
333 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
334 | 		session.invalidateAndCancel()
335 |
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:333:55: error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
331 | 	}
332 |
333 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
    |                                                       `- error: 'URLSessionDownloadTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
334 | 		session.invalidateAndCancel()
335 |
Foundation.URLSessionDownloadTask:2:18: note: 'URLSessionDownloadTask' 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 URLSessionDownloadTask = AnyObject
  |                  `- note: 'URLSessionDownloadTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:392:46: error: cannot find type 'URLSessionTaskDelegate' in scope
390 | // MARK: - Upload
391 |
392 | private class SessionTaskDelegate: NSObject, URLSessionTaskDelegate {
    |                                              `- error: cannot find type 'URLSessionTaskDelegate' in scope
393 | 	let progress: Progress?
394 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:400:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
398 | 	}
399 |
400 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
401 | 		progress?(task, totalBytesSent, totalBytesExpectedToSend)
402 | 	}
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:400:47: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
398 | 	}
399 |
400 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) {
    |                                               `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
401 | 		progress?(task, totalBytesSent, totalBytesExpectedToSend)
402 | 	}
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' 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 URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:102:33: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
100 | 	/// HTTP status code is 200-299.
101 | 	public var ok: Bool {
102 | 		(200...299).contains(response.statusCode)
    |                                 `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
103 | 	}
104 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:107:54: error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
105 | 	/// Returns a localized string corresponding to a specified HTTP status code.
106 | 	public var statusCodeDescription: String {
107 | 		"HTTP \(response.statusCode) - " + HTTPURLResponse.localizedString(forStatusCode: response.statusCode)
    |                                                      `- error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
108 | 	}
109 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:107:94: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
105 | 	/// Returns a localized string corresponding to a specified HTTP status code.
106 | 	public var statusCodeDescription: String {
107 | 		"HTTP \(response.statusCode) - " + HTTPURLResponse.localizedString(forStatusCode: response.statusCode)
    |                                                                                              `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
108 | 	}
109 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:107:20: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
105 | 	/// Returns a localized string corresponding to a specified HTTP status code.
106 | 	public var statusCodeDescription: String {
107 | 		"HTTP \(response.statusCode) - " + HTTPURLResponse.localizedString(forStatusCode: response.statusCode)
    |                    `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
108 | 	}
109 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:149:4: error: cannot find 'DispatchQueue' in scope
147 | 	private func clean() {
148 | 		if case let .location(url) = result {
149 | 			DispatchQueue.global().asyncAfter(deadline: .now() + 0.1) {
    |    `- error: cannot find 'DispatchQueue' in scope
150 | 				try? FileManager.default.removeItem(at: url)
151 | 			}
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:149:49: error: cannot call value of non-function type 'Date'
147 | 	private func clean() {
148 | 		if case let .location(url) = result {
149 | 			DispatchQueue.global().asyncAfter(deadline: .now() + 0.1) {
    |                                                 `- error: cannot call value of non-function type 'Date'
150 | 				try? FileManager.default.removeItem(at: url)
151 | 			}
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:295:13: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
293 | ///
294 | public func fetch(_ path: String, method: HTTPMethod = .GET, headers: [String : String]? = nil, body: Data? = nil, retry: Int = 0) -> Promise<HTTPResponse> {
295 | 	URLSession.shared.fetch(path, method: method, headers: headers, body: body, retry: retry)
    |             `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
296 | }
297 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:326:11: error: value of type 'URLSession' (aka 'AnyObject') has no member 'invalidateAndCancel'
324 |
325 | 	func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
326 | 		session.invalidateAndCancel()
    |           `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'invalidateAndCancel'
327 |
328 | 		if error != nil {
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:334:11: error: value of type 'URLSession' (aka 'AnyObject') has no member 'invalidateAndCancel'
332 |
333 | 	func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
334 | 		session.invalidateAndCancel()
    |           `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'invalidateAndCancel'
335 |
336 | 		// Rename
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:344:54: error: value of type 'URLSessionDownloadTask' (aka 'AnyObject') has no member 'response'
342 | 		url = (url as NSURL).deletingLastPathComponent!.appendingPathComponent(name)
343 |
344 | 		let response = HTTPResponse(response: downloadTask.response as! HTTPURLResponse, result: .location(url))
    |                                                      `- error: value of type 'URLSessionDownloadTask' (aka 'AnyObject') has no member 'response'
345 | 		resolve(response)
346 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:375:18: error: cannot find 'URLRequest' in scope
373 |
374 | 		case let .success(url):
375 | 			var request = URLRequest(url: url)
    |                  `- error: cannot find 'URLRequest' in scope
376 | 			request.httpMethod = method.rawValue
377 | 			request.allHTTPHeaderFields = headers
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:254:23: error: cannot find type 'DispatchQueue' in scope
 252 | 	/// - SeeAlso: `Promise.resolve()`, `Promise.reject()`
 253 | 	@discardableResult
 254 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping (() throws -> T)) {
     |                       `- error: cannot find type 'DispatchQueue' in scope
 255 | 		let monitor = Monitor()
 256 | 		self.init(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:295:23: error: cannot find type 'DispatchQueue' in scope
 293 | 	/// - Returns: A new `Promise`
 294 | 	/// - SeeAlso: `Promise.resolve()`, `Promise.reject()`
 295 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping (() throws -> Promise<T>)) {
     |                       `- error: cannot find type 'DispatchQueue' in scope
 296 | 		let monitor = Monitor()
 297 | 		self.init(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:351:23: error: cannot find type 'DispatchQueue' in scope
 349 | 	/// - SeeAlso: `Asyncable`
 350 | 	@discardableResult
 351 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                       `- error: cannot find type 'DispatchQueue' in scope
 352 | 				f: @escaping (@escaping (T) -> Void,  @escaping (Error) -> Void, inout Asyncable?) throws -> Void) {
 353 | 		let monitor = Monitor()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:397:23: error: cannot find type 'DispatchQueue' in scope
 395 | 	/// - Returns: A new `Promise`
 396 | 	@discardableResult
 397 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0,  retry: Int = 0,
     |                       `- error: cannot find type 'DispatchQueue' in scope
 398 | 				f: @escaping ( @escaping (T) -> Void,  @escaping (Error) -> Void) throws -> Void) {
 399 | 		self.init(queue, timeout: timeout, retry: retry) { resolve, reject, task in
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:380:11: error: 'Promise<T>' initializer is inaccessible due to 'private' protection level
378 | 			request.httpBody = body
379 |
380 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |           `- error: 'Promise<T>' initializer is inaccessible due to 'private' protection level
381 | 				let delegate = SessionDownloadDelegate(resolve: resolve, reject: reject, progress: progress)
382 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:224:10: note: 'init(_:f:)' declared here
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:380:32: error: extraneous argument label 'retry:' in call
378 | 			request.httpBody = body
379 |
380 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |                                `- error: extraneous argument label 'retry:' in call
381 | 				let delegate = SessionDownloadDelegate(resolve: resolve, reject: reject, progress: progress)
382 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:380:40: error: cannot convert value of type 'Int' to expected argument type 'Monitor'
378 | 			request.httpBody = body
379 |
380 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |                                        `- error: cannot convert value of type 'Int' to expected argument type 'Monitor'
381 | 				let delegate = SessionDownloadDelegate(resolve: resolve, reject: reject, progress: progress)
382 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:380:49: error: contextual closure type '(@escaping (Result<HTTPResponse, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
378 | 			request.httpBody = body
379 |
380 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |                                                 `- error: contextual closure type '(@escaping (Result<HTTPResponse, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
381 | 				let delegate = SessionDownloadDelegate(resolve: resolve, reject: reject, progress: progress)
382 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:381:53: error: cannot convert value of type '(Result<HTTPResponse, any Error>) -> Void' to expected argument type '(HTTPResponse) -> Void'
379 |
380 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
381 | 				let delegate = SessionDownloadDelegate(resolve: resolve, reject: reject, progress: progress)
    |                                                     `- error: cannot convert value of type '(Result<HTTPResponse, any Error>) -> Void' to expected argument type '(HTTPResponse) -> Void'
382 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
383 |
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:412:18: error: cannot find 'URLRequest' in scope
410 |
411 | 		case let .success(url):
412 | 			var request = URLRequest(url: url)
    |                  `- error: cannot find 'URLRequest' in scope
413 | 			request.httpMethod = method.rawValue
414 | 			request.allHTTPHeaderFields = headers
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:416:11: error: 'Promise<T>' initializer is inaccessible due to 'private' protection level
414 | 			request.allHTTPHeaderFields = headers
415 |
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |           `- error: 'Promise<T>' initializer is inaccessible due to 'private' protection level
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:224:10: note: 'init(_:f:)' declared here
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:416:32: error: extraneous argument label 'retry:' in call
414 | 			request.allHTTPHeaderFields = headers
415 |
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |                                `- error: extraneous argument label 'retry:' in call
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:416:40: error: cannot convert value of type 'Int' to expected argument type 'Monitor'
414 | 			request.allHTTPHeaderFields = headers
415 |
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |                                        `- error: cannot convert value of type 'Int' to expected argument type 'Monitor'
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:416:49: error: contextual closure type '(@escaping (Result<HTTPResponse, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
414 | 			request.allHTTPHeaderFields = headers
415 |
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
    |                                                 `- error: contextual closure type '(@escaping (Result<HTTPResponse, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:418:30: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
    |                              `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
419 |
420 | 				let completion = { (data: Data?, response: URLResponse?, error: Error?) in
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:418:51: error: cannot infer contextual base in reference to member 'default'
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
    |                                                   `- error: cannot infer contextual base in reference to member 'default'
419 |
420 | 				let completion = { (data: Data?, response: URLResponse?, error: Error?) in
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:418:95: error: 'nil' requires a contextual type
416 | 			return Promise<HTTPResponse>(retry: retry) { resolve, reject, task in
417 | 				let delegate = SessionTaskDelegate(progress: progress)
418 | 				let session = URLSession.init(configuration: .default, delegate: delegate, delegateQueue: nil)
    |                                                                                               `- error: 'nil' requires a contextual type
419 |
420 | 				let completion = { (data: Data?, response: URLResponse?, error: Error?) in
/host/spi-builder-workspace/Sources/PromiseQ/Fetch.swift:184:24: error: cannot find type 'URLRequest' in scope
182 | 	/// - SeeAlso: `HTTPResponse`
183 | 	///
184 | 	func fetch(_ request: URLRequest, retry: Int = 0) -> Promise<HTTPResponse> {
    |                        `- error: cannot find type 'URLRequest' in scope
185 | 		guard let url = request.url?.absoluteString, isHTTP(url) else {
186 | 			return Promise<HTTPResponse>.reject(ErrorNotHTTP)
[5/5] Compiling PromiseQ PromiseQ.swift
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:51:31: error: cannot find type 'DispatchQueue' in scope
  49 | }
  50 |
  51 | private func execute(_ queue: DispatchQueue, f: @escaping () -> Void) {
     |                               `- error: cannot find type 'DispatchQueue' in scope
  52 | 	if queue.label == String(cString: __dispatch_queue_get_label(nil)) {
  53 | 		f()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:216:23: error: cannot find type 'DispatchWorkItem' in scope
 214 |
 215 | 	private let f: (@escaping (Result<T, Error>) -> Void) -> Void
 216 | 	private let autoRun: DispatchWorkItem
     |                       `- error: cannot find type 'DispatchWorkItem' in scope
 217 | 	private let monitor: Monitor
 218 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:254:23: error: cannot find type 'DispatchQueue' in scope
 252 | 	/// - SeeAlso: `Promise.resolve()`, `Promise.reject()`
 253 | 	@discardableResult
 254 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping (() throws -> T)) {
     |                       `- error: cannot find type 'DispatchQueue' in scope
 255 | 		let monitor = Monitor()
 256 | 		self.init(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:295:23: error: cannot find type 'DispatchQueue' in scope
 293 | 	/// - Returns: A new `Promise`
 294 | 	/// - SeeAlso: `Promise.resolve()`, `Promise.reject()`
 295 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping (() throws -> Promise<T>)) {
     |                       `- error: cannot find type 'DispatchQueue' in scope
 296 | 		let monitor = Monitor()
 297 | 		self.init(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:351:23: error: cannot find type 'DispatchQueue' in scope
 349 | 	/// - SeeAlso: `Asyncable`
 350 | 	@discardableResult
 351 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                       `- error: cannot find type 'DispatchQueue' in scope
 352 | 				f: @escaping (@escaping (T) -> Void,  @escaping (Error) -> Void, inout Asyncable?) throws -> Void) {
 353 | 		let monitor = Monitor()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:397:23: error: cannot find type 'DispatchQueue' in scope
 395 | 	/// - Returns: A new `Promise`
 396 | 	@discardableResult
 397 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0,  retry: Int = 0,
     |                       `- error: cannot find type 'DispatchQueue' in scope
 398 | 				f: @escaping ( @escaping (T) -> Void,  @escaping (Error) -> Void) throws -> Void) {
 399 | 		self.init(queue, timeout: timeout, retry: retry) { resolve, reject, task in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:426:31: error: cannot find type 'DispatchQueue' in scope
 424 | 	///	- Returns: A new chained promise.
 425 | 	@discardableResult
 426 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping ((T) throws -> U)) -> Promise<U> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 427 | 		autoRun.cancel()
 428 | 		return Promise<U>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:476:31: error: cannot find type 'DispatchQueue' in scope
 474 | 	///	- Returns: A new chained promise.
 475 | 	@discardableResult
 476 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping ((T) throws -> Promise<U>)) -> Promise<U> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 477 | 		autoRun.cancel()
 478 | 		return Promise<U>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:548:31: error: cannot find type 'DispatchQueue' in scope
 546 | 	/// - SeeAlso: `Asyncable`
 547 | 	@discardableResult
 548 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                               `- error: cannot find type 'DispatchQueue' in scope
 549 | 						f: @escaping (T, @escaping (U) -> Void, @escaping (Error) -> Void, inout Asyncable?) throws -> Void) -> Promise<U> {
 550 | 		autoRun.cancel()
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:590:31: error: cannot find type 'DispatchQueue' in scope
 588 | 	///	- Returns: A new chained promise.
 589 | 	@discardableResult
 590 | 	public func then<U>(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0,
     |                               `- error: cannot find type 'DispatchQueue' in scope
 591 | 						f: @escaping (T, @escaping (U) -> Void, @escaping (Error) -> Void) throws -> Void) -> Promise<U> {
 592 | 		then(queue, timeout: timeout, retry: retry) { value, resolve, reject, task in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:616:31: error: cannot find type 'DispatchQueue' in scope
 614 | 	///	- Returns: A new chained promise.
 615 | 	@discardableResult
 616 | 	public func `catch`(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0, retry: Int = 0, f: @escaping ((Error) throws -> Void)) -> Promise<Void> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 617 | 		autoRun.cancel()
 618 | 		return Promise<Void>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:687:31: error: cannot find type 'DispatchQueue' in scope
 685 | 	///	- Returns: A new chained promise.
 686 | 	@discardableResult
 687 | 	public func finally(_ queue: DispatchQueue = .global(), f: @escaping (() -> Void)) -> Promise<T> {
     |                               `- error: cannot find type 'DispatchQueue' in scope
 688 | 		autoRun.cancel()
 689 | 		return Promise<T>(monitor) { callback in
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:30:13: error: cannot find 'DispatchWorkItem' in scope
  28 | private func setTimeout<T>(timeout: TimeInterval, pending: @escaping (Result<T, Error>) -> Void) {
  29 | 	guard timeout > 0 else { return }
  30 | 	let work = DispatchWorkItem {
     |             `- error: cannot find 'DispatchWorkItem' in scope
  31 | 		pending(.failure(PromiseError.timedOut))
  32 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:33:2: error: cannot find 'DispatchQueue' in scope
  31 | 		pending(.failure(PromiseError.timedOut))
  32 | 	}
  33 | 	DispatchQueue.global(qos: .userInitiated).asyncAfter(deadline: .now() + timeout, execute: work)
     |  `- error: cannot find 'DispatchQueue' in scope
  34 | }
  35 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:33:29: error: cannot infer contextual base in reference to member 'userInitiated'
  31 | 		pending(.failure(PromiseError.timedOut))
  32 | 	}
  33 | 	DispatchQueue.global(qos: .userInitiated).asyncAfter(deadline: .now() + timeout, execute: work)
     |                             `- error: cannot infer contextual base in reference to member 'userInitiated'
  34 | }
  35 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:33:66: error: cannot call value of non-function type 'Date'
  31 | 		pending(.failure(PromiseError.timedOut))
  32 | 	}
  33 | 	DispatchQueue.global(qos: .userInitiated).asyncAfter(deadline: .now() + timeout, execute: work)
     |                                                                  `- error: cannot call value of non-function type 'Date'
  34 | }
  35 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:52:36: error: cannot find '__dispatch_queue_get_label' in scope
  50 |
  51 | private func execute(_ queue: DispatchQueue, f: @escaping () -> Void) {
  52 | 	if queue.label == String(cString: __dispatch_queue_get_label(nil)) {
     |                                    `- error: cannot find '__dispatch_queue_get_label' in scope
  53 | 		f()
  54 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:52:63: error: 'nil' requires a contextual type
  50 |
  51 | private func execute(_ queue: DispatchQueue, f: @escaping () -> Void) {
  52 | 	if queue.label == String(cString: __dispatch_queue_get_label(nil)) {
     |                                                               `- error: 'nil' requires a contextual type
  53 | 		f()
  54 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:85:13: error: cannot find 'DispatchSemaphore' in scope
  83 |
  84 | 	var r = count
  85 | 	let lock = DispatchSemaphore.Lock()
     |             `- error: cannot find 'DispatchSemaphore' in scope
  86 | 	repeat {
  87 | 		guard monitor.wait() else { return }
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:228:18: error: cannot find 'DispatchWorkItem' in scope
 226 | 		self.monitor = monitor
 227 |
 228 | 		self.autoRun = DispatchWorkItem { f { _ in } }
     |                  `- error: cannot find 'DispatchWorkItem' in scope
 229 | 		DispatchQueue.global().asyncAfter(deadline: .now() + 0.01, execute: self.autoRun)
 230 | 	}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:229:3: error: cannot find 'DispatchQueue' in scope
 227 |
 228 | 		self.autoRun = DispatchWorkItem { f { _ in } }
 229 | 		DispatchQueue.global().asyncAfter(deadline: .now() + 0.01, execute: self.autoRun)
     |   `- error: cannot find 'DispatchQueue' in scope
 230 | 	}
 231 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:229:48: error: cannot call value of non-function type 'Date'
 227 |
 228 | 		self.autoRun = DispatchWorkItem { f { _ in } }
 229 | 		DispatchQueue.global().asyncAfter(deadline: .now() + 0.01, execute: self.autoRun)
     |                                                `- error: cannot call value of non-function type 'Date'
 230 | 	}
 231 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:399:12: error: extra arguments at positions #2, #3, #4 in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 397 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0,  retry: Int = 0,
 398 | 				f: @escaping ( @escaping (T) -> Void,  @escaping (Error) -> Void) throws -> Void) {
 399 | 		self.init(queue, timeout: timeout, retry: retry) { resolve, reject, task in
     |            `- error: extra arguments at positions #2, #3, #4 in call
 400 | 			try f(resolve, reject)
 401 | 		}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:399:18: error: missing argument for parameter 'f' in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 397 | 	public init(_ queue: DispatchQueue = .global(), timeout: TimeInterval = 0,  retry: Int = 0,
 398 | 				f: @escaping ( @escaping (T) -> Void,  @escaping (Error) -> Void) throws -> Void) {
 399 | 		self.init(queue, timeout: timeout, retry: retry) { resolve, reject, task in
     |                  `- error: missing argument for parameter 'f' in call
 400 | 			try f(resolve, reject)
 401 | 		}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:731:14: error: cannot find 'DispatchSemaphore' in scope
 729 | 		var result: T?
 730 | 		var error: Error?
 731 | 		let lock = DispatchSemaphore.Lock()
     |              `- error: cannot find 'DispatchSemaphore' in scope
 732 |
 733 | 		self.then {
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:780:20: error: missing argument for parameter #1 in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 778 | 	///	- Returns: A new resolved promise
 779 | 	public static func resolve(_ value: T) -> Promise<T> {
 780 | 		return Promise<T> { return value }
     |                    `- error: missing argument for parameter #1 in call
 781 | 	}
 782 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:780:21: error: contextual type for closure argument list expects 1 argument, which cannot be implicitly ignored
 778 | 	///	- Returns: A new resolved promise
 779 | 	public static func resolve(_ value: T) -> Promise<T> {
 780 | 		return Promise<T> { return value }
     |                     `- error: contextual type for closure argument list expects 1 argument, which cannot be implicitly ignored
 781 | 	}
 782 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:780:30: error: cannot convert value of type 'T' to closure result type 'Void'
 778 | 	///	- Returns: A new resolved promise
 779 | 	public static func resolve(_ value: T) -> Promise<T> {
 780 | 		return Promise<T> { return value }
     |                              `- error: cannot convert value of type 'T' to closure result type 'Void'
 781 | 	}
 782 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:795:17: error: missing argument for parameter #1 in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 793 | 	///	- Returns: A new rejected promise
 794 | 	public static func reject(_ error: Error) -> Promise<T> {
 795 | 		return Promise { () -> T in throw error }
     |                 `- error: missing argument for parameter #1 in call
 796 | 	}
 797 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:795:18: error: invalid conversion from throwing function of type '() throws -> T' to non-throwing function type '(@escaping (Result<T, any Error>) -> Void) -> Void'
 793 | 	///	- Returns: A new rejected promise
 794 | 	public static func reject(_ error: Error) -> Promise<T> {
 795 | 		return Promise { () -> T in throw error }
     |                  `- error: invalid conversion from throwing function of type '() throws -> T' to non-throwing function type '(@escaping (Result<T, any Error>) -> Void) -> Void'
 796 | 	}
 797 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:795:18: error: contextual type for closure argument list expects 1 argument, which cannot be implicitly ignored
 793 | 	///	- Returns: A new rejected promise
 794 | 	public static func reject(_ error: Error) -> Promise<T> {
 795 | 		return Promise { () -> T in throw error }
     |                  `- error: contextual type for closure argument list expects 1 argument, which cannot be implicitly ignored
 796 | 	}
 797 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:795:26: error: declared closure result 'T' is incompatible with contextual type 'Void'
 793 | 	///	- Returns: A new rejected promise
 794 | 	public static func reject(_ error: Error) -> Promise<T> {
 795 | 		return Promise { () -> T in throw error }
     |                          `- error: declared closure result 'T' is incompatible with contextual type 'Void'
 796 | 	}
 797 |
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:844:15: error: cannot find 'DispatchSemaphore' in scope
 842 | 	public static func all(settled: Bool = false, _ promises:[Promise<T>]) -> Promise<Array<T>> {
 843 | 		var results = [Int : T]()
 844 | 		let mutex = DispatchSemaphore.Mutex()
     |               `- error: cannot find 'DispatchSemaphore' in scope
 845 | 		promises.forEach { $0.autoRun.cancel() }
 846 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:848:27: error: missing argument for parameter #1 in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 846 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
 847 |
 848 | 		return Promise<Array<T>> { resolve, reject, task in
     |                           `- error: missing argument for parameter #1 in call
 849 |
 850 | 			guard promises.count > 0 else {
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:848:30: error: contextual closure type '(@escaping (Result<Array<T>, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
 846 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
 847 |
 848 | 		return Promise<Array<T>> { resolve, reject, task in
     |                              `- error: contextual closure type '(@escaping (Result<Array<T>, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
 849 |
 850 | 			guard promises.count > 0 else {
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:851:13: error: cannot convert value of type '[T]' to expected argument type 'Result<Array<T>, any Error>'
 849 |
 850 | 			guard promises.count > 0 else {
 851 | 				resolve([T]())
     |             `- error: cannot convert value of type '[T]' to expected argument type 'Result<Array<T>, any Error>'
 852 | 				return
 853 | 			}
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:922:17: error: missing argument for parameter #1 in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 920 | 		promises.forEach { $0.autoRun.cancel() }
 921 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
 922 | 		return Promise { resolve, reject, task in
     |                 `- error: missing argument for parameter #1 in call
 923 |
 924 | 			guard promises.count > 0 else {
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:922:20: error: contextual closure type '(@escaping (Result<T, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
 920 | 		promises.forEach { $0.autoRun.cancel() }
 921 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
 922 | 		return Promise { resolve, reject, task in
     |                    `- error: contextual closure type '(@escaping (Result<T, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
 923 |
 924 | 			guard promises.count > 0 else {
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:991:15: error: cannot find 'DispatchSemaphore' in scope
 989 | 	public static func any(_ promises: [Promise<T>]) -> Promise<T> {
 990 | 		var errors = [Int : Error]()
 991 | 		let mutex = DispatchSemaphore.Mutex()
     |               `- error: cannot find 'DispatchSemaphore' in scope
 992 | 		promises.forEach { $0.autoRun.cancel() }
 993 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:995:20: error: missing argument for parameter #1 in call
 222 | 	}
 223 |
 224 | 	private init(_ monitor: Monitor, f: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) {
     |          `- note: 'init(_:f:)' declared here
 225 | 		self.f = f
 226 | 		self.monitor = monitor
     :
 993 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
 994 |
 995 | 		return Promise<T> { resolve, reject, task in
     |                    `- error: missing argument for parameter #1 in call
 996 |
 997 | 			guard promises.count > 0 else {
/host/spi-builder-workspace/Sources/PromiseQ/PromiseQ.swift:995:23: error: contextual closure type '(@escaping (Result<T, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
 993 | 		let container = AsyncContainer(tasks: promises.map(\.monitor))
 994 |
 995 | 		return Promise<T> { resolve, reject, task in
     |                       `- error: contextual closure type '(@escaping (Result<T, any Error>) -> Void) -> Void' expects 1 argument, but 3 were used in closure body
 996 |
 997 | 			guard promises.count > 0 else {
BUILD FAILURE 6.1 wasm