[INFO] fetching crate jobsteal 0.5.1...
[INFO] checking jobsteal-0.5.1 against try#1baf923b9c3a455162afe43e18647f494c1a4b73 for pr-151510
[INFO] extracting crate jobsteal 0.5.1 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate jobsteal 0.5.1
[INFO] finished tweaking crates.io crate jobsteal 0.5.1
[INFO] tweaked toml for crates.io crate jobsteal 0.5.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate jobsteal 0.5.1 on toolchain 1baf923b9c3a455162afe43e18647f494c1a4b73
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1baf923b9c3a455162afe43e18647f494c1a4b73" "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" "+1baf923b9c3a455162afe43e18647f494c1a4b73" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 11 packages to latest compatible versions
[INFO] [stderr]       Adding crossbeam v0.2.12 (available: v0.8.4)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1baf923b9c3a455162afe43e18647f494c1a4b73" "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-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1baf923b9c3a455162afe43e18647f494c1a4b73" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6be9fcff9493d8c0637ca9828cff1b21d9199cf46c028a3c2e073e0a608cae25
[INFO] running `Command { std: "docker" "start" "-a" "6be9fcff9493d8c0637ca9828cff1b21d9199cf46c028a3c2e073e0a608cae25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6be9fcff9493d8c0637ca9828cff1b21d9199cf46c028a3c2e073e0a608cae25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6be9fcff9493d8c0637ca9828cff1b21d9199cf46c028a3c2e073e0a608cae25", kill_on_drop: false }`
[INFO] [stdout] 6be9fcff9493d8c0637ca9828cff1b21d9199cf46c028a3c2e073e0a608cae25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1baf923b9c3a455162afe43e18647f494c1a4b73" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eae6884a59edabd342bcf2ae2ca0b12554dade00bf6c735967b8d17b07d2beaa
[INFO] running `Command { std: "docker" "start" "-a" "eae6884a59edabd342bcf2ae2ca0b12554dade00bf6c735967b8d17b07d2beaa", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Checking crossbeam v0.2.12
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking jobsteal v0.5.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/iter/map.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stdout]    |                              ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 86 -     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stdout] 86 +     fn call<I: Iterator<Item=&'a U >>(self, iter: I) -> Self::Out {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/iter/map.rs:92:28
[INFO] [stdout]    |
[INFO] [stdout] 92 | where T: Consumer<In, Item=(&'a U)> {
[INFO] [stdout]    |                            ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 - where T: Consumer<In, Item=(&'a U)> {
[INFO] [stdout] 92 + where T: Consumer<In, Item=&'a U > {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/iter/map.rs:100:80
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stdout]     |                                                                                ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 100 - impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stdout] 100 + impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=&'a U > {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/iter/mod.rs:302:20
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn split(self, usize) -> (Self, Self);
[INFO] [stdout]     |                    ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/iter/mod.rs:517:40
[INFO] [stdout]     |
[INFO] [stdout] 517 |     fn call<I: Iterator<Item=T>>(self, I) -> Self::Out;
[INFO] [stdout]     |                                        ^ help: try naming the parameter or explicitly ignoring it: `_: I`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:319:26
[INFO] [stdout]     |
[INFO] [stdout] 319 |             let handle = try!(builder.spawn(move || worker_main(worker)));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/iter/map.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stdout]    |                              ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 86 -     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stdout] 86 +     fn call<I: Iterator<Item=&'a U >>(self, iter: I) -> Self::Out {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/iter/map.rs:92:28
[INFO] [stdout]    |
[INFO] [stdout] 92 | where T: Consumer<In, Item=(&'a U)> {
[INFO] [stdout]    |                            ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 - where T: Consumer<In, Item=(&'a U)> {
[INFO] [stdout] 92 + where T: Consumer<In, Item=&'a U > {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/iter/map.rs:100:80
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stdout]     |                                                                                ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 100 - impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stdout] 100 + impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=&'a U > {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/iter/mod.rs:302:20
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn split(self, usize) -> (Self, Self);
[INFO] [stdout]     |                    ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/iter/mod.rs:517:40
[INFO] [stdout]     |
[INFO] [stdout] 517 |     fn call<I: Iterator<Item=T>>(self, I) -> Self::Out;
[INFO] [stdout]     |                                        ^ help: try naming the parameter or explicitly ignoring it: `_: I`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:319:26
[INFO] [stdout]     |
[INFO] [stdout] 319 |             let handle = try!(builder.spawn(move || worker_main(worker)));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Heap(Box<Thunk>),
[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] 63 |     Heap(Box<dyn Thunk>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Heap(Box<Thunk>),
[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] 63 |     Heap(Box<dyn Thunk>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:88:34
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<dyn Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:88:89
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<dyn Thunk + 'a>) };
[INFO] [stdout]    |                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/job.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let fat_ptr: *mut Thunk = code_ptr;
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let fat_ptr: *mut dyn Thunk = code_ptr;
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/job.rs:129:36
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let code_ptr: *mut Thunk = mem::transmute(t_obj);
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let code_ptr: *mut dyn Thunk = mem::transmute(t_obj);
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:88:34
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<dyn Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:88:89
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<dyn Thunk + 'a>) };
[INFO] [stdout]    |                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/job.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let fat_ptr: *mut Thunk = code_ptr;
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let fat_ptr: *mut dyn Thunk = code_ptr;
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/job.rs:129:36
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let code_ptr: *mut Thunk = mem::transmute(t_obj);
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let code_ptr: *mut dyn Thunk = mem::transmute(t_obj);
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/arena.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut buf = self.buf.get();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/arena.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut buf = self.buf.get();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `A` may not live long enough
[INFO] [stdout]    --> src/lib.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl<'pool, 'scope> Spawner<'pool, 'scope> {
[INFO] [stdout]     |      ----- the parameter type `A` must be valid for the lifetime `'pool` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 236 |             scope.recurse(|scope| a_dest = Some(oper_a(&scope)));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `A` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 226 |     where A: Send + for<'new> FnOnce(&Spawner<'pool, 'new>) -> R_A + 'pool,
[INFO] [stdout]     |                                                                    +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `A` may not live long enough
[INFO] [stdout]    --> src/lib.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl<'pool, 'scope> Spawner<'pool, 'scope> {
[INFO] [stdout]     |      ----- the parameter type `A` must be valid for the lifetime `'pool` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 236 |             scope.recurse(|scope| a_dest = Some(oper_a(&scope)));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `A` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 226 |     where A: Send + for<'new> FnOnce(&Spawner<'pool, 'new>) -> R_A + 'pool,
[INFO] [stdout]     |                                                                    +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0309`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0309`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `jobsteal` (lib) due to 1 previous error; 12 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `jobsteal` (lib test) due to 1 previous error; 12 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "eae6884a59edabd342bcf2ae2ca0b12554dade00bf6c735967b8d17b07d2beaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eae6884a59edabd342bcf2ae2ca0b12554dade00bf6c735967b8d17b07d2beaa", kill_on_drop: false }`
[INFO] [stdout] eae6884a59edabd342bcf2ae2ca0b12554dade00bf6c735967b8d17b07d2beaa
