[INFO] cloning repository https://github.com/MarcoTz/essentials-of-compilation [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MarcoTz/essentials-of-compilation" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarcoTz%2Fessentials-of-compilation", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarcoTz%2Fessentials-of-compilation'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c86e10b596d7bb691c3d1dfcfba06f0ca0c6396f [INFO] building MarcoTz/essentials-of-compilation against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarcoTz%2Fessentials-of-compilation" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/MarcoTz/essentials-of-compilation on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/MarcoTz/essentials-of-compilation [INFO] finished tweaking git repo https://github.com/MarcoTz/essentials-of-compilation [INFO] tweaked toml for git repo https://github.com/MarcoTz/essentials-of-compilation written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 3 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5d54d198f57197b86a574bef689c8a0ca7611f723d277eff1df71f365af3c4bc [INFO] running `Command { std: "docker" "start" "-a" "5d54d198f57197b86a574bef689c8a0ca7611f723d277eff1df71f365af3c4bc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5d54d198f57197b86a574bef689c8a0ca7611f723d277eff1df71f365af3c4bc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5d54d198f57197b86a574bef689c8a0ca7611f723d277eff1df71f365af3c4bc", kill_on_drop: false }` [INFO] [stdout] 5d54d198f57197b86a574bef689c8a0ca7611f723d277eff1df71f365af3c4bc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0593fe66f14527a4d189c5dc0865310260dca091f5a3bc09677654e4f6337a08 [INFO] running `Command { std: "docker" "start" "-a" "0593fe66f14527a4d189c5dc0865310260dca091f5a3bc09677654e4f6337a08", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling chapter1 v0.1.0 (/opt/rustwide/workdir/chapter1) [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling chapter2 v0.1.0 (/opt/rustwide/workdir/chapter2) [INFO] [stderr] Compiling chapter3 v0.1.0 (/opt/rustwide/workdir/chapter3) [INFO] [stdout] warning: unused import: `super::color_graph::assign_registers::assign_registers` [INFO] [stdout] --> chapter3/src/compile.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::color_graph::assign_registers::assign_registers; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::color_graph::color_graph` [INFO] [stdout] --> chapter3/src/compile.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::color_graph::color_graph; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::patch_instructions::PatchInstructions` [INFO] [stdout] --> chapter3/src/compile.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use super::patch_instructions::PatchInstructions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::remove_vars::RemoveVars` [INFO] [stdout] --> chapter3/src/compile.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use super::remove_vars::RemoveVars; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> chapter3/src/remove_vars.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 15 | let adj: HashSet = todo!(); //graph.adjacent(vert); [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 16 | / for v in adj.iter() { [INFO] [stdout] 17 | | match coloring.get(v) { [INFO] [stdout] 18 | | None => continue, [INFO] [stdout] 19 | | Some(c) => { [INFO] [stdout] ... | [INFO] [stdout] 23 | | } [INFO] [stdout] | |_____^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:33:60 [INFO] [stdout] | [INFO] [stdout] 33 | .map(|v| (v.clone(), saturation(/*v*/ todo!(), &graph, &coloring))); [INFO] [stdout] | ------- ^^^^^^ unreachable expression [INFO] [stdout] | | [INFO] [stdout] | any code following this expression is unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:41:56 [INFO] [stdout] | [INFO] [stdout] 41 | coloring.insert(todo!() /*next_vert.clone()*/, vert_color); [INFO] [stdout] | ------- ^^^^^^^^^^ unreachable expression [INFO] [stdout] | | [INFO] [stdout] | any code following this expression is unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | let args: Vec = todo!(); //self.get_args(); [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 8 | / if args.len() == 2 && args.first() == args.get(1) { [INFO] [stdout] 9 | | return vec![]; [INFO] [stdout] 10 | | } [INFO] [stdout] | |_________^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 19 | todo!(); [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 20 | //new_instrs.extend(next_instr.remove_max_immediate(max_immediate)); [INFO] [stdout] 21 | new_instrs [INFO] [stdout] | ^^^^^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> chapter3/src/patch_instructions/prog.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut new_labels: Vec<(Label, usize)> = todo!(); //self.labels; [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 9 | let instrs: Vec = todo!(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> chapter3/src/remove_vars.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | let instrs: Vec = todo!(); [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 18 | / for instr in instrs { [INFO] [stdout] 19 | | let new_instr = instr.remove_vars(assignment)?; [INFO] [stdout] 20 | | new_instrs.push(new_instr); [INFO] [stdout] 21 | | } [INFO] [stdout] | |_________^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `colors` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let mut colors = HashSet::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_colors` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `adj` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let adj: HashSet = todo!(); //graph.adjacent(vert); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_adj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vert` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn saturation(vert: &Var, graph: &InterferenceGraph, coloring: &Coloring) -> HashSet { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_vert` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `graph` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:13:31 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn saturation(vert: &Var, graph: &InterferenceGraph, coloring: &Coloring) -> HashSet { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `coloring` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:13:58 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn saturation(vert: &Var, graph: &InterferenceGraph, coloring: &Coloring) -> HashSet { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coloring` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let mut colors = HashSet::new(); [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: unused variable: `next_vert` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | let (next_vert, next_saturation) = saturations [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_vert` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vert_color` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let vert_color = (0..=11) [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vert_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let mut verts = graph.vertices.clone(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `graph` [INFO] [stdout] --> chapter3/src/compile.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let graph = build_graph(&prog); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | let args: Vec = todo!(); //self.get_args(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_immediate` [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | let max_immediate = 2_i64.pow(16); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_immediate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `no_double_deref` [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | let no_double_deref: Vec = todo!(); //self.remove_double_deref(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_double_deref` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_instrs` [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:18:29 [INFO] [stdout] | [INFO] [stdout] 18 | let mut new_instrs = instrs; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_instrs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_instr` [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:17:40 [INFO] [stdout] | [INFO] [stdout] 17 | .fold(vec![], |instrs, next_instr| { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_instr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | let mut new_instrs = instrs; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_instrs` [INFO] [stdout] --> chapter3/src/patch_instructions/prog.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | let mut new_instrs = vec![]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_instrs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_labels` [INFO] [stdout] --> chapter3/src/patch_instructions/prog.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | let mut new_labels: Vec<(Label, usize)> = todo!(); //self.labels; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_labels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instrs` [INFO] [stdout] --> chapter3/src/patch_instructions/prog.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | let instrs: Vec = todo!(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> chapter3/src/patch_instructions/prog.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | let mut new_instrs = vec![]; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prog` [INFO] [stdout] --> chapter3/src/prelude_conclusion.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn generate_prelude_conclusion(prog: Program) -> Program { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prog` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_instrs` [INFO] [stdout] --> chapter3/src/remove_vars.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | let mut new_instrs = vec![]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_instrs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instrs` [INFO] [stdout] --> chapter3/src/remove_vars.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | let instrs: Vec = todo!(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stack_space` [INFO] [stdout] --> chapter3/src/remove_vars.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | let stack_space: usize = todo!(); //get_stack_space(&new_instrs); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stack_space` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `assignment` [INFO] [stdout] --> chapter3/src/remove_vars.rs:15:26 [INFO] [stdout] | [INFO] [stdout] 15 | fn remove_vars(self, assignment: &RegisterAssignment) -> Result { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assignment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> chapter3/src/remove_vars.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let mut new_instrs = vec![]; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reg` [INFO] [stdout] --> chapter3/src/remove_vars.rs:76:22 [INFO] [stdout] | [INFO] [stdout] 76 | Some(reg) => todo!(), //Ok(IntArg::Reg(reg.clone())), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_reg` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling essentials-main v0.1.0 (/opt/rustwide/workdir/main) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.94s [INFO] running `Command { std: "docker" "inspect" "0593fe66f14527a4d189c5dc0865310260dca091f5a3bc09677654e4f6337a08", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0593fe66f14527a4d189c5dc0865310260dca091f5a3bc09677654e4f6337a08", kill_on_drop: false }` [INFO] [stdout] 0593fe66f14527a4d189c5dc0865310260dca091f5a3bc09677654e4f6337a08 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d072c3da7354e629402e749aa78cbfe22832803c055655d58756af04eaeb5159 [INFO] running `Command { std: "docker" "start" "-a" "d072c3da7354e629402e749aa78cbfe22832803c055655d58756af04eaeb5159", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `super::color_graph::assign_registers::assign_registers` [INFO] [stdout] --> chapter3/src/compile.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::color_graph::assign_registers::assign_registers; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::color_graph::color_graph` [INFO] [stdout] --> chapter3/src/compile.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::color_graph::color_graph; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::patch_instructions::PatchInstructions` [INFO] [stdout] --> chapter3/src/compile.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use super::patch_instructions::PatchInstructions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::remove_vars::RemoveVars` [INFO] [stdout] --> chapter3/src/compile.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use super::remove_vars::RemoveVars; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> chapter3/src/remove_vars.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 15 | let adj: HashSet = todo!(); //graph.adjacent(vert); [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 16 | / for v in adj.iter() { [INFO] [stdout] 17 | | match coloring.get(v) { [INFO] [stdout] 18 | | None => continue, [INFO] [stdout] 19 | | Some(c) => { [INFO] [stdout] ... | [INFO] [stdout] 23 | | } [INFO] [stdout] | |_____^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:33:60 [INFO] [stdout] | [INFO] [stdout] 33 | .map(|v| (v.clone(), saturation(/*v*/ todo!(), &graph, &coloring))); [INFO] [stdout] | ------- ^^^^^^ unreachable expression [INFO] [stdout] | | [INFO] [stdout] | any code following this expression is unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:41:56 [INFO] [stdout] | [INFO] [stdout] 41 | coloring.insert(todo!() /*next_vert.clone()*/, vert_color); [INFO] [stdout] | ------- ^^^^^^^^^^ unreachable expression [INFO] [stdout] | | [INFO] [stdout] | any code following this expression is unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | let args: Vec = todo!(); //self.get_args(); [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 8 | / if args.len() == 2 && args.first() == args.get(1) { [INFO] [stdout] 9 | | return vec![]; [INFO] [stdout] 10 | | } [INFO] [stdout] | |_________^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 19 | todo!(); [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 20 | //new_instrs.extend(next_instr.remove_max_immediate(max_immediate)); [INFO] [stdout] 21 | new_instrs [INFO] [stdout] | ^^^^^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> chapter3/src/patch_instructions/prog.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut new_labels: Vec<(Label, usize)> = todo!(); //self.labels; [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 9 | let instrs: Vec = todo!(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> chapter3/src/remove_vars.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | let instrs: Vec = todo!(); [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 18 | / for instr in instrs { [INFO] [stdout] 19 | | let new_instr = instr.remove_vars(assignment)?; [INFO] [stdout] 20 | | new_instrs.push(new_instr); [INFO] [stdout] 21 | | } [INFO] [stdout] | |_________^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `colors` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let mut colors = HashSet::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_colors` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `adj` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let adj: HashSet = todo!(); //graph.adjacent(vert); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_adj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vert` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn saturation(vert: &Var, graph: &InterferenceGraph, coloring: &Coloring) -> HashSet { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_vert` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `graph` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:13:31 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn saturation(vert: &Var, graph: &InterferenceGraph, coloring: &Coloring) -> HashSet { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `coloring` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:13:58 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn saturation(vert: &Var, graph: &InterferenceGraph, coloring: &Coloring) -> HashSet { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coloring` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let mut colors = HashSet::new(); [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: unused variable: `next_vert` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | let (next_vert, next_saturation) = saturations [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_vert` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vert_color` [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let vert_color = (0..=11) [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vert_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> chapter3/src/color_graph/mod.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let mut verts = graph.vertices.clone(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `graph` [INFO] [stdout] --> chapter3/src/compile.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let graph = build_graph(&prog); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | let args: Vec = todo!(); //self.get_args(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_immediate` [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | let max_immediate = 2_i64.pow(16); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_immediate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `no_double_deref` [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | let no_double_deref: Vec = todo!(); //self.remove_double_deref(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_double_deref` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_instrs` [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:18:29 [INFO] [stdout] | [INFO] [stdout] 18 | let mut new_instrs = instrs; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_instrs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_instr` [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:17:40 [INFO] [stdout] | [INFO] [stdout] 17 | .fold(vec![], |instrs, next_instr| { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_instr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> chapter3/src/patch_instructions/instr.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | let mut new_instrs = instrs; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_instrs` [INFO] [stdout] --> chapter3/src/patch_instructions/prog.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | let mut new_instrs = vec![]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_instrs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_labels` [INFO] [stdout] --> chapter3/src/patch_instructions/prog.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | let mut new_labels: Vec<(Label, usize)> = todo!(); //self.labels; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_labels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instrs` [INFO] [stdout] --> chapter3/src/patch_instructions/prog.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | let instrs: Vec = todo!(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> chapter3/src/patch_instructions/prog.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | let mut new_instrs = vec![]; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prog` [INFO] [stdout] --> chapter3/src/prelude_conclusion.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn generate_prelude_conclusion(prog: Program) -> Program { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prog` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_instrs` [INFO] [stdout] --> chapter3/src/remove_vars.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | let mut new_instrs = vec![]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_instrs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instrs` [INFO] [stdout] --> chapter3/src/remove_vars.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | let instrs: Vec = todo!(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stack_space` [INFO] [stdout] --> chapter3/src/remove_vars.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | let stack_space: usize = todo!(); //get_stack_space(&new_instrs); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stack_space` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `assignment` [INFO] [stdout] --> chapter3/src/remove_vars.rs:15:26 [INFO] [stdout] | [INFO] [stdout] 15 | fn remove_vars(self, assignment: &RegisterAssignment) -> Result { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assignment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> chapter3/src/remove_vars.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let mut new_instrs = vec![]; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling essentials-main v0.1.0 (/opt/rustwide/workdir/main) [INFO] [stdout] warning: unused variable: `reg` [INFO] [stdout] --> chapter3/src/remove_vars.rs:76:22 [INFO] [stdout] | [INFO] [stdout] 76 | Some(reg) => todo!(), //Ok(IntArg::Reg(reg.clone())), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_reg` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s [INFO] running `Command { std: "docker" "inspect" "d072c3da7354e629402e749aa78cbfe22832803c055655d58756af04eaeb5159", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d072c3da7354e629402e749aa78cbfe22832803c055655d58756af04eaeb5159", kill_on_drop: false }` [INFO] [stdout] d072c3da7354e629402e749aa78cbfe22832803c055655d58756af04eaeb5159