[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#a7b168ac4977e8e93a43448b44847adaa305d5a9 for pr-150557
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsnowmantw%2Frisp" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-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-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/snowmantw/risp on toolchain a7b168ac4977e8e93a43448b44847adaa305d5a9
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a7b168ac4977e8e93a43448b44847adaa305d5a9" "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" "+a7b168ac4977e8e93a43448b44847adaa305d5a9" "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-id v3.0.0
[INFO] [stderr]   Downloaded thread_local v0.3.2
[INFO] [stderr]   Downloaded aho-corasick v0.6.2
[INFO] [stderr]   Downloaded regex v0.2.1
[INFO] [stderr]   Downloaded regex-syntax v0.4.0
[INFO] [stderr]   Downloaded libc v0.2.20
[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" "+a7b168ac4977e8e93a43448b44847adaa305d5a9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c1552d0b68150fe6bbb1eccd4a06fa2f99887b4bedf815425bbea91736c27bac
[INFO] running `Command { std: "docker" "start" "-a" "c1552d0b68150fe6bbb1eccd4a06fa2f99887b4bedf815425bbea91736c27bac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c1552d0b68150fe6bbb1eccd4a06fa2f99887b4bedf815425bbea91736c27bac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1552d0b68150fe6bbb1eccd4a06fa2f99887b4bedf815425bbea91736c27bac", kill_on_drop: false }`
[INFO] [stdout] c1552d0b68150fe6bbb1eccd4a06fa2f99887b4bedf815425bbea91736c27bac
[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" "+a7b168ac4977e8e93a43448b44847adaa305d5a9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 11f7378b48ffe1d592adddd848bb764b8a6992143626a2533fbf4d9e85627827
[INFO] running `Command { std: "docker" "start" "-a" "11f7378b48ffe1d592adddd848bb764b8a6992143626a2533fbf4d9e85627827", 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 utf8-ranges v1.0.0
[INFO] [stderr]     Checking regex-syntax v0.4.0
[INFO] [stderr]     Checking nodes v0.1.0 (/opt/rustwide/workdir/src/nodes)
[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] 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" "11f7378b48ffe1d592adddd848bb764b8a6992143626a2533fbf4d9e85627827", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11f7378b48ffe1d592adddd848bb764b8a6992143626a2533fbf4d9e85627827", kill_on_drop: false }`
[INFO] [stdout] 11f7378b48ffe1d592adddd848bb764b8a6992143626a2533fbf4d9e85627827
