[INFO] cloning repository https://github.com/rwblickhan/rdurian [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rwblickhan/rdurian" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frwblickhan%2Frdurian", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frwblickhan%2Frdurian'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6f0edc1d925315e773ec0d5eda4da1b901342070 [INFO] testing rwblickhan/rdurian/6f0edc1d925315e773ec0d5eda4da1b901342070 against master#595316b4006932405a63862d8fe65f71a6356293 for pr-128254 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frwblickhan%2Frdurian" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/rwblickhan/rdurian on toolchain 595316b4006932405a63862d8fe65f71a6356293 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+595316b4006932405a63862d8fe65f71a6356293" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/rwblickhan/rdurian [INFO] finished tweaking git repo https://github.com/rwblickhan/rdurian [INFO] tweaked toml for git repo https://github.com/rwblickhan/rdurian written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/rwblickhan/rdurian 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" "+595316b4006932405a63862d8fe65f71a6356293" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded subprocess v0.1.13 [INFO] [stderr] Downloaded crossbeam v0.2.12 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+595316b4006932405a63862d8fe65f71a6356293" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8391860813b50851f97d99369edee8ac6e10c33ab2e912684d9f2a433f54aa25 [INFO] running `Command { std: "docker" "start" "-a" "8391860813b50851f97d99369edee8ac6e10c33ab2e912684d9f2a433f54aa25", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8391860813b50851f97d99369edee8ac6e10c33ab2e912684d9f2a433f54aa25", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8391860813b50851f97d99369edee8ac6e10c33ab2e912684d9f2a433f54aa25", kill_on_drop: false }` [INFO] [stdout] 8391860813b50851f97d99369edee8ac6e10c33ab2e912684d9f2a433f54aa25 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+595316b4006932405a63862d8fe65f71a6356293" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fa7fd014bb6181a56db6195a1503e2c589528b70ad0257fbb71f690c90665553 [INFO] running `Command { std: "docker" "start" "-a" "fa7fd014bb6181a56db6195a1503e2c589528b70ad0257fbb71f690c90665553", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Compiling unicode-width v0.1.5 [INFO] [stderr] Compiling atty v0.2.10 [INFO] [stderr] Compiling strsim v0.7.0 [INFO] [stderr] Compiling vec_map v0.8.1 [INFO] [stderr] Compiling subprocess v0.1.13 [INFO] [stderr] Compiling byteorder v1.2.6 [INFO] [stderr] Compiling textwrap v0.10.0 [INFO] [stderr] Compiling clap v2.32.0 [INFO] [stderr] Compiling rdurian v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | let mut iter = stmts.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:42:17 [INFO] [stdout] | [INFO] [stdout] 42 | let mut iter = params.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | let mut iter = args.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let mut iter = args.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | let mut iter = commands.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/treewalk_interpreter.rs:233:21 [INFO] [stdout] | [INFO] [stdout] 233 | let mut handle = stdin.lock(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/treewalk_interpreter.rs:328:21 [INFO] [stdout] | [INFO] [stdout] 328 | let mut func_obj = self.curr_scope.borrow().get(ident_str)?; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float` and `Bool` are never constructed [INFO] [stdout] --> src/vm.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | enum RuntimeObject { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 11 | Integer(i32), [INFO] [stdout] 12 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RuntimeObject` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `constant_pool_size` is never read [INFO] [stdout] --> src/vm.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct VM<'a, Stdout: Write, Stderr: Write> { [INFO] [stdout] | -- field in this struct [INFO] [stdout] 60 | had_exec_error: bool, [INFO] [stdout] 61 | constant_pool_size: ConstantPoolIdx, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> src/treewalk_interpreter.rs:80:32 [INFO] [stdout] | [INFO] [stdout] 80 | Some(obj) => Ok(obj.deref().clone()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `treewalk_interpreter::RuntimeObject` does not implement `Deref`, so calling `deref` on `&treewalk_interpreter::RuntimeObject` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 80 - Some(obj) => Ok(obj.deref().clone()), [INFO] [stdout] 80 + Some(obj) => Ok(obj.clone()), [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `treewalk_interpreter::RuntimeObject`, implement `Clone` for it [INFO] [stdout] | [INFO] [stdout] 20 + #[derive(Clone)] [INFO] [stdout] 21 | enum RuntimeObject { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.08s [INFO] running `Command { std: "docker" "inspect" "fa7fd014bb6181a56db6195a1503e2c589528b70ad0257fbb71f690c90665553", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fa7fd014bb6181a56db6195a1503e2c589528b70ad0257fbb71f690c90665553", kill_on_drop: false }` [INFO] [stdout] fa7fd014bb6181a56db6195a1503e2c589528b70ad0257fbb71f690c90665553 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+595316b4006932405a63862d8fe65f71a6356293" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 705c4d25f263858c3c0fbd49cc122ded09fa4f7012ca19770cf6b843335deccf [INFO] running `Command { std: "docker" "start" "-a" "705c4d25f263858c3c0fbd49cc122ded09fa4f7012ca19770cf6b843335deccf", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | let mut iter = stmts.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:42:17 [INFO] [stdout] | [INFO] [stdout] 42 | let mut iter = params.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | let mut iter = args.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let mut iter = args.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | let mut iter = commands.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/treewalk_interpreter.rs:233:21 [INFO] [stdout] | [INFO] [stdout] 233 | let mut handle = stdin.lock(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/treewalk_interpreter.rs:328:21 [INFO] [stdout] | [INFO] [stdout] 328 | let mut func_obj = self.curr_scope.borrow().get(ident_str)?; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float` and `Bool` are never constructed [INFO] [stdout] --> src/vm.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | enum RuntimeObject { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 11 | Integer(i32), [INFO] [stdout] 12 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RuntimeObject` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `constant_pool_size` is never read [INFO] [stdout] --> src/vm.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct VM<'a, Stdout: Write, Stderr: Write> { [INFO] [stdout] | -- field in this struct [INFO] [stdout] 60 | had_exec_error: bool, [INFO] [stdout] 61 | constant_pool_size: ConstantPoolIdx, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rdurian v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> src/treewalk_interpreter.rs:80:32 [INFO] [stdout] | [INFO] [stdout] 80 | Some(obj) => Ok(obj.deref().clone()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `treewalk_interpreter::RuntimeObject` does not implement `Deref`, so calling `deref` on `&treewalk_interpreter::RuntimeObject` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 80 - Some(obj) => Ok(obj.deref().clone()), [INFO] [stdout] 80 + Some(obj) => Ok(obj.clone()), [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `treewalk_interpreter::RuntimeObject`, implement `Clone` for it [INFO] [stdout] | [INFO] [stdout] 20 + #[derive(Clone)] [INFO] [stdout] 21 | enum RuntimeObject { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | let mut iter = stmts.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:42:17 [INFO] [stdout] | [INFO] [stdout] 42 | let mut iter = params.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | let mut iter = args.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let mut iter = args.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pretty_printer.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | let mut iter = commands.iter(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/treewalk_interpreter.rs:233:21 [INFO] [stdout] | [INFO] [stdout] 233 | let mut handle = stdin.lock(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/treewalk_interpreter.rs:328:21 [INFO] [stdout] | [INFO] [stdout] 328 | let mut func_obj = self.curr_scope.borrow().get(ident_str)?; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float` and `Bool` are never constructed [INFO] [stdout] --> src/vm.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | enum RuntimeObject { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 11 | Integer(i32), [INFO] [stdout] 12 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RuntimeObject` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `constant_pool_size` is never read [INFO] [stdout] --> src/vm.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct VM<'a, Stdout: Write, Stderr: Write> { [INFO] [stdout] | -- field in this struct [INFO] [stdout] 60 | had_exec_error: bool, [INFO] [stdout] 61 | constant_pool_size: ConstantPoolIdx, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> src/treewalk_interpreter.rs:80:32 [INFO] [stdout] | [INFO] [stdout] 80 | Some(obj) => Ok(obj.deref().clone()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `treewalk_interpreter::RuntimeObject` does not implement `Deref`, so calling `deref` on `&treewalk_interpreter::RuntimeObject` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 80 - Some(obj) => Ok(obj.deref().clone()), [INFO] [stdout] 80 + Some(obj) => Ok(obj.clone()), [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `treewalk_interpreter::RuntimeObject`, implement `Clone` for it [INFO] [stdout] | [INFO] [stdout] 20 + #[derive(Clone)] [INFO] [stdout] 21 | enum RuntimeObject { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.86s [INFO] running `Command { std: "docker" "inspect" "705c4d25f263858c3c0fbd49cc122ded09fa4f7012ca19770cf6b843335deccf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "705c4d25f263858c3c0fbd49cc122ded09fa4f7012ca19770cf6b843335deccf", kill_on_drop: false }` [INFO] [stdout] 705c4d25f263858c3c0fbd49cc122ded09fa4f7012ca19770cf6b843335deccf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+595316b4006932405a63862d8fe65f71a6356293" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 49e75fbca0a527ba8863c0d44721be62fc9f2519aa73a465b65de0bb16647b42 [INFO] running `Command { std: "docker" "start" "-a" "49e75fbca0a527ba8863c0d44721be62fc9f2519aa73a465b65de0bb16647b42", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/pretty_printer.rs:9:17 [INFO] [stderr] | [INFO] [stderr] 9 | let mut iter = stmts.iter(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/pretty_printer.rs:42:17 [INFO] [stderr] | [INFO] [stderr] 42 | let mut iter = params.iter(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/pretty_printer.rs:69:17 [INFO] [stderr] | [INFO] [stderr] 69 | let mut iter = args.iter(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/pretty_printer.rs:81:21 [INFO] [stderr] | [INFO] [stderr] 81 | let mut iter = args.iter(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/pretty_printer.rs:92:17 [INFO] [stderr] | [INFO] [stderr] 92 | let mut iter = commands.iter(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/treewalk_interpreter.rs:233:21 [INFO] [stderr] | [INFO] [stderr] 233 | let mut handle = stdin.lock(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/treewalk_interpreter.rs:328:21 [INFO] [stderr] | [INFO] [stderr] 328 | let mut func_obj = self.curr_scope.borrow().get(ident_str)?; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variants `Float` and `Bool` are never constructed [INFO] [stderr] --> src/vm.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 10 | enum RuntimeObject { [INFO] [stderr] | ------------- variants in this enum [INFO] [stderr] 11 | Integer(i32), [INFO] [stderr] 12 | Float(f64), [INFO] [stderr] | ^^^^^ [INFO] [stderr] 13 | Bool(bool), [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RuntimeObject` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field `constant_pool_size` is never read [INFO] [stderr] --> src/vm.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 59 | pub struct VM<'a, Stdout: Write, Stderr: Write> { [INFO] [stderr] | -- field in this struct [INFO] [stderr] 60 | had_exec_error: bool, [INFO] [stderr] 61 | constant_pool_size: ConstantPoolIdx, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stderr] --> src/treewalk_interpreter.rs:80:32 [INFO] [stderr] | [INFO] [stderr] 80 | Some(obj) => Ok(obj.deref().clone()), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `treewalk_interpreter::RuntimeObject` does not implement `Deref`, so calling `deref` on `&treewalk_interpreter::RuntimeObject` copies the reference, which does not do anything and can be removed [INFO] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 80 - Some(obj) => Ok(obj.deref().clone()), [INFO] [stderr] 80 + Some(obj) => Ok(obj.clone()), [INFO] [stderr] | [INFO] [stderr] help: if you meant to clone `treewalk_interpreter::RuntimeObject`, implement `Clone` for it [INFO] [stderr] | [INFO] [stderr] 20 + #[derive(Clone)] [INFO] [stderr] 21 | enum RuntimeObject { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `rdurian` (lib) generated 10 warnings (run `cargo fix --lib -p rdurian` to apply 8 suggestions) [INFO] [stderr] warning: `rdurian` (lib test) generated 10 warnings (10 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rdurian-8d8e461a3233c2cc) [INFO] [stdout] [INFO] [stdout] running 139 tests [INFO] [stdout] test code_generator::tests::test_compile_add_two_int_literals ... ok [INFO] [stdout] test code_generator::tests::test_compile_int_literal ... ok [INFO] [stdout] test code_generator::tests::test_compile_sub_two_int_literals ... ok [INFO] [stdout] test lexer::tests::test_lex_backtick ... ok [INFO] [stdout] test lexer::tests::test_lex_break ... ok [INFO] [stdout] test lexer::tests::test_lex_def ... ok [INFO] [stdout] test lexer::tests::test_lex_and ... ok [INFO] [stdout] test lexer::tests::test_lex_elif ... ok [INFO] [stdout] test lexer::tests::test_lex_else ... ok [INFO] [stdout] test lexer::tests::test_lex_err ... ok [INFO] [stdout] test lexer::tests::test_lex_float_lit ... ok [INFO] [stdout] test lexer::tests::test_lex_false_lit ... ok [INFO] [stdout] test lexer::tests::test_lex_if ... ok [INFO] [stdout] test lexer::tests::test_lex_ident ... ok [INFO] [stdout] test lexer::tests::test_lex_int_lit ... ok [INFO] [stdout] test lexer::tests::test_lex_let ... ok [INFO] [stdout] test lexer::tests::test_lex_next ... ok [INFO] [stdout] test lexer::tests::test_lex_or ... ok [INFO] [stdout] test lexer::tests::test_lex_print ... ok [INFO] [stdout] test lexer::tests::test_lex_return ... ok [INFO] [stdout] test lexer::tests::test_lex_single_ampersand ... ok [INFO] [stdout] test lexer::tests::test_lex_scan ... ok [INFO] [stdout] test lexer::tests::test_lex_single_bang ... ok [INFO] [stdout] test lexer::tests::test_lex_single_bang_equal ... ok [INFO] [stdout] test lexer::tests::test_lex_single_caret ... ok [INFO] [stdout] test lexer::tests::test_lex_single_crlf_newline ... ok [INFO] [stdout] test lexer::tests::test_lex_single_comma ... ok [INFO] [stdout] test lexer::tests::test_lex_single_dollar ... ok [INFO] [stdout] test lexer::tests::test_lex_single_equal ... ok [INFO] [stdout] test lexer::tests::test_lex_single_equal_equal ... ok [INFO] [stdout] test lexer::tests::test_lex_single_greater ... ok [INFO] [stdout] test lexer::tests::test_lex_single_left_brace ... ok [INFO] [stdout] test lexer::tests::test_lex_single_greater_equal ... ok [INFO] [stdout] test lexer::tests::test_lex_single_lesser ... ok [INFO] [stdout] test lexer::tests::test_lex_single_minus ... ok [INFO] [stdout] test lexer::tests::test_lex_single_lesser_equal ... ok [INFO] [stdout] test lexer::tests::test_lex_single_invalid_newline ... ok [INFO] [stdout] test lexer::tests::test_lex_single_plus ... ok [INFO] [stdout] test lexer::tests::test_lex_single_cr_newline ... ok [INFO] [stdout] test lexer::tests::test_lex_single_right_paren ... ok [INFO] [stdout] test lexer::tests::test_lex_single_star ... ok [INFO] [stdout] test lexer::tests::test_lex_single_pipe ... ok [INFO] [stdout] test lexer::tests::test_lex_single_left_paren ... ok [INFO] [stdout] test lexer::tests::test_lex_string_lit ... ok [INFO] [stdout] test lexer::tests::test_lex_true_lit ... ok [INFO] [stdout] test lexer::tests::test_lex_unterminated_string_lit ... ok [INFO] [stdout] test lexer::tests::test_lex_single_right_brace ... ok [INFO] [stdout] test lexer::tests::test_lex_while ... ok [INFO] [stdout] test lexer::tests::test_lexer_ignore_whitespace ... ok [INFO] [stdout] test lexer::tests::test_lex_single_modulo ... ok [INFO] [stdout] test parser::tests::test_parse_add_expr ... ok [INFO] [stdout] test parser::tests::test_parse_and_expr ... ok [INFO] [stdout] test parser::tests::test_parse_assign_stmt ... ok [INFO] [stdout] test lexer::tests::test_lex_single_slash ... ok [INFO] [stdout] test parser::tests::test_parse_block_stmt_unterminated ... ok [INFO] [stdout] test parser::tests::test_parse_block_stmt_one_line ... ok [INFO] [stdout] test parser::tests::test_parse_concat_expr ... ok [INFO] [stdout] test parser::tests::test_parse_div_expr ... ok [INFO] [stdout] test parser::tests::test_parse_else_no_if ... ok [INFO] [stdout] test parser::tests::test_parse_eq_comp_expr ... ok [INFO] [stdout] test parser::tests::test_parse_block_stmt_multi_line ... ok [INFO] [stdout] test parser::tests::test_parse_break_stmt ... ok [INFO] [stdout] test parser::tests::test_parse_err_stmt ... ok [INFO] [stdout] test parser::tests::test_parse_exp_expr ... ok [INFO] [stdout] test parser::tests::test_parse_grouping_expr ... ok [INFO] [stdout] test parser::tests::test_parse_elif_no_if ... ok [INFO] [stdout] test parser::tests::test_parse_gt_comp_expr ... ok [INFO] [stdout] test parser::tests::test_parse_fn_decl ... ok [INFO] [stdout] test parser::tests::test_parse_func_call ... ok [INFO] [stdout] test parser::tests::test_parse_ge_comp_expr ... ok [INFO] [stdout] test parser::tests::test_parse_identifier ... ok [INFO] [stdout] test parser::tests::test_parse_let_stmt ... ok [INFO] [stdout] test parser::tests::test_parse_if_stmt_no_false_body ... ok [INFO] [stdout] test parser::tests::test_parse_lt_comp_expr ... ok [INFO] [stdout] test parser::tests::test_parse_mod_expr ... ok [INFO] [stdout] test parser::tests::test_parse_le_comp_expr ... ok [INFO] [stdout] test parser::tests::test_parse_multilevel_if_stmt ... ok [INFO] [stdout] test parser::tests::test_parse_neq_comp_expr ... ok [INFO] [stdout] test parser::tests::test_parse_mul_expr ... ok [INFO] [stdout] test parser::tests::test_parse_missing_newline ... ok [INFO] [stdout] test parser::tests::test_parse_or_expr ... ok [INFO] [stdout] test parser::tests::test_parse_next_stmt ... ok [INFO] [stdout] test parser::tests::test_parse_print_stmt ... ok [INFO] [stdout] test parser::tests::test_parse_sub_expr ... ok [INFO] [stdout] test parser::tests::test_parse_pipeline ... ok [INFO] [stdout] test parser::tests::test_parse_unary_env_expr ... ok [INFO] [stdout] test parser::tests::test_parse_unary_minus_expr ... ok [INFO] [stdout] test parser::tests::test_parse_unary_square_root_expr ... ok [INFO] [stdout] test parser::tests::test_parse_unary_stringify_expr ... ok [INFO] [stdout] test parser::tests::test_parse_return_stmt ... ok [INFO] [stdout] test parser::tests::test_parse_while_stmt ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_add_expr ... ok [INFO] [stdout] test parser::tests::test_parse_scan_stmt ... ok [INFO] [stdout] test parser::tests::test_parse_unary_negate_expr ... ok [INFO] [stdout] test parser::tests::test_parse_unary_plus_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_break_stmt_no_loop ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_break_stmt ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_and_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_assign_stmt ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_concat_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_exp_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_exp_float_base_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_exp_float_base_float_pow_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_elif_stmt ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_else_stmt ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_group_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_eq_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_let_stmt ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_fdiv_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_mod_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_mod_neg_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_gt_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_func ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_ge_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_exp_neg_pow_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_mul_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_if_stmt ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_le_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_negate_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_neq_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_lt_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_next_stmt ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_return_stmt_no_fn ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_or_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_sqrt_int_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_next_stmt_no_loop ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_not_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_stringify_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_sqrt_float_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_sub_expr ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_numberify_expr ... ok [INFO] [stdout] test vm::tests::test_missing_constant_pool_size ... ok [INFO] [stdout] test treewalk_interpreter::tests::test_interp_while_stmt ... ok [INFO] [stdout] test vm::tests::test_missing_magic_number ... ok [INFO] [stdout] test vm::tests::test_correct_vm_init ... ok [INFO] [stdout] test vm::tests::test_simple_sub_two_ints ... ok [INFO] [stdout] test vm::tests::test_invalid_constant_pool_size ... ok [INFO] [stdout] test vm::tests::test_invalid_magic_number ... ok [INFO] [stdout] test vm::tests::test_simple_add_two_ints ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 139 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/disassembler.rs (/opt/rustwide/target/debug/deps/disasm-a9a7a667d286dd42) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test tests::test_disasm_add ... ok [INFO] [stdout] test tests::test_disasm_err ... ok [INFO] [stdout] test tests::test_disasm_pop ... ok [INFO] [stdout] test tests::test_disasm_halt ... ok [INFO] [stdout] test tests::test_disasm_nop ... ok [INFO] [stdout] test tests::test_disasm_print ... ok [INFO] [stdout] test tests::test_disasm_sub ... ok [INFO] [stdout] test tests::test_disasm_two_constants ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rdurian-f8c1eb6eb8837e23) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests rdurian [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "49e75fbca0a527ba8863c0d44721be62fc9f2519aa73a465b65de0bb16647b42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "49e75fbca0a527ba8863c0d44721be62fc9f2519aa73a465b65de0bb16647b42", kill_on_drop: false }` [INFO] [stdout] 49e75fbca0a527ba8863c0d44721be62fc9f2519aa73a465b65de0bb16647b42