[INFO] fetching crate promise 0.0.4...
[INFO] testing promise-0.0.4 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate promise 0.0.4 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate promise 0.0.4
[INFO] finished tweaking crates.io crate promise 0.0.4
[INFO] tweaked toml for crates.io crate promise 0.0.4 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate promise 0.0.4 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c0093b7aa450e0192abe169f25cbe73e2ead1f658534ceb579287b98ecffafcc
[INFO] running `Command { std: "docker" "start" "-a" "c0093b7aa450e0192abe169f25cbe73e2ead1f658534ceb579287b98ecffafcc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c0093b7aa450e0192abe169f25cbe73e2ead1f658534ceb579287b98ecffafcc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c0093b7aa450e0192abe169f25cbe73e2ead1f658534ceb579287b98ecffafcc", kill_on_drop: false }`
[INFO] [stdout] c0093b7aa450e0192abe169f25cbe73e2ead1f658534ceb579287b98ecffafcc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 927957962d050ea7273c660cc1127e90dd51649da07e1f78203cc303c056c5d7
[INFO] running `Command { std: "docker" "start" "-a" "927957962d050ea7273c660cc1127e90dd51649da07e1f78203cc303c056c5d7", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling promise v0.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `std::io::timer`
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::timer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ no `timer` in `io`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::time::duration`
[INFO] [stdout]  --> src/lib.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::duration::Duration;
[INFO] [stdout]   |                ^^^^^^^^ could not find `duration` in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::sync::mpsc::Select`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Select,
[INFO] [stdout]   |     ^^^^^^ no `Select` in `sync::mpsc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `range` in this scope
[INFO] [stdout]    --> src/lib.rs:117:22
[INFO] [stdout]     |
[INFO] [stdout] 117 |             for _ in range(0, futures.len()) {
[INFO] [stdout]     |                      ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   4 + use std::slice::range;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(unboxed_closures)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature `test`
[INFO] [stdout]  --> src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #50297 <https://github.com/rust-lang/rust/issues/50297> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     TaskFailure(Box<Any+Send>),
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     TaskFailure(Box<dyn Any+Send>),
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 1 generic argument but 2 generic arguments were supplied
[INFO] [stdout]    --> src/lib.rs:166:23
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub fn from_fn<F: FnOnce<(), T> + Send>(func: F) -> Future<T> {
[INFO] [stdout]     |                       ^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub fn from_fn<F: FnOnce<(), Output = T> + Send>(func: F) -> Future<T> {
[INFO] [stdout]     |                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 1 generic argument but 2 generic arguments were supplied
[INFO] [stdout]    --> src/lib.rs:181:21
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn delay<F: FnOnce<(), T>+Send>(func: F, duration: Duration) -> Future<T> {
[INFO] [stdout]     |                     ^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn delay<F: FnOnce<(), Output = T>+Send>(func: F, duration: Duration) -> Future<T> {
[INFO] [stdout]     |                                ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 1 generic argument but 2 generic arguments were supplied
[INFO] [stdout]    --> src/lib.rs:190:28
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn map<B: Send, F: FnOnce<(T,), B>+Send>(self, func: F) -> Future<B> {
[INFO] [stdout]     |                            ^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn map<B: Send, F: FnOnce<(T,), Output = B>+Send>(self, func: F) -> Future<B> {
[INFO] [stdout]     |                                         ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 1 generic argument but 2 generic arguments were supplied
[INFO] [stdout]    --> src/lib.rs:219:25
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn on_result<F: FnOnce<(Result<T, FutureError>,), ()>+Send>(self, f: F) {
[INFO] [stdout]     |                         ^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn on_result<F: FnOnce<(Result<T, FutureError>,), Output = ()>+Send>(self, f: F) {
[INFO] [stdout]     |                                                           ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 1 generic argument but 2 generic arguments were supplied
[INFO] [stdout]    --> src/lib.rs:228:26
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn on_success<F: FnOnce<(T,), ()>+Send>(self, f: F) {
[INFO] [stdout]     |                          ^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn on_success<F: FnOnce<(T,), Output = ()>+Send>(self, f: F) {
[INFO] [stdout]     |                                       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 1 generic argument but 2 generic arguments were supplied
[INFO] [stdout]    --> src/lib.rs:239:26
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn on_failure<F: FnOnce<(FutureError,), ()>+Send>(self, f: F) {
[INFO] [stdout]     |                          ^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn on_failure<F: FnOnce<(FutureError,), Output = ()>+Send>(self, f: F) {
[INFO] [stdout]     |                                                 ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 1 generic argument but 2 generic arguments were supplied
[INFO] [stdout]    --> src/lib.rs:250:27
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub fn on_complete<S: FnOnce<(T,),()>+Send, F: FnOnce<(FutureError,),()>+Send>(self, success: S, failure: F) {
[INFO] [stdout]     |                           ^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub fn on_complete<S: FnOnce<(T,),Output = ()>+Send, F: FnOnce<(FutureError,),()>+Send>(self, success: S, failure: F) {
[INFO] [stdout]     |                                       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 1 generic argument but 2 generic arguments were supplied
[INFO] [stdout]    --> src/lib.rs:250:52
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub fn on_complete<S: FnOnce<(T,),()>+Send, F: FnOnce<(FutureError,),()>+Send>(self, success: S, failure: F) {
[INFO] [stdout]     |                                                    ^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub fn on_complete<S: FnOnce<(T,),()>+Send, F: FnOnce<(FutureError,),Output = ()>+Send>(self, success: S, failure: F) {
[INFO] [stdout]     |                                                                          ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `spawn` found for struct `Thread` in the current scope
[INFO] [stdout]   --> src/lib.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |         Thread::spawn(move || {
[INFO] [stdout]    |                 ^^^^^ function or associated item not found in `Thread`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `Thread`, consider using `Thread::from_raw` which returns `Thread`
[INFO] [stdout]   --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:1670:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `spawn` found for struct `Thread` in the current scope
[INFO] [stdout]    --> src/lib.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Thread::spawn(move || {
[INFO] [stdout]     |                 ^^^^^ function or associated item not found in `Thread`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Thread`, consider using `Thread::from_raw` which returns `Thread`
[INFO] [stdout]    --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:1670:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:110:28
[INFO] [stdout]     |
[INFO] [stdout] 110 |                     handle.add();
[INFO] [stdout]     |                            ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:121:34
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     match handle.recv() {
[INFO] [stdout]     |                                  ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:143:28
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     handle.remove();
[INFO] [stdout]     |                            ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `spawn` found for struct `Thread` in the current scope
[INFO] [stdout]    --> src/lib.rs:168:17
[INFO] [stdout]     |
[INFO] [stdout] 168 |         Thread::spawn(move ||  {
[INFO] [stdout]     |                 ^^^^^ function or associated item not found in `Thread`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Thread`, consider using `Thread::from_raw` which returns `Thread`
[INFO] [stdout]    --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:1670:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `scoped` found for struct `Thread` in the current scope
[INFO] [stdout]    --> src/lib.rs:169:34
[INFO] [stdout]     |
[INFO] [stdout] 169 |             let result = Thread::scoped(move || func()).join();
[INFO] [stdout]     |                                  ^^^^^^ function or associated item not found in `Thread`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Thread`, consider using `Thread::from_raw` which returns `Thread`
[INFO] [stdout]    --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:1670:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `scoped` found for struct `Thread` in the current scope
[INFO] [stdout]    --> src/lib.rs:195:42
[INFO] [stdout]     |
[INFO] [stdout] 195 |                     let result = Thread::scoped(move || func(val)).join();
[INFO] [stdout]     |                                          ^^^^^^ function or associated item not found in `Thread`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Thread`, consider using `Thread::from_raw` which returns `Thread`
[INFO] [stdout]    --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:1670:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `spawn` found for struct `Thread` in the current scope
[INFO] [stdout]    --> src/lib.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |         Thread::spawn(move || {
[INFO] [stdout]     |                 ^^^^^ function or associated item not found in `Thread`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Thread`, consider using `Thread::from_raw` which returns `Thread`
[INFO] [stdout]    --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:1670:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `spawn` found for struct `Thread` in the current scope
[INFO] [stdout]    --> src/lib.rs:229:17
[INFO] [stdout]     |
[INFO] [stdout] 229 |         Thread::spawn(move || {
[INFO] [stdout]     |                 ^^^^^ function or associated item not found in `Thread`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Thread`, consider using `Thread::from_raw` which returns `Thread`
[INFO] [stdout]    --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:1670:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `match` arms have incompatible types
[INFO] [stdout]    --> src/lib.rs:232:22
[INFO] [stdout]     |
[INFO] [stdout] 230 | /             match self.get() {
[INFO] [stdout] 231 | |                 Ok(value) => f(value),
[INFO] [stdout]     | |                              -------- this is found to be of type `<F as FnOnce<(T,)>>::Output`
[INFO] [stdout] 232 | |                 _ => (),
[INFO] [stdout]     | |                      ^^ expected associated type, found `()`
[INFO] [stdout] 233 | |             }
[INFO] [stdout]     | |_____________- `match` arms have incompatible types
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected associated type `<F as FnOnce<(T,)>>::Output`
[INFO] [stdout]                      found unit type `()`
[INFO] [stdout]     = help: consider constraining the associated type `<F as FnOnce<(T,)>>::Output` to `()`
[INFO] [stdout]     = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `spawn` found for struct `Thread` in the current scope
[INFO] [stdout]    --> src/lib.rs:240:17
[INFO] [stdout]     |
[INFO] [stdout] 240 |         Thread::spawn(move || {
[INFO] [stdout]     |                 ^^^^^ function or associated item not found in `Thread`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Thread`, consider using `Thread::from_raw` which returns `Thread`
[INFO] [stdout]    --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:1670:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `match` arms have incompatible types
[INFO] [stdout]    --> src/lib.rs:243:22
[INFO] [stdout]     |
[INFO] [stdout] 241 | /             match self.get() {
[INFO] [stdout] 242 | |                 Err(err) => f(err),
[INFO] [stdout]     | |                             ------ this is found to be of type `<F as FnOnce<(FutureError,)>>::Output`
[INFO] [stdout] 243 | |                 _ => () ,
[INFO] [stdout]     | |                      ^^ expected associated type, found `()`
[INFO] [stdout] 244 | |             }
[INFO] [stdout]     | |_____________- `match` arms have incompatible types
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected associated type `<F as FnOnce<(FutureError,)>>::Output`
[INFO] [stdout]                      found unit type `()`
[INFO] [stdout]     = help: consider constraining the associated type `<F as FnOnce<(FutureError,)>>::Output` to `()`
[INFO] [stdout]     = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `spawn` found for struct `Thread` in the current scope
[INFO] [stdout]    --> src/lib.rs:251:17
[INFO] [stdout]     |
[INFO] [stdout] 251 |         Thread::spawn(move || {
[INFO] [stdout]     |                 ^^^^^ function or associated item not found in `Thread`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Thread`, consider using `Thread::from_raw` which returns `Thread`
[INFO] [stdout]    --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:1670:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `match` arms have incompatible types
[INFO] [stdout]    --> src/lib.rs:254:29
[INFO] [stdout]     |
[INFO] [stdout] 250 |       pub fn on_complete<S: FnOnce<(T,),()>+Send, F: FnOnce<(FutureError,),()>+Send>(self, success: S, failure: F) {
[INFO] [stdout]     |                          -                        - found type parameter
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          expected type parameter
[INFO] [stdout] 251 |           Thread::spawn(move || {
[INFO] [stdout] 252 | /             match self.get() {
[INFO] [stdout] 253 | |                 Ok(value) => success(value),
[INFO] [stdout]     | |                              -------------- this is found to be of type `<S as FnOnce<(T,)>>::Output`
[INFO] [stdout] 254 | |                 Err(err) => failure(err),
[INFO] [stdout]     | |                             ^^^^^^^^^^^^ expected type parameter `S`, found type parameter `F`
[INFO] [stdout] 255 | |             }
[INFO] [stdout]     | |_____________- `match` arms have incompatible types
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected associated type `<S as FnOnce<(T,)>>::Output`
[INFO] [stdout]                found associated type `<F as FnOnce<(FutureError,)>>::Output`
[INFO] [stdout]     = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound
[INFO] [stdout]     = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters
[INFO] [stdout]     = note: an associated type was expected, but a different one was found
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0282, E0308, E0425, E0432, E0554, E0599, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `promise` (lib) due to 29 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "927957962d050ea7273c660cc1127e90dd51649da07e1f78203cc303c056c5d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "927957962d050ea7273c660cc1127e90dd51649da07e1f78203cc303c056c5d7", kill_on_drop: false }`
[INFO] [stdout] 927957962d050ea7273c660cc1127e90dd51649da07e1f78203cc303c056c5d7
