[INFO] cloning repository https://github.com/snowmantw/risp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/snowmantw/risp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsnowmantw%2Frisp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsnowmantw%2Frisp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 706812c5aad9927836a02937e3e581da778ba4de
[INFO] checking snowmantw/risp against try#b4c55082edd8dec08ce8af276d7054d9c4db20c4 for pr-147984
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsnowmantw%2Frisp" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/snowmantw/risp
[INFO] finished tweaking git repo https://github.com/snowmantw/risp
[INFO] tweaked toml for git repo https://github.com/snowmantw/risp written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/snowmantw/risp on toolchain b4c55082edd8dec08ce8af276d7054d9c4db20c4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/snowmantw/risp already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "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] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thread_local v0.3.2
[INFO] [stderr]   Downloaded aho-corasick v0.6.2
[INFO] [stderr]   Downloaded thread-id v3.0.0
[INFO] [stderr]   Downloaded regex v0.2.1
[INFO] [stderr]   Downloaded libc v0.2.20
[INFO] [stderr]   Downloaded regex-syntax v0.4.0
[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" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4296a4832b75d7864a742d8aa815c8a498ae74ae5bca62ea43988ef4383c9ad6
[INFO] running `Command { std: "docker" "start" "-a" "4296a4832b75d7864a742d8aa815c8a498ae74ae5bca62ea43988ef4383c9ad6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4296a4832b75d7864a742d8aa815c8a498ae74ae5bca62ea43988ef4383c9ad6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4296a4832b75d7864a742d8aa815c8a498ae74ae5bca62ea43988ef4383c9ad6", kill_on_drop: false }`
[INFO] [stdout] 4296a4832b75d7864a742d8aa815c8a498ae74ae5bca62ea43988ef4383c9ad6
[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=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fcbcdbc09da4085149850c29a4dff6d03847d1fcfeb584062b61e18ab4869244
[INFO] running `Command { std: "docker" "start" "-a" "fcbcdbc09da4085149850c29a4dff6d03847d1fcfeb584062b61e18ab4869244", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Checking libc v0.2.20
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking regex-syntax v0.4.0
[INFO] [stderr]     Checking utf8-ranges v1.0.0
[INFO] [stderr]     Checking nodes v0.1.0 (/opt/rustwide/workdir/src/nodes)
[INFO] [stderr]     Checking unreachable v0.1.1
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/nodes/src/list.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn transfer(&self, node: State) -> State {
[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] 10 |     fn transfer(&self, node: dyn State) -> State {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/nodes/src/list.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn transfer(&self, node: State) -> State {
[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] 10 |     fn transfer(&self, node: State) -> dyn State {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/nodes/src/states.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn transfer(&self, node: State) -> State;
[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] 35 |     fn transfer(&self, node: dyn State) -> State;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/nodes/src/states.rs:35:40
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn transfer(&self, node: State) -> State;
[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] 35 |     fn transfer(&self, node: State) -> dyn State;
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/nodes/src/list.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn transfer(&self, node: State) -> State {
[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] 24 |     fn transfer(&self, node: dyn State) -> State {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/nodes/src/list.rs:24:40
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn transfer(&self, node: State) -> State {
[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] 24 |     fn transfer(&self, node: State) -> dyn State {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0746]: return type cannot be a trait object without pointer indirection
[INFO] [stdout]   --> src/nodes/src/list.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn transfer(&self, node: State) -> State {
[INFO] [stdout]    |                                        ^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout] help: consider returning an `impl Trait` instead of a `dyn Trait`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn transfer(&self, node: State) -> impl State {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
[INFO] [stdout]    |
[INFO] [stdout] 10 ~     fn transfer(&self, node: State) -> Box<dyn State> {
[INFO] [stdout] 11 ~         return Box::new(node);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0746]: return type cannot be a trait object without pointer indirection
[INFO] [stdout]   --> src/nodes/src/list.rs:24:40
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn transfer(&self, node: State) -> State {
[INFO] [stdout]    |                                        ^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout] help: consider returning an `impl Trait` instead of a `dyn Trait`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn transfer(&self, node: State) -> impl State {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
[INFO] [stdout]    |
[INFO] [stdout] 24 ~     fn transfer(&self, node: State) -> Box<dyn State> {
[INFO] [stdout] 25 ~         return Box::new(node);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `(dyn State + 'static)` cannot be known at compilation time
[INFO] [stdout]   --> src/nodes/src/list.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn transfer(&self, node: State) -> State {
[INFO] [stdout]    |                              ^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `(dyn State + 'static)`
[INFO] [stdout]    = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn transfer(&self, node: &dyn State) -> State {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `(dyn State + 'static)` cannot be known at compilation time
[INFO] [stdout]   --> src/nodes/src/list.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn transfer(&self, node: State) -> State {
[INFO] [stdout]    |                              ^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `(dyn State + 'static)`
[INFO] [stdout]    = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn transfer(&self, node: &dyn State) -> State {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.node` which is behind a shared reference
[INFO] [stdout]   --> src/nodes/src/list.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |         return self.node;
[INFO] [stdout]    |                ^^^^^^^^^ move occurs because `self.node` has type `Node`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] note: if `Node` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/nodes/src/node.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Node {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/nodes/src/list.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |         return self.node;
[INFO] [stdout]    |                --------- you could clone this value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.node` which is behind a shared reference
[INFO] [stdout]   --> src/nodes/src/list.rs:29:16
[INFO] [stdout]    |
[INFO] [stdout] 29 |         return self.node;
[INFO] [stdout]    |                ^^^^^^^^^ move occurs because `self.node` has type `Node`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] note: if `Node` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/nodes/src/node.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Node {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/nodes/src/list.rs:29:16
[INFO] [stdout]    |
[INFO] [stdout] 29 |         return self.node;
[INFO] [stdout]    |                --------- you could clone this value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0507, E0746.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr]     Checking thread-id v3.0.0
[INFO] [stderr]     Checking memchr v1.0.1
[INFO] [stderr] error: could not compile `nodes` (lib) due to 6 previous errors; 6 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "fcbcdbc09da4085149850c29a4dff6d03847d1fcfeb584062b61e18ab4869244", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fcbcdbc09da4085149850c29a4dff6d03847d1fcfeb584062b61e18ab4869244", kill_on_drop: false }`
[INFO] [stdout] fcbcdbc09da4085149850c29a4dff6d03847d1fcfeb584062b61e18ab4869244
