Build Information
Failed to build Futura.swift, reference master (1dd68c), with Swift 6.4 for Wasm on 15 Sep 2026 21:25:26 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886769-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/thedavidharris/Futura.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/thedavidharris/Futura
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 1dd68ce Add documentation
Cloned https://github.com/thedavidharris/Futura.git
Revision (git rev-parse @):
1dd68cee8588d15c77dff40e699ee411bc5e1e1e
SUCCESS checkout https://github.com/thedavidharris/Futura.git at master
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.4
Building package at path: $PWD
https://github.com/thedavidharris/Futura.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886769-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Building for debugging...
[Planning deferred tasks]
error: SwiftCompile normal wasm32 failed with a nonzero exit code. Command line: cd /host
/host/spi-builder-workspace/Sources/Callback.swift:21:16: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m19 |[0;0m
[0;36m20 |[0;0m /// Queue to execute work on
[0;36m21 |[0;0m let queue: [4;39mDispatchQueue[0;0m
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m22 |[0;0m
[0;36m23 |[0;0m /// Run callback work for a given resolved value
/host/spi-builder-workspace/Sources/Collection+Future.swift:17:42: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m15 |[0;0m /// - Parameter queue: queue to execute callbacks on
[0;36m16 |[0;0m /// - Returns: the first completed Future
[0;36m17 |[0;0m public func firstCompleted(on queue: [4;39mDispatchQueue[0;0m = DispatchQueue.main) -> Future<Element.Expectation> {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m18 |[0;0m return Promise<Element.Expectation> { (fulfill, reject) in
[0;36m19 |[0;0m if self.isEmpty {
/host/spi-builder-workspace/Sources/Collection+Future.swift:32:35: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m30 |[0;0m /// - Parameter queue: queue to execute callbacks on
[0;36m31 |[0;0m /// - Returns: a single Future object with an array of resolved values
[0;36m32 |[0;0m public func flatten(on queue: [4;39mDispatchQueue[0;0m = DispatchQueue.main) -> Future<[Element.Expectation]> {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m33 |[0;0m return Promise<[Element.Expectation]>{ (fullfill, reject) in
[0;36m34 |[0;0m if self.isEmpty {
/host/spi-builder-workspace/Sources/Future+Do.swift:20:32: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m18 |[0;0m /// - Returns: existing Future object
[0;36m19 |[0;0m @discardableResult
[0;36m20 |[0;0m public func `do`(on queue: [4;39mDispatchQueue[0;0m = DispatchQueue.main, _ action: @escaping (Value) throws -> Void) -> Future<Value> {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m21 |[0;0m return self.flatMap({ (value) in
[0;36m22 |[0;0m return Promise({ (fulfill, reject) in
/host/spi-builder-workspace/Sources/Future+Map.swift:18:45: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m16 |[0;0m /// - Returns: existing promise object
[0;36m17 |[0;0m @discardableResult
[0;36m18 |[0;0m public func flatMap<NewValue>(on queue: [4;39mDispatchQueue[0;0m = DispatchQueue.main, _ onFulfilled: @escaping (Value) throws -> Future<NewValue>) -> Future<NewValue> {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m19 |[0;0m return Promise<NewValue> { (fullfill, reject) in
[0;36m20 |[0;0m self.addCallback(
/host/spi-builder-workspace/Sources/Future+Retry.swift:21:23: [1;33mwarning: [1;39mgeneric parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m19 |[0;0m /// - Returns: existing Future object
[0;36m20 |[0;0m @discardableResult
[0;36m21 |[0;0m public func retry<Value>(attempts: Int, delay delayTime: TimeInterval = 0, retryBody: @escaping () -> Future<Value>) -> Future<Value> {
[0;36m|[0;0m `- [1;33mwarning: [1;39mgeneric parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m22 |[0;0m
[0;36m23 |[0;0m var attemptsLeft = attempts
/host/spi-builder-workspace/Sources/Future.swift:45:21: [1;39mnote: [1;39m'Value' previously declared here[0;0m
[0;36m43 |[0;0m
[0;36m44 |[0;0m /// Generic class for a Future
[0;36m45 |[0;0m public class Future<Value>: FutureType {
[0;36m|[0;0m `- [1;39mnote: [1;39m'Value' previously declared here[0;0m
[0;36m46 |[0;0m
[0;36m47 |[0;0m /// Generic value type
/host/spi-builder-workspace/Sources/Future+Variadic.swift:16:28: [1;33mwarning: [1;39mgeneric parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m14 |[0;0m /// - Parameter futures: an array of futures of the same type
[0;36m15 |[0;0m /// - Returns: a single promise combining the resolved values of `futures`
[0;36m16 |[0;0m public static func all<Value>(_ futures: [Future<Value>]) -> Future<[Value]> {
[0;36m|[0;0m `- [1;33mwarning: [1;39mgeneric parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m17 |[0;0m return Promise<[Value]>{ (fullfill, reject) in
[0;36m18 |[0;0m if futures.isEmpty {
/host/spi-builder-workspace/Sources/Future.swift:45:21: [1;39mnote: [1;39m'Value' previously declared here[0;0m
[0;36m43 |[0;0m
[0;36m44 |[0;0m /// Generic class for a Future
[0;36m45 |[0;0m public class Future<Value>: FutureType {
[0;36m|[0;0m `- [1;39mnote: [1;39m'Value' previously declared here[0;0m
[0;36m46 |[0;0m
[0;36m47 |[0;0m /// Generic value type
/host/spi-builder-workspace/Sources/Future+Variadic.swift:37:28: [1;33mwarning: [1;39mgeneric parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m35 |[0;0m /// - Parameter futures: an array of futures of the same type
[0;36m36 |[0;0m /// - Returns: a single future combining the resolved values of `futures`
[0;36m37 |[0;0m public static func all<Value>(_ futures: Future<Value>...) -> Future<[Value]> {
[0;36m|[0;0m `- [1;33mwarning: [1;39mgeneric parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m38 |[0;0m return all(futures)
[0;36m39 |[0;0m }
/host/spi-builder-workspace/Sources/Future.swift:45:21: [1;39mnote: [1;39m'Value' previously declared here[0;0m
[0;36m43 |[0;0m
[0;36m44 |[0;0m /// Generic class for a Future
[0;36m45 |[0;0m public class Future<Value>: FutureType {
[0;36m|[0;0m `- [1;39mnote: [1;39m'Value' previously declared here[0;0m
[0;36m46 |[0;0m
[0;36m47 |[0;0m /// Generic value type
/host/spi-builder-workspace/Sources/Future.swift:41:25: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m39 |[0;0m /// - Returns: the FutureType object
[0;36m40 |[0;0m @discardableResult
[0;36m41 |[0;0m func then(on queue: [4;39mDispatchQueue[0;0m, _ onFulfilled: @escaping (Expectation) -> Void) -> Future<Expectation>
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m42 |[0;0m }
[0;36m43 |[0;0m
/host/spi-builder-workspace/Sources/Future.swift:103:29: [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m101 |[0;0m
[0;36m102 |[0;0m /// Locked queue to allow for thread-safety within the Future object
[0;36m103 |[0;0m private let lockQueue = [4;39mDispatchQueue[0;0m(label: "future_lock_queue", qos: .userInitiated)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m104 |[0;0m
[0;36m105 |[0;0m
/host/spi-builder-workspace/Sources/Future.swift:132:32: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m130 |[0;0m /// - Returns: the existing promise object
[0;36m131 |[0;0m @discardableResult
[0;36m132 |[0;0m public func then(on queue: [4;39mDispatchQueue[0;0m = DispatchQueue.main, _ onFulfilled: @escaping (Value) -> Void) -> Future<Value> {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m133 |[0;0m addCallback(on: queue, onFulfilled: onFulfilled)
[0;36m134 |[0;0m return self
/host/spi-builder-workspace/Sources/Future.swift:142:35: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m140 |[0;0m /// - Returns: the existing promise object
[0;36m141 |[0;0m @discardableResult
[0;36m142 |[0;0m public func `catch`(on queue: [4;39mDispatchQueue[0;0m = DispatchQueue.main, _ onRejected: @escaping (Error) -> Void) -> Future<Value> {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m143 |[0;0m addCallback(on: queue, onRejected: onRejected)
[0;36m144 |[0;0m return self
/host/spi-builder-workspace/Sources/Future.swift:153:32: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m151 |[0;0m /// - onFulfilled: success callback to add
[0;36m152 |[0;0m /// - onRejected: error callback to add
[0;36m153 |[0;0m func addCallback(on queue: [4;39mDispatchQueue[0;0m, onFulfilled: ((Value) -> ())? = nil, onRejected: ((Error) -> ())? = nil) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m154 |[0;0m lockQueue.async {
[0;36m155 |[0;0m let callback = Callback(onFulfilled: onFulfilled,
/host/spi-builder-workspace/Sources/Promise.swift:28:27: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m26 |[0;0m /// - queue: DispatchQueue to execute work on. Defaults to DispatchQueue.global(qos: .userInitiated)
[0;36m27 |[0;0m /// - work: Closure containing async work. Contains two internal parameters, a `resolve` closure and a `reject` closure to be executed depending on successful or unsuccessful completion of the promise
[0;36m28 |[0;0m public init(on queue: [4;39mDispatchQueue[0;0m = DispatchQueue.global(qos: .userInitiated), _ work: @escaping (_ resolve: @escaping (Value) -> (), _ reject: @escaping (Error) -> ()) throws -> ()) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m29 |[0;0m self.futureResult = Future<Value>()
[0;36m30 |[0;0m queue.async {
Failed frontend command:
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/Sources/Callback.swift /host/spi-builder-workspace/Sources/Collection+Future.swift /host/spi-builder-workspace/Sources/Either.swift /host/spi-builder-workspace/Sources/Future+Always.swift /host/spi-builder-workspace/Sources/Future+Do.swift /host/spi-builder-workspace/Sources/Future+Map.swift /host/spi-builder-workspace/Sources/Future+Race.swift /host/spi-builder-workspace/Sources/Future+Recover.swift /host/spi-builder-workspace/Sources/Future+Retry.swift /host/spi-builder-workspace/Sources/Future+Time.swift /host/spi-builder-workspace/Sources/Future+Validate.swift /host/spi-builder-workspace/Sources/Future+Variadic.swift /host/spi-builder-workspace/Sources/Future+Wrap.swift /host/spi-builder-workspace/Sources/Future.swift /host/spi-builder-workspace/Sources/FutureError.swift /host/spi-builder-workspace/Sources/Promise+Void.swift /host/spi-builder-workspace/Sources/Promise.swift -target wasm32-unknown-wasip1 -disable-objc-interop -sdk /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -sysroot /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -I /host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 4.2 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /usr/lib/swift/host/plugins/testing\#/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -resource-dir /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static -use-static-resource-dir -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/clang -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Futura.swift.build/Debug-webassembly-wasm32/Futura-t.build/DerivedSources-normal/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Futura.swift.build/Debug-webassembly-wasm32/Futura-t.build/DerivedSources/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Futura.swift.build/Debug-webassembly-wasm32/Futura-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Futura -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/Futura.swift.build/Debug-webassembly-wasm32/Futura-t.build/Objects-normal/wasm32/Futura_const_extract_protocols.json -in-process-plugin-server-path /usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /usr/lib/swift/host/plugins -plugin-path /usr/local/lib/swift/host/plugins -emit-module-doc-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Futura.swift.build/Debug-webassembly-wasm32/Futura-t.build/Objects-normal/wasm32/Modules/Futura.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Futura.swift.build/Debug-webassembly-wasm32/Futura-t.build/Objects-normal/wasm32/Modules/Futura.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Futura.swift.build/Debug-webassembly-wasm32/Futura-t.build/Objects-normal/wasm32/Futura-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Futura.swift.build/Debug-webassembly-wasm32/Futura-t.build/Objects-normal/wasm32/Futura-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Futura.swift.build/Debug-webassembly-wasm32/Futura-t.build/Objects-normal/wasm32/Futura-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Futura.swift.build/Debug-webassembly-wasm32/Futura-t.build/Objects-normal/wasm32/Modules/Futura.swiftmodule
[27 / 35] Futura
error: Build failed
BUILD FAILURE 6.4 wasm