[INFO] fetching crate lamina 0.0.6...
[INFO] testing lamina-0.0.6 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate lamina 0.0.6 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate lamina 0.0.6
[INFO] finished tweaking crates.io crate lamina 0.0.6
[INFO] tweaked toml for crates.io crate lamina 0.0.6 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate lamina 0.0.6 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate lamina 0.0.6 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 137a5f059ffee68069e210a237a2a7a9cfc49d7e52586bfbed7001f8b3c1d3ab
[INFO] running `Command { std: "docker" "start" "-a" "137a5f059ffee68069e210a237a2a7a9cfc49d7e52586bfbed7001f8b3c1d3ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "137a5f059ffee68069e210a237a2a7a9cfc49d7e52586bfbed7001f8b3c1d3ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "137a5f059ffee68069e210a237a2a7a9cfc49d7e52586bfbed7001f8b3c1d3ab", kill_on_drop: false }`
[INFO] [stdout] 137a5f059ffee68069e210a237a2a7a9cfc49d7e52586bfbed7001f8b3c1d3ab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4c026db1505235ae0b4934cc4cf88cb134f70a390bdbbeeaa0a5b30eb067ce9a
[INFO] running `Command { std: "docker" "start" "-a" "4c026db1505235ae0b4934cc4cf88cb134f70a390bdbbeeaa0a5b30eb067ce9a", kill_on_drop: false }`
[INFO] [stderr]    Compiling lamina v0.0.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Type`
[INFO] [stdout]  --> src/codegen/riscv/globals.rs:3:70
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{GlobalDeclaration, LaminaError, Literal, Module, Result, Type};
[INFO] [stdout]   |                                                                      ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValueLocation`
[INFO] [stdout]  --> src/codegen/riscv/instructions.rs:2:68
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::state::{CodegenState, FunctionContext, RETURN_REGISTER, ValueLocation};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> src/codegen/riscv/instructions.rs:4:90
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{BinaryOp, Identifier, Instruction, LaminaError, PrimitiveType, Result, Type, Value};
[INFO] [stdout]   |                                                                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MirType`
[INFO] [stdout]  --> src/mir/codegen/convert.rs:4:51
[INFO] [stdout]   |
[INFO] [stdout] 4 |     AddressMode, Block, Instruction, MemoryAttrs, MirType, Module, Operand, Parameter, Register,
[INFO] [stdout]   |                                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/codegen/mir_ver/arm/aarch64/mod.rs:225:21
[INFO] [stdout]     |
[INFO] [stdout] 225 |                     _ => writeln!(w, "    // TODO: unimplemented binop {}", op)?,
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/codegen/mir_ver/arm/aarch64/mod.rs:225:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     crate::mir::IntBinOp::Add => {
[INFO] [stdout]     |                     ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 129 |                     crate::mir::IntBinOp::Sub => {
[INFO] [stdout]     |                     ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 134 |                     crate::mir::IntBinOp::Mul => {
[INFO] [stdout]     |                     ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 139 |                     crate::mir::IntBinOp::UDiv => {
[INFO] [stdout]     |                     -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 225 |                     _ => writeln!(w, "    // TODO: unimplemented binop {}", op)?,
[INFO] [stdout]     |                     ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_area`
[INFO] [stdout]    --> src/codegen/riscv/functions.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let saved_area: i64 = match state.width() {
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_area`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allocated_ty`
[INFO] [stdout]   --> src/codegen/riscv/instructions.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             allocated_ty,
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: try ignoring the field: `allocated_ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `free_gprs`, `used_gprs`, and `vreg_to_preg` are never read
[INFO] [stdout]   --> src/codegen/mir_ver/arm/aarch64/regalloc.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct A64RegAlloc {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 11 |     free_gprs: VecDeque<&'static str>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 12 |     used_gprs: HashSet<&'static str>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 13 |     vreg_to_preg: HashMap<VirtualReg, &'static str>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_occupied`, `occupy`, `release`, `get_mapping_for`, `ensure_mapping_for_gpr`, and `mapped_for_register` are never used
[INFO] [stdout]    --> src/codegen/mir_ver/arm/aarch64/regalloc.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl A64RegAlloc {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn is_occupied(&self, phys: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn occupy(&mut self, phys: &'static str) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn release(&mut self, phys: &'static str) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn get_mapping_for(&self, v: &VirtualReg) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn ensure_mapping_for_gpr(&mut self, v: VirtualReg) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn mapped_for_register(&self, r: &Register) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_memory_contents_for_value` is never used
[INFO] [stdout]   --> src/codegen/wasm/state.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl<'a> CodegenState<'a> {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn set_memory_contents_for_value(&mut self, address: usize, val: Value<'a>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeadCodeStats` is never constructed
[INFO] [stdout]   --> src/mir/transform/deadcode.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct DeadCodeStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeadCodeElimination` is never constructed
[INFO] [stdout]   --> src/mir/transform/deadcode.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct DeadCodeElimination;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `apply`, `compute_live_registers`, `process_block_liveness`, `remove_dead_instructions`, `is_dead_instruction`, and `has_no_side_effects` are never used
[INFO] [stdout]    --> src/mir/transform/deadcode.rs:45:12
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl DeadCodeElimination {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  45 |     pub fn apply(&self, func: &mut Function) -> Result<DeadCodeStats, String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     fn compute_live_registers(&self, func: &Function) -> Result<HashSet<Register>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn process_block_liveness(&self, block: &Block, live_regs: &mut HashSet<Register>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn remove_dead_instructions(&self, block: &mut Block, live_regs: &HashSet<Register>) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     fn is_dead_instruction(&self, instr: &Instruction, live_regs: &HashSet<Register>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn has_no_side_effects(&self, instr: &Instruction) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Peephole` is never constructed
[INFO] [stdout]   --> src/mir/transform/peephole.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Peephole;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `run_on_function`, `run_on_block`, and `try_fold_int_identity` are never used
[INFO] [stdout]   --> src/mir/transform/peephole.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Peephole {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 33 |     /// Apply peephole rewrites to a function. Returns true if any change occurred.
[INFO] [stdout] 34 |     pub fn run_on_function(&self, func: &mut Function) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn run_on_block(&self, block: &mut Block) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     fn try_fold_int_identity(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_zero` is never used
[INFO] [stdout]    --> src/mir/transform/peephole.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn is_zero(i: Option<Immediate>) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_one` is never used
[INFO] [stdout]    --> src/mir/transform/peephole.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn is_one(i: Option<Immediate>) -> bool {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.95s
[INFO] running `Command { std: "docker" "inspect" "4c026db1505235ae0b4934cc4cf88cb134f70a390bdbbeeaa0a5b30eb067ce9a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c026db1505235ae0b4934cc4cf88cb134f70a390bdbbeeaa0a5b30eb067ce9a", kill_on_drop: false }`
[INFO] [stdout] 4c026db1505235ae0b4934cc4cf88cb134f70a390bdbbeeaa0a5b30eb067ce9a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5d20e5799dfb36b86a5ffac322c8a343d0cb7170c3cf9f52cf1e509a5afb1b16
[INFO] running `Command { std: "docker" "start" "-a" "5d20e5799dfb36b86a5ffac322c8a343d0cb7170c3cf9f52cf1e509a5afb1b16", kill_on_drop: false }`
[INFO] [stderr]    Compiling lamina v0.0.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Type`
[INFO] [stdout]  --> src/codegen/riscv/globals.rs:3:70
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{GlobalDeclaration, LaminaError, Literal, Module, Result, Type};
[INFO] [stdout]   |                                                                      ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValueLocation`
[INFO] [stdout]  --> src/codegen/riscv/instructions.rs:2:68
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::state::{CodegenState, FunctionContext, RETURN_REGISTER, ValueLocation};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> src/codegen/riscv/instructions.rs:4:90
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{BinaryOp, Identifier, Instruction, LaminaError, PrimitiveType, Result, Type, Value};
[INFO] [stdout]   |                                                                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MirType`
[INFO] [stdout]  --> src/mir/codegen/convert.rs:4:51
[INFO] [stdout]   |
[INFO] [stdout] 4 |     AddressMode, Block, Instruction, MemoryAttrs, MirType, Module, Operand, Parameter, Register,
[INFO] [stdout]   |                                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/codegen/mir_ver/arm/aarch64/mod.rs:225:21
[INFO] [stdout]     |
[INFO] [stdout] 225 |                     _ => writeln!(w, "    // TODO: unimplemented binop {}", op)?,
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/codegen/mir_ver/arm/aarch64/mod.rs:225:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     crate::mir::IntBinOp::Add => {
[INFO] [stdout]     |                     ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 129 |                     crate::mir::IntBinOp::Sub => {
[INFO] [stdout]     |                     ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 134 |                     crate::mir::IntBinOp::Mul => {
[INFO] [stdout]     |                     ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 139 |                     crate::mir::IntBinOp::UDiv => {
[INFO] [stdout]     |                     -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 225 |                     _ => writeln!(w, "    // TODO: unimplemented binop {}", op)?,
[INFO] [stdout]     |                     ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_area`
[INFO] [stdout]    --> src/codegen/riscv/functions.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let saved_area: i64 = match state.width() {
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_area`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allocated_ty`
[INFO] [stdout]   --> src/codegen/riscv/instructions.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             allocated_ty,
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: try ignoring the field: `allocated_ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `free_gprs`, `used_gprs`, and `vreg_to_preg` are never read
[INFO] [stdout]   --> src/codegen/mir_ver/arm/aarch64/regalloc.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct A64RegAlloc {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 11 |     free_gprs: VecDeque<&'static str>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 12 |     used_gprs: HashSet<&'static str>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 13 |     vreg_to_preg: HashMap<VirtualReg, &'static str>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_occupied`, `occupy`, `release`, `get_mapping_for`, `ensure_mapping_for_gpr`, and `mapped_for_register` are never used
[INFO] [stdout]    --> src/codegen/mir_ver/arm/aarch64/regalloc.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl A64RegAlloc {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn is_occupied(&self, phys: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn occupy(&mut self, phys: &'static str) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn release(&mut self, phys: &'static str) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn get_mapping_for(&self, v: &VirtualReg) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn ensure_mapping_for_gpr(&mut self, v: VirtualReg) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn mapped_for_register(&self, r: &Register) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_memory_contents_for_value` is never used
[INFO] [stdout]   --> src/codegen/wasm/state.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl<'a> CodegenState<'a> {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn set_memory_contents_for_value(&mut self, address: usize, val: Value<'a>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeadCodeStats` is never constructed
[INFO] [stdout]   --> src/mir/transform/deadcode.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct DeadCodeStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeadCodeElimination` is never constructed
[INFO] [stdout]   --> src/mir/transform/deadcode.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct DeadCodeElimination;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `apply`, `compute_live_registers`, `process_block_liveness`, `remove_dead_instructions`, `is_dead_instruction`, and `has_no_side_effects` are never used
[INFO] [stdout]    --> src/mir/transform/deadcode.rs:45:12
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl DeadCodeElimination {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  45 |     pub fn apply(&self, func: &mut Function) -> Result<DeadCodeStats, String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     fn compute_live_registers(&self, func: &Function) -> Result<HashSet<Register>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn process_block_liveness(&self, block: &Block, live_regs: &mut HashSet<Register>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn remove_dead_instructions(&self, block: &mut Block, live_regs: &HashSet<Register>) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     fn is_dead_instruction(&self, instr: &Instruction, live_regs: &HashSet<Register>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn has_no_side_effects(&self, instr: &Instruction) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Peephole` is never constructed
[INFO] [stdout]   --> src/mir/transform/peephole.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Peephole;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `run_on_function`, `run_on_block`, and `try_fold_int_identity` are never used
[INFO] [stdout]   --> src/mir/transform/peephole.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Peephole {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 33 |     /// Apply peephole rewrites to a function. Returns true if any change occurred.
[INFO] [stdout] 34 |     pub fn run_on_function(&self, func: &mut Function) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn run_on_block(&self, block: &mut Block) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     fn try_fold_int_identity(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_zero` is never used
[INFO] [stdout]    --> src/mir/transform/peephole.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn is_zero(i: Option<Immediate>) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_one` is never used
[INFO] [stdout]    --> src/mir/transform/peephole.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn is_one(i: Option<Immediate>) -> bool {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Type`
[INFO] [stdout]  --> src/codegen/riscv/globals.rs:3:70
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{GlobalDeclaration, LaminaError, Literal, Module, Result, Type};
[INFO] [stdout]   |                                                                      ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValueLocation`
[INFO] [stdout]  --> src/codegen/riscv/instructions.rs:2:68
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::state::{CodegenState, FunctionContext, RETURN_REGISTER, ValueLocation};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> src/codegen/riscv/instructions.rs:4:90
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{BinaryOp, Identifier, Instruction, LaminaError, PrimitiveType, Result, Type, Value};
[INFO] [stdout]   |                                                                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `i64 as ir_i64`
[INFO] [stdout]    --> src/mir/codegen/convert.rs:814:30
[INFO] [stdout]     |
[INFO] [stdout] 814 |     use crate::ir::builder::{i64 as ir_i64, var};
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Immediate`
[INFO] [stdout]    --> src/mir/function.rs:234:35
[INFO] [stdout]     |
[INFO] [stdout] 234 |     use crate::mir::instruction::{Immediate, Instruction, IntBinOp, Operand};
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/codegen/mir_ver/arm/aarch64/mod.rs:225:21
[INFO] [stdout]     |
[INFO] [stdout] 225 |                     _ => writeln!(w, "    // TODO: unimplemented binop {}", op)?,
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/codegen/mir_ver/arm/aarch64/mod.rs:225:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     crate::mir::IntBinOp::Add => {
[INFO] [stdout]     |                     ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 129 |                     crate::mir::IntBinOp::Sub => {
[INFO] [stdout]     |                     ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 134 |                     crate::mir::IntBinOp::Mul => {
[INFO] [stdout]     |                     ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 139 |                     crate::mir::IntBinOp::UDiv => {
[INFO] [stdout]     |                     -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 225 |                     _ => writeln!(w, "    // TODO: unimplemented binop {}", op)?,
[INFO] [stdout]     |                     ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_area`
[INFO] [stdout]    --> src/codegen/riscv/functions.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let saved_area: i64 = match state.width() {
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_area`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allocated_ty`
[INFO] [stdout]   --> src/codegen/riscv/instructions.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             allocated_ty,
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: try ignoring the field: `allocated_ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `free_gprs`, `used_gprs`, and `vreg_to_preg` are never read
[INFO] [stdout]   --> src/codegen/mir_ver/arm/aarch64/regalloc.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct A64RegAlloc {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 11 |     free_gprs: VecDeque<&'static str>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 12 |     used_gprs: HashSet<&'static str>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 13 |     vreg_to_preg: HashMap<VirtualReg, &'static str>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_occupied`, `occupy`, `release`, `get_mapping_for`, `ensure_mapping_for_gpr`, and `mapped_for_register` are never used
[INFO] [stdout]    --> src/codegen/mir_ver/arm/aarch64/regalloc.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl A64RegAlloc {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn is_occupied(&self, phys: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn occupy(&mut self, phys: &'static str) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn release(&mut self, phys: &'static str) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn get_mapping_for(&self, v: &VirtualReg) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn ensure_mapping_for_gpr(&mut self, v: VirtualReg) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn mapped_for_register(&self, r: &Register) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_memory_contents_for_value` is never used
[INFO] [stdout]   --> src/codegen/wasm/state.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl<'a> CodegenState<'a> {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn set_memory_contents_for_value(&mut self, address: usize, val: Value<'a>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/parser/impl_.rs:1507:26
[INFO] [stdout]      |
[INFO] [stdout] 1507 |     fn test_state(input: &str) -> ParserState {
[INFO] [stdout]      |                          ^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1507 |     fn test_state(input: &str) -> ParserState<'_> {
[INFO] [stdout]      |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.51s
[INFO] running `Command { std: "docker" "inspect" "5d20e5799dfb36b86a5ffac322c8a343d0cb7170c3cf9f52cf1e509a5afb1b16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d20e5799dfb36b86a5ffac322c8a343d0cb7170c3cf9f52cf1e509a5afb1b16", kill_on_drop: false }`
[INFO] [stdout] 5d20e5799dfb36b86a5ffac322c8a343d0cb7170c3cf9f52cf1e509a5afb1b16
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 95a79e9a73afe7ffe5578b30d64f8664dcb9177a2b6169335e96ceaf4cbe6064
[INFO] running `Command { std: "docker" "start" "-a" "95a79e9a73afe7ffe5578b30d64f8664dcb9177a2b6169335e96ceaf4cbe6064", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Type`
[INFO] [stderr]  --> src/codegen/riscv/globals.rs:3:70
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::{GlobalDeclaration, LaminaError, Literal, Module, Result, Type};
[INFO] [stderr]   |                                                                      ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ValueLocation`
[INFO] [stderr]  --> src/codegen/riscv/instructions.rs:2:68
[INFO] [stderr]   |
[INFO] [stderr] 2 | use super::state::{CodegenState, FunctionContext, RETURN_REGISTER, ValueLocation};
[INFO] [stderr]   |                                                                    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Value`
[INFO] [stderr]  --> src/codegen/riscv/instructions.rs:4:90
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::{BinaryOp, Identifier, Instruction, LaminaError, PrimitiveType, Result, Type, Value};
[INFO] [stderr]   |                                                                                          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MirType`
[INFO] [stderr]  --> src/mir/codegen/convert.rs:4:51
[INFO] [stderr]   |
[INFO] [stderr] 4 |     AddressMode, Block, Instruction, MemoryAttrs, MirType, Module, Operand, Parameter, Register,
[INFO] [stderr]   |                                                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/codegen/mir_ver/arm/aarch64/mod.rs:225:21
[INFO] [stderr]     |
[INFO] [stderr] 225 |                     _ => writeln!(w, "    // TODO: unimplemented binop {}", op)?,
[INFO] [stderr]     |                     ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/codegen/mir_ver/arm/aarch64/mod.rs:225:21
[INFO] [stderr]     |
[INFO] [stderr] 124 |                     crate::mir::IntBinOp::Add => {
[INFO] [stderr]     |                     ------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 129 |                     crate::mir::IntBinOp::Sub => {
[INFO] [stderr]     |                     ------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 134 |                     crate::mir::IntBinOp::Mul => {
[INFO] [stderr]     |                     ------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 139 |                     crate::mir::IntBinOp::UDiv => {
[INFO] [stderr]     |                     -------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 225 |                     _ => writeln!(w, "    // TODO: unimplemented binop {}", op)?,
[INFO] [stderr]     |                     ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `saved_area`
[INFO] [stderr]    --> src/codegen/riscv/functions.rs:131:9
[INFO] [stderr]     |
[INFO] [stderr] 131 |     let saved_area: i64 = match state.width() {
[INFO] [stderr]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_area`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `allocated_ty`
[INFO] [stderr]   --> src/codegen/riscv/instructions.rs:20:13
[INFO] [stderr]    |
[INFO] [stderr] 20 |             allocated_ty,
[INFO] [stderr]    |             ^^^^^^^^^^^^ help: try ignoring the field: `allocated_ty: _`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `free_gprs`, `used_gprs`, and `vreg_to_preg` are never read
[INFO] [stderr]   --> src/codegen/mir_ver/arm/aarch64/regalloc.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct A64RegAlloc {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 11 |     free_gprs: VecDeque<&'static str>,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 12 |     used_gprs: HashSet<&'static str>,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 13 |     vreg_to_preg: HashMap<VirtualReg, &'static str>,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_occupied`, `occupy`, `release`, `get_mapping_for`, `ensure_mapping_for_gpr`, and `mapped_for_register` are never used
[INFO] [stderr]    --> src/codegen/mir_ver/arm/aarch64/regalloc.rs:72:12
[INFO] [stderr]     |
[INFO] [stderr]  36 | impl A64RegAlloc {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  72 |     pub fn is_occupied(&self, phys: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  77 |     pub fn occupy(&mut self, phys: &'static str) {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  87 |     pub fn release(&mut self, phys: &'static str) {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  94 |     pub fn get_mapping_for(&self, v: &VirtualReg) -> Option<&'static str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub fn ensure_mapping_for_gpr(&mut self, v: VirtualReg) -> Option<&'static str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 117 |     pub fn mapped_for_register(&self, r: &Register) -> Option<&'static str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_memory_contents_for_value` is never used
[INFO] [stderr]   --> src/codegen/wasm/state.rs:84:8
[INFO] [stderr]    |
[INFO] [stderr] 55 | impl<'a> CodegenState<'a> {
[INFO] [stderr]    | ------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 84 |     fn set_memory_contents_for_value(&mut self, address: usize, val: Value<'a>) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DeadCodeStats` is never constructed
[INFO] [stderr]   --> src/mir/transform/deadcode.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct DeadCodeStats {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DeadCodeElimination` is never constructed
[INFO] [stderr]   --> src/mir/transform/deadcode.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct DeadCodeElimination;
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `apply`, `compute_live_registers`, `process_block_liveness`, `remove_dead_instructions`, `is_dead_instruction`, and `has_no_side_effects` are never used
[INFO] [stderr]    --> src/mir/transform/deadcode.rs:45:12
[INFO] [stderr]     |
[INFO] [stderr]  40 | impl DeadCodeElimination {
[INFO] [stderr]     | ------------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  45 |     pub fn apply(&self, func: &mut Function) -> Result<DeadCodeStats, String> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  88 |     fn compute_live_registers(&self, func: &Function) -> Result<HashSet<Register>, String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 112 |     fn process_block_liveness(&self, block: &Block, live_regs: &mut HashSet<Register>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 139 |     fn remove_dead_instructions(&self, block: &mut Block, live_regs: &HashSet<Register>) -> usize {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 158 |     fn is_dead_instruction(&self, instr: &Instruction, live_regs: &HashSet<Register>) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 177 |     fn has_no_side_effects(&self, instr: &Instruction) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Peephole` is never constructed
[INFO] [stderr]   --> src/mir/transform/peephole.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct Peephole;
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `run_on_function`, `run_on_block`, and `try_fold_int_identity` are never used
[INFO] [stderr]   --> src/mir/transform/peephole.rs:34:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl Peephole {
[INFO] [stderr]    | ------------- methods in this implementation
[INFO] [stderr] 33 |     /// Apply peephole rewrites to a function. Returns true if any change occurred.
[INFO] [stderr] 34 |     pub fn run_on_function(&self, func: &mut Function) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     fn run_on_block(&self, block: &mut Block) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 72 |     fn try_fold_int_identity(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_zero` is never used
[INFO] [stderr]    --> src/mir/transform/peephole.rs:131:4
[INFO] [stderr]     |
[INFO] [stderr] 131 | fn is_zero(i: Option<Immediate>) -> bool {
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_one` is never used
[INFO] [stderr]    --> src/mir/transform/peephole.rs:142:4
[INFO] [stderr]     |
[INFO] [stderr] 142 | fn is_one(i: Option<Immediate>) -> bool {
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `lamina` (lib) generated 17 warnings (run `cargo fix --lib -p lamina` to apply 6 suggestions)
[INFO] [stderr] warning: unused import: `i64 as ir_i64`
[INFO] [stderr]    --> src/mir/codegen/convert.rs:814:30
[INFO] [stderr]     |
[INFO] [stderr] 814 |     use crate::ir::builder::{i64 as ir_i64, var};
[INFO] [stderr]     |                              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Immediate`
[INFO] [stderr]    --> src/mir/function.rs:234:35
[INFO] [stderr]     |
[INFO] [stderr] 234 |     use crate::mir::instruction::{Immediate, Instruction, IntBinOp, Operand};
[INFO] [stderr]     |                                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/parser/impl_.rs:1507:26
[INFO] [stderr]      |
[INFO] [stderr] 1507 |     fn test_state(input: &str) -> ParserState {
[INFO] [stderr]      |                          ^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                          |
[INFO] [stderr]      |                          the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1507 |     fn test_state(input: &str) -> ParserState<'_> {
[INFO] [stderr]      |                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `lamina` (lib test) generated 12 warnings (9 duplicates) (run `cargo fix --lib -p lamina --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lamina-6024558e47afcab1)
[INFO] [stdout] 
[INFO] [stdout] running 143 tests
[INFO] [stdout] test codegen::common::globals::tests::test_global_optimizer ... ok
[INFO] [stdout] test codegen::common::instruction_sel::tests::test_addressing_mode_att_syntax ... ok
[INFO] [stdout] test codegen::common::globals::tests::test_generate_literal_data ... ok
[INFO] [stdout] test codegen::common::instruction_sel::tests::test_addressing_mode_intel_syntax ... ok
[INFO] [stdout] test codegen::common::instruction_sel::tests::test_cost_model ... ok
[INFO] [stdout] test codegen::common::instruction_sel::tests::test_fits_in_immediate ... ok
[INFO] [stdout] test codegen::common::instruction_sel::tests::test_peephole_optimizer ... ok
[INFO] [stdout] test codegen::common::register_alloc::tests::test_calculate_spill_cost ... ok
[INFO] [stdout] test codegen::common::register_alloc::tests::test_linear_scan_allocator ... ok
[INFO] [stdout] test codegen::common::register_alloc::tests::test_ranges_interfere ... ok
[INFO] [stdout] test codegen::common::stack_layout::tests::test_optimize_stack_layout ... ok
[INFO] [stdout] test codegen::common::globals::tests::test_standard_global_generator ... ok
[INFO] [stdout] test codegen::common::stack_layout::tests::test_calculate_outgoing_args_size ... ok
[INFO] [stdout] test codegen::common::utils::tests::test_align_to ... ok
[INFO] [stdout] test codegen::common::utils::tests::test_escape_asm_string ... ok
[INFO] [stdout] test codegen::common::utils::tests::test_bits_needed_for_value ... ok
[INFO] [stdout] test codegen::common::utils::tests::test_align_to_signed ... ok
[INFO] [stdout] test codegen::common::stack_layout::tests::test_standard_stack_layout ... ok
[INFO] [stdout] test codegen::common::utils::tests::test_fits_in_signed_bits ... ok
[INFO] [stdout] test codegen::common::utils::tests::test_fits_in_unsigned_bits ... ok
[INFO] [stdout] test codegen::common::utils::tests::test_get_type_size_bytes ... ok
[INFO] [stdout] test codegen::x86_64::functions::tests::test_binary_operations ... ok
[INFO] [stdout] test codegen::common::utils::tests::test_generate_temp_name ... ok
[INFO] [stdout] test codegen::x86_64::functions::tests::test_block_ordering ... ok
[INFO] [stdout] test codegen::x86_64::functions::tests::test_different_primitive_types ... ok
[INFO] [stdout] test codegen::x86_64::functions::tests::test_function_calls ... ok
[INFO] [stdout] test codegen::x86_64::functions::tests::test_exported_function ... ok
[INFO] [stdout] test codegen::x86_64::functions::tests::test_function_with_multiple_blocks ... ok
[INFO] [stdout] test codegen::x86_64::functions::tests::test_function_argument_spilling ... ok
[INFO] [stdout] test codegen::x86_64::functions::tests::test_matmul_consistency ... ok
[INFO] [stdout] test codegen::common::globals::tests::test_global_manager ... ok
[INFO] [stdout] test codegen::x86_64::functions::tests::test_nested_if_statements ... ok
[INFO] [stdout] test codegen::x86_64::globals::tests::test_escape_asm_string ... ok
[INFO] [stdout] test codegen::x86_64::globals::tests::test_generate_global_initializer ... ok
[INFO] [stdout] test codegen::x86_64::functions::tests::test_many_function_args ... ok
[INFO] [stdout] test codegen::x86_64::globals::tests::test_generate_globals_rodata ... ok
[INFO] [stdout] test codegen::x86_64::functions::tests::test_simple_loop ... ok
[INFO] [stdout] test codegen::x86_64::globals::tests::test_generate_globals_no_rodata ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_alloc_instructions ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_binary_instructions ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_complex_instruction_sequence ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_br_instruction ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_cmp_instructions ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_call_instruction ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_jmp_instruction ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_getelementptr_instruction ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_load_instructions ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_getfieldptr_instruction ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_load_stack_heap_variants ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_ret_instruction ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_print_instruction ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_store_instructions ... ok
[INFO] [stdout] test codegen::x86_64::optimization::tests::test_estimate_inlining_benefit ... ok
[INFO] [stdout] test codegen::x86_64::instructions::tests::test_zeroextend_instructions ... ok
[INFO] [stdout] test codegen::x86_64::optimization::tests::test_analyze_function_complexity ... ok
[INFO] [stdout] test codegen::x86_64::optimization::tests::test_apply_peephole_optimizations ... ok
[INFO] [stdout] test codegen::common::globals::tests::test_get_alignment_for_type ... ok
[INFO] [stdout] test codegen::common::utils::tests::test_get_type_alignment ... ok
[INFO] [stdout] test codegen::x86_64::register_info::tests::test_get_register_suffix_for_size ... ok
[INFO] [stdout] test codegen::common::utils::tests::test_is_aligned ... ok
[INFO] [stdout] test codegen::x86_64::functions::tests::test_global_variables ... ok
[INFO] [stdout] test codegen::x86_64::optimization::tests::test_optimization_config ... ok
[INFO] [stdout] test codegen::x86_64::register_allocator::tests::test_interference_detection ... ok
[INFO] [stdout] test codegen::x86_64::register_allocator::tests::test_live_interval_creation ... ok
[INFO] [stdout] test codegen::x86_64::register_allocator::tests::test_register_allocation_result ... ok
[INFO] [stdout] test codegen::x86_64::register_info::tests::test_get_sized_register ... ok
[INFO] [stdout] test codegen::x86_64::register_info::tests::test_register_classification ... ok
[INFO] [stdout] test codegen::x86_64::register_info::tests::test_register_constants ... ok
[INFO] [stdout] test codegen::x86_64::state::tests::test_function_context_get_block_label ... ok
[INFO] [stdout] test codegen::x86_64::state::tests::test_function_context_new ... ok
[INFO] [stdout] test codegen::x86_64::util::tests::test_get_type_size_directive_and_bytes_array ... ok
[INFO] [stdout] test codegen::x86_64::util::tests::test_get_type_size_directive_and_bytes_invalid ... ok
[INFO] [stdout] test codegen::x86_64::util::tests::test_get_type_size_directive_and_bytes_primitives ... ok
[INFO] [stdout] test codegen::x86_64::util::tests::test_get_value_operand_asm_constants ... ok
[INFO] [stdout] test codegen::x86_64::util::tests::test_get_value_operand_asm_variable ... ok
[INFO] [stdout] test ir::function::tests::test_display_function_multiple_blocks ... ok
[INFO] [stdout] test ir::builder::tests::test_alloc_store_load_pattern ... ok
[INFO] [stdout] test ir::builder::tests::test_build_func_with_multiple_blocks ... ok
[INFO] [stdout] test ir::builder::tests::test_build_simple_function ... ok
[INFO] [stdout] test ir::function::tests::test_display_basic_block ... ok
[INFO] [stdout] test ir::function::tests::test_display_function ... ok
[INFO] [stdout] test ir::function::tests::test_display_function_annotation ... ok
[INFO] [stdout] test ir::function::tests::test_display_function_parameter ... ok
[INFO] [stdout] test ir::function::tests::test_display_function_signature ... ok
[INFO] [stdout] test ir::instruction::tests::test_display_alloc_type ... ok
[INFO] [stdout] test ir::instruction::tests::test_display_binary_op ... ok
[INFO] [stdout] test ir::instruction::tests::test_display_cmp_op ... ok
[INFO] [stdout] test ir::instruction::tests::test_display_instruction ... ok
[INFO] [stdout] test ir::module::tests::test_display_empty_module ... ok
[INFO] [stdout] test ir::module::tests::test_display_global_declaration ... ok
[INFO] [stdout] test ir::module::tests::test_display_module ... ok
[INFO] [stdout] test ir::module::tests::test_display_type_declaration ... ok
[INFO] [stdout] test ir::types::tests::test_display_literal ... ok
[INFO] [stdout] test ir::types::tests::test_display_primitive_type ... ok
[INFO] [stdout] test ir::types::tests::test_display_type ... ok
[INFO] [stdout] test ir::types::tests::test_display_value ... ok
[INFO] [stdout] test mir::block::tests::test_basic_block_creation ... ok
[INFO] [stdout] test mir::block::tests::test_basic_block_push ... ok
[INFO] [stdout] test mir::block::tests::test_basic_block_terminator ... ok
[INFO] [stdout] test mir::codegen::convert::tests::test_from_ir_simple_add ... ok
[INFO] [stdout] test mir::function::tests::test_function_builder ... ok
[INFO] [stdout] test mir::function::tests::test_function_validation ... ok
[INFO] [stdout] test mir::function::tests::test_signature_creation ... ok
[INFO] [stdout] test mir::instruction::tests::test_instruction_def_reg ... ok
[INFO] [stdout] test mir::instruction::tests::test_instruction_is_terminator ... ok
[INFO] [stdout] test mir::module::tests::test_module_add_function ... ok
[INFO] [stdout] test mir::module::tests::test_module_add_global ... ok
[INFO] [stdout] test mir::module::tests::test_module_builder ... ok
[INFO] [stdout] test mir::module::tests::test_module_creation ... ok
[INFO] [stdout] test mir::register::tests::test_physical_reg ... ok
[INFO] [stdout] test mir::register::tests::test_register_enum ... ok
[INFO] [stdout] test mir::register::tests::test_virtual_reg_allocator ... ok
[INFO] [stdout] test mir::register::tests::test_virtual_reg_creation ... ok
[INFO] [stdout] test mir::transform::deadcode::tests::test_dead_code_elimination_no_changes ... ok
[INFO] [stdout] test mir::transform::deadcode::tests::test_dead_code_elimination_side_effects ... ok
[INFO] [stdout] test mir::transform::deadcode::tests::test_dead_code_elimination_terminators ... ok
[INFO] [stdout] test mir::transform::deadcode::tests::test_dead_code_elimination_basic ... ok
[INFO] [stdout] test mir::transform::peephole::tests::fold_add_zero_right ... ok
[INFO] [stdout] test mir::transform::peephole::tests::fold_mul_one_left ... ok
[INFO] [stdout] test mir::types::tests::test_float_detection ... ok
[INFO] [stdout] test mir::types::tests::test_scalar_sizes ... ok
[INFO] [stdout] test mir::types::tests::test_vector_sizes ... ok
[INFO] [stdout] test parser::impl_::tests::test_parse_boolean_literals ... ok
[INFO] [stdout] test parser::impl_::tests::test_parse_float_literals_with_hints ... ok
[INFO] [stdout] test parser::impl_::tests::test_parse_integer_literals_with_hints ... ok
[INFO] [stdout] test parser::impl_::tests::test_parse_invalid_type ... ok
[INFO] [stdout] test parser::impl_::tests::test_parse_named_type ... ok
[INFO] [stdout] test parser::impl_::tests::test_parse_primitive_types ... ok
[INFO] [stdout] test parser::impl_::tests::test_parse_string_literals ... ok
[INFO] [stdout] test parser::impl_::tests::test_parse_type_mismatches ... ok
[INFO] [stdout] test parser::impl_::tests::test_parse_variables_and_globals ... ok
[INFO] [stdout] test parser::tests::test_parse_array_and_struct_operations ... ok
[INFO] [stdout] test parser::tests::test_parse_block_missing_terminator ... ok
[INFO] [stdout] test parser::tests::test_parse_comments_and_whitespace ... ok
[INFO] [stdout] test parser::tests::test_parse_comparison_operators ... ok
[INFO] [stdout] test parser::tests::test_parse_function_call ... ok
[INFO] [stdout] test parser::tests::test_parse_function_with_multiple_blocks ... ok
[INFO] [stdout] test parser::tests::test_parse_global_declarations ... ok
[INFO] [stdout] test parser::tests::test_parse_i8_type_and_zext ... ok
[INFO] [stdout] test parser::tests::test_parse_simple_add_function ... ok
[INFO] [stdout] test parser::tests::test_parse_tensor_benchmark ... FAILED
[INFO] [stdout] test parser::tests::test_parse_type_declarations ... ok
[INFO] [stdout] test codegen::x86_64::util::tests::test_get_value_operand_asm_global ... ok
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- parser::tests::test_parse_tensor_benchmark stdout ----
[INFO] [stdout] Error: ParsingError("Failed to read benchmark file: No such file or directory (os error 2)")
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     parser::tests::test_parse_tensor_benchmark
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 142 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "95a79e9a73afe7ffe5578b30d64f8664dcb9177a2b6169335e96ceaf4cbe6064", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95a79e9a73afe7ffe5578b30d64f8664dcb9177a2b6169335e96ceaf4cbe6064", kill_on_drop: false }`
[INFO] [stdout] 95a79e9a73afe7ffe5578b30d64f8664dcb9177a2b6169335e96ceaf4cbe6064
