[INFO] cloning repository https://github.com/SuperTails/wasmcraft2
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SuperTails/wasmcraft2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSuperTails%2Fwasmcraft2", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSuperTails%2Fwasmcraft2'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5431ca420e25cc8ec0fe880da4825d083f6937b6
[INFO] testing SuperTails/wasmcraft2 against beta-2025-09-21 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSuperTails%2Fwasmcraft2" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/SuperTails/wasmcraft2
[INFO] finished tweaking git repo https://github.com/SuperTails/wasmcraft2
[INFO] tweaked toml for git repo https://github.com/SuperTails/wasmcraft2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/SuperTails/wasmcraft2 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/SuperTails/wasmcraft2 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 407f21e42809c54a5620f1ddf070a50744e69933c4e636806313f51f8997fd5d
[INFO] running `Command { std: "docker" "start" "-a" "407f21e42809c54a5620f1ddf070a50744e69933c4e636806313f51f8997fd5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "407f21e42809c54a5620f1ddf070a50744e69933c4e636806313f51f8997fd5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "407f21e42809c54a5620f1ddf070a50744e69933c4e636806313f51f8997fd5d", kill_on_drop: false }`
[INFO] [stdout] 407f21e42809c54a5620f1ddf070a50744e69933c4e636806313f51f8997fd5d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 658a4d5435eb3a8653e54226469c868755993fd3592b9dbe99a1a483d0f184bf
[INFO] running `Command { std: "docker" "start" "-a" "658a4d5435eb3a8653e54226469c868755993fd3592b9dbe99a1a483d0f184bf", kill_on_drop: false }`
[INFO] [stderr]    Compiling either v1.8.1
[INFO] [stderr]    Compiling libc v0.2.143
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling unicode-bidi v0.3.13
[INFO] [stderr]    Compiling os_str_bytes v6.5.0
[INFO] [stderr]    Compiling textwrap v0.16.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling hashers v1.0.1
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling disjoint-sets v0.4.2
[INFO] [stderr]    Compiling union-find-rs v0.2.1
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling clap_lex v0.2.4
[INFO] [stderr]    Compiling idna v0.3.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling url v2.3.1
[INFO] [stderr]    Compiling ordered-float v3.7.0
[INFO] [stderr]    Compiling wasmparser v0.104.0
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling parse_macro v0.1.0 (https://github.com/Inky-developer/command-parser#bfae7be7)
[INFO] [stderr]    Compiling clap_derive v3.2.25
[INFO] [stderr]    Compiling command_parser v0.1.0 (https://github.com/Inky-developer/command-parser#bfae7be7)
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling clap v3.2.25
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling serde_with_macros v1.5.2
[INFO] [stderr]    Compiling serde_with v1.14.0
[INFO] [stderr]    Compiling datapack_common v0.1.0 (https://github.com/SuperTails/datapack_common.git#d810c7a8)
[INFO] [stderr]    Compiling datapack_vm v0.1.0 (https://github.com/SuperTails/datapackvm.git?branch=interning#57a9d9d0)
[INFO] [stderr]    Compiling wasmcraft v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/ssa/lir_emitter.rs:1:43
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{HashSet, HashMap, VecDeque, BTreeSet}, fmt};
[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: `std::collections::HashSet`
[INFO] [stdout]  --> src/ssa/dce.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockId`, `FullLivenessInfo`, `SsaBasicBlock`, and `SsaTerminator`
[INFO] [stdout]  --> src/ssa/dce.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{SsaProgram, liveness::{FullLivenessInfo}, BlockId, SsaBasicBlock, SsaTerminator};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^   ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `liveness::print_live_ranges`
[INFO] [stdout]  --> src/ssa/reg_alloc.rs:3:65
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{lir::{Register, DoubleRegister, DynRegister}, ssa::{liveness::print_live_ranges, opt::coalesce::{Coloring, coalesce, IFGraph}...
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockId`
[INFO] [stdout]  --> src/ssa/reg_alloc.rs:5:95
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{SsaFunction, SsaVar, liveness::{NoopLivenessInfo, FullLivenessInfo}, TypedSsaVar, BlockId};
[INFO] [stdout]   |                                                                                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `liveness::LiveRange`
[INFO] [stdout]   --> src/ssa/reg_alloc.rs:94:19
[INFO] [stdout]    |
[INFO] [stdout] 94 |     use crate::ssa::{liveness::LiveRange};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `liveness::PredInfo` and `reg_alloc::FullRegAlloc`
[INFO] [stdout]  --> src/ssa/opt/coalesce.rs:8:107
[INFO] [stdout]   |
[INFO] [stdout] 8 | ...SsaInstr, SsaVarOrConst, is_simple_and_mask, liveness::PredInfo, reg_alloc::FullRegAlloc, TypedSsaVar, TypedSsaVarSet}, graph::Graph, ...
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/ssa/mod.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{collections::{HashMap, HashSet}, fmt};
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/ssa/liveness.rs:345:3
[INFO] [stdout]     |
[INFO] [stdout] 344 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 345 |         self.live_in[instr].clone()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/ssa/liveness.rs:350:3
[INFO] [stdout]     |
[INFO] [stdout] 349 |           todo!();
[INFO] [stdout]     |           ------- any code following this expression is unreachable
[INFO] [stdout] 350 | /         if instr == self.live_in.len() - 1 {
[INFO] [stdout] 351 | |             self.live_out.clone()
[INFO] [stdout] 352 | |         } else {
[INFO] [stdout] 353 | |             self.live_in[instr + 1].clone()
[INFO] [stdout] 354 | |         }
[INFO] [stdout]     | |_________^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/ssa/opt/coalesce.rs:328:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |       let new_color = todo!("any admissible color");
[INFO] [stdout]     |                       ----------------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 328 | /     let Some(new_color) = new_color else {
[INFO] [stdout] 329 | |         //println!("Giving up");
[INFO] [stdout] 330 | |         return Err(());
[INFO] [stdout] 331 | |     };
[INFO] [stdout]     | |______^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]     --> src/ssa/mod.rs:1515:4
[INFO] [stdout]      |
[INFO] [stdout] 1514 |             todo!("{:?} {:?}", block.phi_node.sources().count(), predecessors.len());
[INFO] [stdout]      |             ------------------------------------------------------------------------ any code following this expression is unreachable
[INFO] [stdout] 1515 |             return Err(block_id);
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1507:2
[INFO] [stdout]      |
[INFO] [stdout] 1504 |       return;
[INFO] [stdout]      |       ------ any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 1507 | /     if dst != lhs {
[INFO] [stdout] 1508 | |         code.push(format!("scoreboard players operation {dst} = {lhs}"));
[INFO] [stdout] 1509 | |     }
[INFO] [stdout]      | |_____^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/validator.rs:445:14
[INFO] [stdout]     |
[INFO] [stdout] 445 |     for (&val, &ty) in params.iter().zip(t) {
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alloc`
[INFO] [stdout]    --> src/validator.rs:438:88
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn make_params(builder: &mut SsaFuncBuilder, validator: &mut Validator, t: &[ValType], alloc: &mut SsaVarAlloc) {
[INFO] [stdout]     |                                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_alloc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jump`
[INFO] [stdout]    --> src/ssa/interp.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 super::SsaTerminator::Jump(jump) |
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout] 237 |                 super::SsaTerminator::ScheduleJump(jump, _) => {
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 236 ~                 super::SsaTerminator::Jump(_jump) |
[INFO] [stdout] 237 ~                 super::SsaTerminator::ScheduleJump(_jump, _) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond`
[INFO] [stdout]    --> src/ssa/interp.rs:252:38
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 super::SsaTerminator::BranchIf { cond, true_target, false_target } => {
[INFO] [stdout]     |                                                  ^^^^ help: try ignoring the field: `cond: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `true_target`
[INFO] [stdout]    --> src/ssa/interp.rs:252:44
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 super::SsaTerminator::BranchIf { cond, true_target, false_target } => {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^ help: try ignoring the field: `true_target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `false_target`
[INFO] [stdout]    --> src/ssa/interp.rs:252:57
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 super::SsaTerminator::BranchIf { cond, true_target, false_target } => {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^ help: try ignoring the field: `false_target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond`
[INFO] [stdout]    --> src/ssa/interp.rs:274:41
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 super::SsaTerminator::BranchTable { cond, default, arms } => {
[INFO] [stdout]     |                                                     ^^^^ help: try ignoring the field: `cond: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]    --> src/ssa/interp.rs:274:47
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 super::SsaTerminator::BranchTable { cond, default, arms } => {
[INFO] [stdout]     |                                                           ^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arms`
[INFO] [stdout]    --> src/ssa/interp.rs:274:56
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 super::SsaTerminator::BranchTable { cond, default, arms } => {
[INFO] [stdout]     |                                                                    ^^^^ help: try ignoring the field: `arms: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/ssa/lir_emitter.rs:120:10
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let mut b = ssa_block.clone();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_block_id`
[INFO] [stdout]    --> src/ssa/lir_emitter.rs:377:10
[INFO] [stdout]     |
[INFO] [stdout] 377 |     let mut new_block_id = block_id;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_block_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]     --> src/ssa/lir_emitter.rs:1077:9
[INFO] [stdout]      |
[INFO] [stdout] 1077 |                 let range = 0..=(arms.len() as i32 - 1);
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ssa/lir_emitter.rs:120:6
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let mut b = ssa_block.clone();
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ssa/lir_emitter.rs:377:6
[INFO] [stdout]     |
[INFO] [stdout] 377 |     let mut new_block_id = block_id;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/ssa/lir_emitter.rs:1072:9
[INFO] [stdout]      |
[INFO] [stdout] 1072 |                 let mut cond = ra.get(cond.into_untyped());
[INFO] [stdout]      |                     ----^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/ssa/liveness.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn new(block: &SsaBasicBlock, mut live_in: HashSet<TypedSsaVar>) -> Self {
[INFO] [stdout]     |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `live_in`
[INFO] [stdout]    --> src/ssa/liveness.rs:224:40
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn new(block: &SsaBasicBlock, mut live_in: HashSet<TypedSsaVar>) -> Self {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ssa/liveness.rs:224:36
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn new(block: &SsaBasicBlock, mut live_in: HashSet<TypedSsaVar>) -> Self {
[INFO] [stdout]     |                                       ----^^^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]    --> src/ssa/liveness.rs:343:29
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn live_in_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn live_in_body(&self, _instr: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MEMORY_PAGE_BLOCKS`
[INFO] [stdout]     |
[INFO] [stdout] 343 -     pub fn live_in_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stdout] 343 +     pub fn live_in_body(&self, pack_emitter::MEMORY_PAGE_BLOCKS: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]    --> src/ssa/liveness.rs:348:30
[INFO] [stdout]     |
[INFO] [stdout] 348 |     pub fn live_out_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 348 |     pub fn live_out_body(&self, _instr: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |                                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MEMORY_PAGE_BLOCKS`
[INFO] [stdout]     |
[INFO] [stdout] 348 -     pub fn live_out_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stdout] 348 +     pub fn live_out_body(&self, pack_emitter::MEMORY_PAGE_BLOCKS: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var`
[INFO] [stdout]    --> src/ssa/liveness.rs:389:27
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub fn live_range(&self, var: TypedSsaVar) -> BlockLiveRange {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/ssa/liveness.rs:703:29
[INFO] [stdout]     |
[INFO] [stdout] 703 |     pub fn live_in_body(&self, block: BlockId, instr: usize) -> &TypedSsaVarSet {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]    --> src/ssa/liveness.rs:703:45
[INFO] [stdout]     |
[INFO] [stdout] 703 |     pub fn live_in_body(&self, block: BlockId, instr: usize) -> &TypedSsaVarSet {
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 703 |     pub fn live_in_body(&self, block: BlockId, _instr: usize) -> &TypedSsaVarSet {
[INFO] [stdout]     |                                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MEMORY_PAGE_BLOCKS`
[INFO] [stdout]     |
[INFO] [stdout] 703 -     pub fn live_in_body(&self, block: BlockId, instr: usize) -> &TypedSsaVarSet {
[INFO] [stdout] 703 +     pub fn live_in_body(&self, block: BlockId, pack_emitter::MEMORY_PAGE_BLOCKS: usize) -> &TypedSsaVarSet {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pred_block`
[INFO] [stdout]    --> src/ssa/const_prop.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 let pred_block = func.get(*pred);
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pred_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this_block`
[INFO] [stdout]    --> src/ssa/const_prop.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 let this_block = func.get(*node);
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `live_info`
[INFO] [stdout]    --> src/ssa/reg_alloc.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let live_info = FullLivenessInfo::analyze(func);
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_id`
[INFO] [stdout]   --> src/ssa/opt/coalesce.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for (block_id, block) in func.iter() {
[INFO] [stdout]    |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_color`
[INFO] [stdout]    --> src/ssa/opt/coalesce.rs:312:6
[INFO] [stdout]     |
[INFO] [stdout] 312 |     let new_color = todo!("any admissible color");
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `if_graph`
[INFO] [stdout]    --> src/ssa/opt/coalesce.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 292 |     if_graph: &IFGraph,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_if_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_colors`
[INFO] [stdout]    --> src/ssa/opt/coalesce.rs:296:5
[INFO] [stdout]     |
[INFO] [stdout] 296 |     old_colors: &mut HashMap<SsaVar, Color>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_colors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_b`
[INFO] [stdout]     --> src/ssa/mod.rs:1451:25
[INFO] [stdout]      |
[INFO] [stdout] 1451 |     for (block_b_index, block_b) in func.iter() {
[INFO] [stdout]      |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `const_pool`
[INFO] [stdout]    --> src/pack_emitter/mod.rs:669:85
[INFO] [stdout]     |
[INFO] [stdout] 669 | fn mem_load_64(dst: DoubleRegister, addr: RegisterWithInfo, code: &mut Vec<String>, const_pool: &mut HashSet<i32>) {
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_const_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `const_pool`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1496:93
[INFO] [stdout]      |
[INFO] [stdout] 1496 | fn emit_constant_or(dst: Register, lhs: RegisterWithInfo, rhs: i32, code: &mut Vec<String>, const_pool: &mut HashSet<i32>) {
[INFO] [stdout]      |                                                                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_const_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p0_lo`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1900:9
[INFO] [stdout]      |
[INFO] [stdout] 1900 |             let (p0_lo, p0_hi) = DoubleRegister::param(0).split_lo_hi();
[INFO] [stdout]      |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_p0_lo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p0_hi`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1900:16
[INFO] [stdout]      |
[INFO] [stdout] 1900 |             let (p0_lo, p0_hi) = DoubleRegister::param(0).split_lo_hi();
[INFO] [stdout]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_p0_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p1_lo`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1901:9
[INFO] [stdout]      |
[INFO] [stdout] 1901 |             let (p1_lo, p1_hi) = DoubleRegister::param(1).split_lo_hi();
[INFO] [stdout]      |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_p1_lo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p1_hi`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1901:16
[INFO] [stdout]      |
[INFO] [stdout] 1901 |             let (p1_lo, p1_hi) = DoubleRegister::param(1).split_lo_hi();
[INFO] [stdout]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_p1_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret_lo`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1902:9
[INFO] [stdout]      |
[INFO] [stdout] 1902 |             let (ret_lo, ret_hi) = DoubleRegister::return_reg(0).split_lo_hi();
[INFO] [stdout]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_lo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret_hi`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1902:17
[INFO] [stdout]      |
[INFO] [stdout] 1902 |             let (ret_lo, ret_hi) = DoubleRegister::return_reg(0).split_lo_hi();
[INFO] [stdout]      |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func_ident`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:2509:8
[INFO] [stdout]      |
[INFO] [stdout] 2509 |             let func_ident: FunctionIdent = parse_command(&func_name).unwrap();
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wasm_file.rs:271:24
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn func_import(&self, func_idx: usize) -> FuncImport {
[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] 271 |     pub fn func_import(&self, func_idx: usize) -> FuncImport<'_> {
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wasm_file.rs:279:19
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn global(&self, index: u32) -> Global {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn global(&self, index: u32) -> Global<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wasm_file.rs:287:20
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn globals(&self) -> &[Global] {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^
[INFO] [stdout]     |                    |         | |
[INFO] [stdout]     |                    |         | the same lifetime is hidden here
[INFO] [stdout]     |                    |         the same lifetime is elided here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn globals(&self) -> &[Global<'_>] {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ssa/mod.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn arm_mut(&mut self, index: usize) -> PhiArmMut {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn arm_mut(&mut self, index: usize) -> PhiArmMut<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/ssa/liveness.rs:555:5
[INFO] [stdout]     |
[INFO] [stdout] 555 |     live_in_before.extend_typed(instr.uses());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 555 |     let _ = live_in_before.extend_typed(instr.uses());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/set.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn iter(&self) -> SetIter<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn iter(&self) -> SetIter<'_, T> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/set.rs:223:17
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn iter(&self) -> DenseMapIter<K, V> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn iter(&self) -> DenseMapIter<'_, K, V> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.76s
[INFO] running `Command { std: "docker" "inspect" "658a4d5435eb3a8653e54226469c868755993fd3592b9dbe99a1a483d0f184bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "658a4d5435eb3a8653e54226469c868755993fd3592b9dbe99a1a483d0f184bf", kill_on_drop: false }`
[INFO] [stdout] 658a4d5435eb3a8653e54226469c868755993fd3592b9dbe99a1a483d0f184bf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f0bdb3c6731a91506c64660f518af1efe6b12d49b086c09c1c49c3d1a14ccede
[INFO] running `Command { std: "docker" "start" "-a" "f0bdb3c6731a91506c64660f518af1efe6b12d49b086c09c1c49c3d1a14ccede", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling libc v0.2.143
[INFO] [stderr]    Compiling value-bag v1.0.0-alpha.9
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]    Compiling waker-fn v1.1.0
[INFO] [stderr]    Compiling futures-io v0.3.28
[INFO] [stderr]    Compiling parking v2.1.0
[INFO] [stderr]    Compiling concurrent-queue v2.2.0
[INFO] [stderr]    Compiling io-lifetimes v1.0.10
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling async-lock v2.7.0
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling rustversion v1.0.12
[INFO] [stderr]    Compiling rustix v0.37.19
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]    Compiling linux-raw-sys v0.3.7
[INFO] [stderr]    Compiling async-task v4.4.0
[INFO] [stderr]    Compiling async-channel v1.8.0
[INFO] [stderr]    Compiling atomic-waker v1.1.1
[INFO] [stderr]    Compiling tokio v1.28.0
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling socket2 v0.4.9
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling err-derive v0.3.1
[INFO] [stderr]    Compiling async-executor v1.5.1
[INFO] [stderr]    Compiling serde_derive v1.0.162
[INFO] [stderr]    Compiling async-recursion v1.0.4
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling ctor v0.1.26
[INFO] [stderr]    Compiling parse_macro v0.1.0 (https://github.com/Inky-developer/command-parser#bfae7be7)
[INFO] [stderr]    Compiling clap_derive v3.2.25
[INFO] [stderr]    Compiling command_parser v0.1.0 (https://github.com/Inky-developer/command-parser#bfae7be7)
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling serde v1.0.162
[INFO] [stderr]    Compiling blocking v1.3.1
[INFO] [stderr]    Compiling kv-log-macro v1.0.7
[INFO] [stderr]    Compiling clap v3.2.25
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling serde_with_macros v1.5.2
[INFO] [stderr]    Compiling async-global-executor v2.3.1
[INFO] [stderr]    Compiling async-std v1.12.0
[INFO] [stderr]    Compiling rcon v0.6.0
[INFO] [stderr]    Compiling serde_json v1.0.96
[INFO] [stderr]    Compiling serde_with v1.14.0
[INFO] [stderr]    Compiling datapack_common v0.1.0 (https://github.com/SuperTails/datapack_common.git#d810c7a8)
[INFO] [stderr]    Compiling datapack_vm v0.1.0 (https://github.com/SuperTails/datapackvm.git?branch=interning#57a9d9d0)
[INFO] [stderr]    Compiling wasmcraft v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/ssa/lir_emitter.rs:1:43
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{HashSet, HashMap, VecDeque, BTreeSet}, fmt};
[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: `std::collections::HashSet`
[INFO] [stdout]  --> src/ssa/dce.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockId`, `FullLivenessInfo`, `SsaBasicBlock`, and `SsaTerminator`
[INFO] [stdout]  --> src/ssa/dce.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{SsaProgram, liveness::{FullLivenessInfo}, BlockId, SsaBasicBlock, SsaTerminator};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^   ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `liveness::print_live_ranges`
[INFO] [stdout]  --> src/ssa/reg_alloc.rs:3:65
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{lir::{Register, DoubleRegister, DynRegister}, ssa::{liveness::print_live_ranges, opt::coalesce::{Coloring, coalesce, IFGraph}...
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockId`
[INFO] [stdout]  --> src/ssa/reg_alloc.rs:5:95
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{SsaFunction, SsaVar, liveness::{NoopLivenessInfo, FullLivenessInfo}, TypedSsaVar, BlockId};
[INFO] [stdout]   |                                                                                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `liveness::LiveRange`
[INFO] [stdout]   --> src/ssa/reg_alloc.rs:94:19
[INFO] [stdout]    |
[INFO] [stdout] 94 |     use crate::ssa::{liveness::LiveRange};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `liveness::PredInfo` and `reg_alloc::FullRegAlloc`
[INFO] [stdout]  --> src/ssa/opt/coalesce.rs:8:107
[INFO] [stdout]   |
[INFO] [stdout] 8 | ...SsaInstr, SsaVarOrConst, is_simple_and_mask, liveness::PredInfo, reg_alloc::FullRegAlloc, TypedSsaVar, TypedSsaVarSet}, graph::Graph, ...
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/ssa/mod.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{collections::{HashMap, HashSet}, fmt};
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/ssa/liveness.rs:345:3
[INFO] [stdout]     |
[INFO] [stdout] 344 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 345 |         self.live_in[instr].clone()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/ssa/liveness.rs:350:3
[INFO] [stdout]     |
[INFO] [stdout] 349 |           todo!();
[INFO] [stdout]     |           ------- any code following this expression is unreachable
[INFO] [stdout] 350 | /         if instr == self.live_in.len() - 1 {
[INFO] [stdout] 351 | |             self.live_out.clone()
[INFO] [stdout] 352 | |         } else {
[INFO] [stdout] 353 | |             self.live_in[instr + 1].clone()
[INFO] [stdout] 354 | |         }
[INFO] [stdout]     | |_________^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/ssa/lir_emitter.rs:1:43
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{HashSet, HashMap, VecDeque, BTreeSet}, fmt};
[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: `std::collections::HashSet`
[INFO] [stdout]  --> src/ssa/dce.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockId`, `FullLivenessInfo`, `SsaBasicBlock`, and `SsaTerminator`
[INFO] [stdout]  --> src/ssa/dce.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{SsaProgram, liveness::{FullLivenessInfo}, BlockId, SsaBasicBlock, SsaTerminator};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^   ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `liveness::print_live_ranges`
[INFO] [stdout]  --> src/ssa/reg_alloc.rs:3:65
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{lir::{Register, DoubleRegister, DynRegister}, ssa::{liveness::print_live_ranges, opt::coalesce::{Coloring, coalesce, IFGraph}...
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockId`
[INFO] [stdout]  --> src/ssa/reg_alloc.rs:5:95
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{SsaFunction, SsaVar, liveness::{NoopLivenessInfo, FullLivenessInfo}, TypedSsaVar, BlockId};
[INFO] [stdout]   |                                                                                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `liveness::LiveRange`
[INFO] [stdout]   --> src/ssa/reg_alloc.rs:94:19
[INFO] [stdout]    |
[INFO] [stdout] 94 |     use crate::ssa::{liveness::LiveRange};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasmparser::ValType`
[INFO] [stdout]    --> src/ssa/reg_alloc.rs:325:6
[INFO] [stdout]     |
[INFO] [stdout] 325 |     use wasmparser::ValType;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockId`, `JumpTarget`, `SsaBasicBlock`, `SsaFunction`, `SsaInstr`, `SsaTerminator`, `TypedSsaVar`, and `liveness::FullLivenessInfo`
[INFO] [stdout]    --> src/ssa/reg_alloc.rs:327:19
[INFO] [stdout]     |
[INFO] [stdout] 327 |     use crate::ssa::{SsaBasicBlock, TypedSsaVar, SsaInstr, SsaTerminator, JumpTarget, BlockId, SsaFunction, liveness::FullLivenessInfo};
[INFO] [stdout]     |                      ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FullRegAlloc` and `RegAlloc`
[INFO] [stdout]    --> src/ssa/reg_alloc.rs:329:14
[INFO] [stdout]     |
[INFO] [stdout] 329 |     use super::{FullRegAlloc, RegAlloc};
[INFO] [stdout]     |                 ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `liveness::PredInfo` and `reg_alloc::FullRegAlloc`
[INFO] [stdout]  --> src/ssa/opt/coalesce.rs:8:107
[INFO] [stdout]   |
[INFO] [stdout] 8 | ...SsaInstr, SsaVarOrConst, is_simple_and_mask, liveness::PredInfo, reg_alloc::FullRegAlloc, TypedSsaVar, TypedSsaVarSet}, graph::Graph, ...
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/ssa/mod.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{collections::{HashMap, HashSet}, fmt};
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/ssa/opt/coalesce.rs:328:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |       let new_color = todo!("any admissible color");
[INFO] [stdout]     |                       ----------------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 328 | /     let Some(new_color) = new_color else {
[INFO] [stdout] 329 | |         //println!("Giving up");
[INFO] [stdout] 330 | |         return Err(());
[INFO] [stdout] 331 | |     };
[INFO] [stdout]     | |______^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]     --> src/ssa/mod.rs:1515:4
[INFO] [stdout]      |
[INFO] [stdout] 1514 |             todo!("{:?} {:?}", block.phi_node.sources().count(), predecessors.len());
[INFO] [stdout]      |             ------------------------------------------------------------------------ any code following this expression is unreachable
[INFO] [stdout] 1515 |             return Err(block_id);
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1507:2
[INFO] [stdout]      |
[INFO] [stdout] 1504 |       return;
[INFO] [stdout]      |       ------ any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 1507 | /     if dst != lhs {
[INFO] [stdout] 1508 | |         code.push(format!("scoreboard players operation {dst} = {lhs}"));
[INFO] [stdout] 1509 | |     }
[INFO] [stdout]      | |_____^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/ssa/liveness.rs:345:3
[INFO] [stdout]     |
[INFO] [stdout] 344 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 345 |         self.live_in[instr].clone()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/ssa/liveness.rs:350:3
[INFO] [stdout]     |
[INFO] [stdout] 349 |           todo!();
[INFO] [stdout]     |           ------- any code following this expression is unreachable
[INFO] [stdout] 350 | /         if instr == self.live_in.len() - 1 {
[INFO] [stdout] 351 | |             self.live_out.clone()
[INFO] [stdout] 352 | |         } else {
[INFO] [stdout] 353 | |             self.live_in[instr + 1].clone()
[INFO] [stdout] 354 | |         }
[INFO] [stdout]     | |_________^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/validator.rs:445:14
[INFO] [stdout]     |
[INFO] [stdout] 445 |     for (&val, &ty) in params.iter().zip(t) {
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alloc`
[INFO] [stdout]    --> src/validator.rs:438:88
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn make_params(builder: &mut SsaFuncBuilder, validator: &mut Validator, t: &[ValType], alloc: &mut SsaVarAlloc) {
[INFO] [stdout]     |                                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_alloc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jump`
[INFO] [stdout]    --> src/ssa/interp.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 super::SsaTerminator::Jump(jump) |
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout] 237 |                 super::SsaTerminator::ScheduleJump(jump, _) => {
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 236 ~                 super::SsaTerminator::Jump(_jump) |
[INFO] [stdout] 237 ~                 super::SsaTerminator::ScheduleJump(_jump, _) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond`
[INFO] [stdout]    --> src/ssa/interp.rs:252:38
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 super::SsaTerminator::BranchIf { cond, true_target, false_target } => {
[INFO] [stdout]     |                                                  ^^^^ help: try ignoring the field: `cond: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `true_target`
[INFO] [stdout]    --> src/ssa/interp.rs:252:44
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 super::SsaTerminator::BranchIf { cond, true_target, false_target } => {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^ help: try ignoring the field: `true_target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `false_target`
[INFO] [stdout]    --> src/ssa/interp.rs:252:57
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 super::SsaTerminator::BranchIf { cond, true_target, false_target } => {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^ help: try ignoring the field: `false_target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond`
[INFO] [stdout]    --> src/ssa/interp.rs:274:41
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 super::SsaTerminator::BranchTable { cond, default, arms } => {
[INFO] [stdout]     |                                                     ^^^^ help: try ignoring the field: `cond: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]    --> src/ssa/interp.rs:274:47
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 super::SsaTerminator::BranchTable { cond, default, arms } => {
[INFO] [stdout]     |                                                           ^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arms`
[INFO] [stdout]    --> src/ssa/interp.rs:274:56
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 super::SsaTerminator::BranchTable { cond, default, arms } => {
[INFO] [stdout]     |                                                                    ^^^^ help: try ignoring the field: `arms: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/ssa/opt/coalesce.rs:328:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |       let new_color = todo!("any admissible color");
[INFO] [stdout]     |                       ----------------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 328 | /     let Some(new_color) = new_color else {
[INFO] [stdout] 329 | |         //println!("Giving up");
[INFO] [stdout] 330 | |         return Err(());
[INFO] [stdout] 331 | |     };
[INFO] [stdout]     | |______^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/ssa/lir_emitter.rs:120:10
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let mut b = ssa_block.clone();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_block_id`
[INFO] [stdout]    --> src/ssa/lir_emitter.rs:377:10
[INFO] [stdout]     |
[INFO] [stdout] 377 |     let mut new_block_id = block_id;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_block_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]     --> src/ssa/lir_emitter.rs:1077:9
[INFO] [stdout]      |
[INFO] [stdout] 1077 |                 let range = 0..=(arms.len() as i32 - 1);
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]     --> src/ssa/mod.rs:1515:4
[INFO] [stdout]      |
[INFO] [stdout] 1514 |             todo!("{:?} {:?}", block.phi_node.sources().count(), predecessors.len());
[INFO] [stdout]      |             ------------------------------------------------------------------------ any code following this expression is unreachable
[INFO] [stdout] 1515 |             return Err(block_id);
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ssa/lir_emitter.rs:120:6
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let mut b = ssa_block.clone();
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ssa/lir_emitter.rs:377:6
[INFO] [stdout]     |
[INFO] [stdout] 377 |     let mut new_block_id = block_id;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/ssa/lir_emitter.rs:1072:9
[INFO] [stdout]      |
[INFO] [stdout] 1072 |                 let mut cond = ra.get(cond.into_untyped());
[INFO] [stdout]      |                     ----^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/ssa/liveness.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn new(block: &SsaBasicBlock, mut live_in: HashSet<TypedSsaVar>) -> Self {
[INFO] [stdout]     |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `live_in`
[INFO] [stdout]    --> src/ssa/liveness.rs:224:40
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn new(block: &SsaBasicBlock, mut live_in: HashSet<TypedSsaVar>) -> Self {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ssa/liveness.rs:224:36
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn new(block: &SsaBasicBlock, mut live_in: HashSet<TypedSsaVar>) -> Self {
[INFO] [stdout]     |                                       ----^^^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]    --> src/ssa/liveness.rs:343:29
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn live_in_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn live_in_body(&self, _instr: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MEMORY_PAGE_BLOCKS`
[INFO] [stdout]     |
[INFO] [stdout] 343 -     pub fn live_in_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stdout] 343 +     pub fn live_in_body(&self, pack_emitter::MEMORY_PAGE_BLOCKS: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]    --> src/ssa/liveness.rs:348:30
[INFO] [stdout]     |
[INFO] [stdout] 348 |     pub fn live_out_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 348 |     pub fn live_out_body(&self, _instr: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |                                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MEMORY_PAGE_BLOCKS`
[INFO] [stdout]     |
[INFO] [stdout] 348 -     pub fn live_out_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stdout] 348 +     pub fn live_out_body(&self, pack_emitter::MEMORY_PAGE_BLOCKS: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var`
[INFO] [stdout]    --> src/ssa/liveness.rs:389:27
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub fn live_range(&self, var: TypedSsaVar) -> BlockLiveRange {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/ssa/liveness.rs:703:29
[INFO] [stdout]     |
[INFO] [stdout] 703 |     pub fn live_in_body(&self, block: BlockId, instr: usize) -> &TypedSsaVarSet {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]    --> src/ssa/liveness.rs:703:45
[INFO] [stdout]     |
[INFO] [stdout] 703 |     pub fn live_in_body(&self, block: BlockId, instr: usize) -> &TypedSsaVarSet {
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 703 |     pub fn live_in_body(&self, block: BlockId, _instr: usize) -> &TypedSsaVarSet {
[INFO] [stdout]     |                                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MEMORY_PAGE_BLOCKS`
[INFO] [stdout]     |
[INFO] [stdout] 703 -     pub fn live_in_body(&self, block: BlockId, instr: usize) -> &TypedSsaVarSet {
[INFO] [stdout] 703 +     pub fn live_in_body(&self, block: BlockId, pack_emitter::MEMORY_PAGE_BLOCKS: usize) -> &TypedSsaVarSet {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1507:2
[INFO] [stdout]      |
[INFO] [stdout] 1504 |       return;
[INFO] [stdout]      |       ------ any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 1507 | /     if dst != lhs {
[INFO] [stdout] 1508 | |         code.push(format!("scoreboard players operation {dst} = {lhs}"));
[INFO] [stdout] 1509 | |     }
[INFO] [stdout]      | |_____^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pred_block`
[INFO] [stdout]    --> src/ssa/const_prop.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 let pred_block = func.get(*pred);
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pred_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this_block`
[INFO] [stdout]    --> src/ssa/const_prop.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 let this_block = func.get(*node);
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `live_info`
[INFO] [stdout]    --> src/ssa/reg_alloc.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let live_info = FullLivenessInfo::analyze(func);
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_id`
[INFO] [stdout]   --> src/ssa/opt/coalesce.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for (block_id, block) in func.iter() {
[INFO] [stdout]    |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_color`
[INFO] [stdout]    --> src/ssa/opt/coalesce.rs:312:6
[INFO] [stdout]     |
[INFO] [stdout] 312 |     let new_color = todo!("any admissible color");
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `if_graph`
[INFO] [stdout]    --> src/ssa/opt/coalesce.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 292 |     if_graph: &IFGraph,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_if_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_colors`
[INFO] [stdout]    --> src/ssa/opt/coalesce.rs:296:5
[INFO] [stdout]     |
[INFO] [stdout] 296 |     old_colors: &mut HashMap<SsaVar, Color>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_colors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_b`
[INFO] [stdout]     --> src/ssa/mod.rs:1451:25
[INFO] [stdout]      |
[INFO] [stdout] 1451 |     for (block_b_index, block_b) in func.iter() {
[INFO] [stdout]      |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/validator.rs:445:14
[INFO] [stdout]     |
[INFO] [stdout] 445 |     for (&val, &ty) in params.iter().zip(t) {
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alloc`
[INFO] [stdout]    --> src/validator.rs:438:88
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn make_params(builder: &mut SsaFuncBuilder, validator: &mut Validator, t: &[ValType], alloc: &mut SsaVarAlloc) {
[INFO] [stdout]     |                                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_alloc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `const_pool`
[INFO] [stdout]    --> src/pack_emitter/mod.rs:669:85
[INFO] [stdout]     |
[INFO] [stdout] 669 | fn mem_load_64(dst: DoubleRegister, addr: RegisterWithInfo, code: &mut Vec<String>, const_pool: &mut HashSet<i32>) {
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_const_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `const_pool`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1496:93
[INFO] [stdout]      |
[INFO] [stdout] 1496 | fn emit_constant_or(dst: Register, lhs: RegisterWithInfo, rhs: i32, code: &mut Vec<String>, const_pool: &mut HashSet<i32>) {
[INFO] [stdout]      |                                                                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_const_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jump`
[INFO] [stdout]    --> src/ssa/interp.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 super::SsaTerminator::Jump(jump) |
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout] 237 |                 super::SsaTerminator::ScheduleJump(jump, _) => {
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 236 ~                 super::SsaTerminator::Jump(_jump) |
[INFO] [stdout] 237 ~                 super::SsaTerminator::ScheduleJump(_jump, _) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond`
[INFO] [stdout]    --> src/ssa/interp.rs:252:38
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 super::SsaTerminator::BranchIf { cond, true_target, false_target } => {
[INFO] [stdout]     |                                                  ^^^^ help: try ignoring the field: `cond: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `true_target`
[INFO] [stdout]    --> src/ssa/interp.rs:252:44
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 super::SsaTerminator::BranchIf { cond, true_target, false_target } => {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^ help: try ignoring the field: `true_target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `false_target`
[INFO] [stdout]    --> src/ssa/interp.rs:252:57
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 super::SsaTerminator::BranchIf { cond, true_target, false_target } => {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^ help: try ignoring the field: `false_target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond`
[INFO] [stdout]    --> src/ssa/interp.rs:274:41
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 super::SsaTerminator::BranchTable { cond, default, arms } => {
[INFO] [stdout]     |                                                     ^^^^ help: try ignoring the field: `cond: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]    --> src/ssa/interp.rs:274:47
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 super::SsaTerminator::BranchTable { cond, default, arms } => {
[INFO] [stdout]     |                                                           ^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arms`
[INFO] [stdout]    --> src/ssa/interp.rs:274:56
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 super::SsaTerminator::BranchTable { cond, default, arms } => {
[INFO] [stdout]     |                                                                    ^^^^ help: try ignoring the field: `arms: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p0_lo`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1900:9
[INFO] [stdout]      |
[INFO] [stdout] 1900 |             let (p0_lo, p0_hi) = DoubleRegister::param(0).split_lo_hi();
[INFO] [stdout]      |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_p0_lo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p0_hi`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1900:16
[INFO] [stdout]      |
[INFO] [stdout] 1900 |             let (p0_lo, p0_hi) = DoubleRegister::param(0).split_lo_hi();
[INFO] [stdout]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_p0_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p1_lo`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1901:9
[INFO] [stdout]      |
[INFO] [stdout] 1901 |             let (p1_lo, p1_hi) = DoubleRegister::param(1).split_lo_hi();
[INFO] [stdout]      |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_p1_lo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p1_hi`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1901:16
[INFO] [stdout]      |
[INFO] [stdout] 1901 |             let (p1_lo, p1_hi) = DoubleRegister::param(1).split_lo_hi();
[INFO] [stdout]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_p1_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret_lo`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1902:9
[INFO] [stdout]      |
[INFO] [stdout] 1902 |             let (ret_lo, ret_hi) = DoubleRegister::return_reg(0).split_lo_hi();
[INFO] [stdout]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_lo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret_hi`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1902:17
[INFO] [stdout]      |
[INFO] [stdout] 1902 |             let (ret_lo, ret_hi) = DoubleRegister::return_reg(0).split_lo_hi();
[INFO] [stdout]      |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/ssa/lir_emitter.rs:120:10
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let mut b = ssa_block.clone();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_block_id`
[INFO] [stdout]    --> src/ssa/lir_emitter.rs:377:10
[INFO] [stdout]     |
[INFO] [stdout] 377 |     let mut new_block_id = block_id;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_block_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]     --> src/ssa/lir_emitter.rs:1077:9
[INFO] [stdout]      |
[INFO] [stdout] 1077 |                 let range = 0..=(arms.len() as i32 - 1);
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ssa/lir_emitter.rs:120:6
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let mut b = ssa_block.clone();
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ssa/lir_emitter.rs:377:6
[INFO] [stdout]     |
[INFO] [stdout] 377 |     let mut new_block_id = block_id;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/ssa/lir_emitter.rs:1072:9
[INFO] [stdout]      |
[INFO] [stdout] 1072 |                 let mut cond = ra.get(cond.into_untyped());
[INFO] [stdout]      |                     ----^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func_ident`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:2509:8
[INFO] [stdout]      |
[INFO] [stdout] 2509 |             let func_ident: FunctionIdent = parse_command(&func_name).unwrap();
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/ssa/liveness.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn new(block: &SsaBasicBlock, mut live_in: HashSet<TypedSsaVar>) -> Self {
[INFO] [stdout]     |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `live_in`
[INFO] [stdout]    --> src/ssa/liveness.rs:224:40
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn new(block: &SsaBasicBlock, mut live_in: HashSet<TypedSsaVar>) -> Self {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ssa/liveness.rs:224:36
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn new(block: &SsaBasicBlock, mut live_in: HashSet<TypedSsaVar>) -> Self {
[INFO] [stdout]     |                                       ----^^^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]    --> src/ssa/liveness.rs:343:29
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn live_in_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn live_in_body(&self, _instr: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MEMORY_PAGE_BLOCKS`
[INFO] [stdout]     |
[INFO] [stdout] 343 -     pub fn live_in_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stdout] 343 +     pub fn live_in_body(&self, pack_emitter::MEMORY_PAGE_BLOCKS: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]    --> src/ssa/liveness.rs:348:30
[INFO] [stdout]     |
[INFO] [stdout] 348 |     pub fn live_out_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 348 |     pub fn live_out_body(&self, _instr: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |                                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MEMORY_PAGE_BLOCKS`
[INFO] [stdout]     |
[INFO] [stdout] 348 -     pub fn live_out_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stdout] 348 +     pub fn live_out_body(&self, pack_emitter::MEMORY_PAGE_BLOCKS: usize) -> TypedSsaVarSet {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var`
[INFO] [stdout]    --> src/ssa/liveness.rs:389:27
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub fn live_range(&self, var: TypedSsaVar) -> BlockLiveRange {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/ssa/liveness.rs:703:29
[INFO] [stdout]     |
[INFO] [stdout] 703 |     pub fn live_in_body(&self, block: BlockId, instr: usize) -> &TypedSsaVarSet {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]    --> src/ssa/liveness.rs:703:45
[INFO] [stdout]     |
[INFO] [stdout] 703 |     pub fn live_in_body(&self, block: BlockId, instr: usize) -> &TypedSsaVarSet {
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 703 |     pub fn live_in_body(&self, block: BlockId, _instr: usize) -> &TypedSsaVarSet {
[INFO] [stdout]     |                                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MEMORY_PAGE_BLOCKS`
[INFO] [stdout]     |
[INFO] [stdout] 703 -     pub fn live_in_body(&self, block: BlockId, instr: usize) -> &TypedSsaVarSet {
[INFO] [stdout] 703 +     pub fn live_in_body(&self, block: BlockId, pack_emitter::MEMORY_PAGE_BLOCKS: usize) -> &TypedSsaVarSet {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pred_block`
[INFO] [stdout]    --> src/ssa/const_prop.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 let pred_block = func.get(*pred);
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pred_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this_block`
[INFO] [stdout]    --> src/ssa/const_prop.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 let this_block = func.get(*node);
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wasm_file.rs:271:24
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn func_import(&self, func_idx: usize) -> FuncImport {
[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] 271 |     pub fn func_import(&self, func_idx: usize) -> FuncImport<'_> {
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wasm_file.rs:279:19
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn global(&self, index: u32) -> Global {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn global(&self, index: u32) -> Global<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wasm_file.rs:287:20
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn globals(&self) -> &[Global] {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^
[INFO] [stdout]     |                    |         | |
[INFO] [stdout]     |                    |         | the same lifetime is hidden here
[INFO] [stdout]     |                    |         the same lifetime is elided here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn globals(&self) -> &[Global<'_>] {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ssa/mod.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn arm_mut(&mut self, index: usize) -> PhiArmMut {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn arm_mut(&mut self, index: usize) -> PhiArmMut<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `live_info`
[INFO] [stdout]    --> src/ssa/reg_alloc.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let live_info = FullLivenessInfo::analyze(func);
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/ssa/liveness.rs:555:5
[INFO] [stdout]     |
[INFO] [stdout] 555 |     live_in_before.extend_typed(instr.uses());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 555 |     let _ = live_in_before.extend_typed(instr.uses());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_id`
[INFO] [stdout]   --> src/ssa/opt/coalesce.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for (block_id, block) in func.iter() {
[INFO] [stdout]    |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_color`
[INFO] [stdout]    --> src/ssa/opt/coalesce.rs:312:6
[INFO] [stdout]     |
[INFO] [stdout] 312 |     let new_color = todo!("any admissible color");
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `if_graph`
[INFO] [stdout]    --> src/ssa/opt/coalesce.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 292 |     if_graph: &IFGraph,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_if_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_colors`
[INFO] [stdout]    --> src/ssa/opt/coalesce.rs:296:5
[INFO] [stdout]     |
[INFO] [stdout] 296 |     old_colors: &mut HashMap<SsaVar, Color>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_colors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/set.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn iter(&self) -> SetIter<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn iter(&self) -> SetIter<'_, T> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/set.rs:223:17
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn iter(&self) -> DenseMapIter<K, V> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn iter(&self) -> DenseMapIter<'_, K, V> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_b`
[INFO] [stdout]     --> src/ssa/mod.rs:1451:25
[INFO] [stdout]      |
[INFO] [stdout] 1451 |     for (block_b_index, block_b) in func.iter() {
[INFO] [stdout]      |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `const_pool`
[INFO] [stdout]    --> src/pack_emitter/mod.rs:669:85
[INFO] [stdout]     |
[INFO] [stdout] 669 | fn mem_load_64(dst: DoubleRegister, addr: RegisterWithInfo, code: &mut Vec<String>, const_pool: &mut HashSet<i32>) {
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_const_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `const_pool`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1496:93
[INFO] [stdout]      |
[INFO] [stdout] 1496 | fn emit_constant_or(dst: Register, lhs: RegisterWithInfo, rhs: i32, code: &mut Vec<String>, const_pool: &mut HashSet<i32>) {
[INFO] [stdout]      |                                                                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_const_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p0_lo`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1900:9
[INFO] [stdout]      |
[INFO] [stdout] 1900 |             let (p0_lo, p0_hi) = DoubleRegister::param(0).split_lo_hi();
[INFO] [stdout]      |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_p0_lo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p0_hi`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1900:16
[INFO] [stdout]      |
[INFO] [stdout] 1900 |             let (p0_lo, p0_hi) = DoubleRegister::param(0).split_lo_hi();
[INFO] [stdout]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_p0_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p1_lo`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1901:9
[INFO] [stdout]      |
[INFO] [stdout] 1901 |             let (p1_lo, p1_hi) = DoubleRegister::param(1).split_lo_hi();
[INFO] [stdout]      |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_p1_lo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p1_hi`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1901:16
[INFO] [stdout]      |
[INFO] [stdout] 1901 |             let (p1_lo, p1_hi) = DoubleRegister::param(1).split_lo_hi();
[INFO] [stdout]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_p1_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret_lo`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1902:9
[INFO] [stdout]      |
[INFO] [stdout] 1902 |             let (ret_lo, ret_hi) = DoubleRegister::return_reg(0).split_lo_hi();
[INFO] [stdout]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_lo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret_hi`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:1902:17
[INFO] [stdout]      |
[INFO] [stdout] 1902 |             let (ret_lo, ret_hi) = DoubleRegister::return_reg(0).split_lo_hi();
[INFO] [stdout]      |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func_ident`
[INFO] [stdout]     --> src/pack_emitter/mod.rs:2509:8
[INFO] [stdout]      |
[INFO] [stdout] 2509 |             let func_ident: FunctionIdent = parse_command(&func_name).unwrap();
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wasm_file.rs:271:24
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn func_import(&self, func_idx: usize) -> FuncImport {
[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] 271 |     pub fn func_import(&self, func_idx: usize) -> FuncImport<'_> {
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wasm_file.rs:279:19
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn global(&self, index: u32) -> Global {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn global(&self, index: u32) -> Global<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wasm_file.rs:287:20
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn globals(&self) -> &[Global] {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^
[INFO] [stdout]     |                    |         | |
[INFO] [stdout]     |                    |         | the same lifetime is hidden here
[INFO] [stdout]     |                    |         the same lifetime is elided here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn globals(&self) -> &[Global<'_>] {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ssa/mod.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn arm_mut(&mut self, index: usize) -> PhiArmMut {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn arm_mut(&mut self, index: usize) -> PhiArmMut<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/ssa/liveness.rs:555:5
[INFO] [stdout]     |
[INFO] [stdout] 555 |     live_in_before.extend_typed(instr.uses());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 555 |     let _ = live_in_before.extend_typed(instr.uses());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/set.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn iter(&self) -> SetIter<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn iter(&self) -> SetIter<'_, T> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/set.rs:223:17
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn iter(&self) -> DenseMapIter<K, V> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn iter(&self) -> DenseMapIter<'_, K, V> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `lir_emitter` and `validator::wasm_to_ssa`
[INFO] [stdout]  --> tests/server_test.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasmcraft::{ssa::{interp::TypedValue, lir_emitter, BlockId}, lir::Register, wasm_file::WasmFile, validator::wasm_to_ssa, pack_emitter...
[INFO] [stdout]   |                                           ^^^^^^^^^^^                                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> tests/sexpr.rs:174:16
[INFO] [stdout]     |
[INFO] [stdout] 174 |     AssertTrap(Box<SExpr>, String),
[INFO] [stdout]     |     ---------- ^^^^^^^^^^  ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 174 -     AssertTrap(Box<SExpr>, String),
[INFO] [stdout] 174 +     AssertTrap((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> tests/sexpr.rs:176:11
[INFO] [stdout]     |
[INFO] [stdout] 176 |     Ident(String),
[INFO] [stdout]     |     ----- ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 176 -     Ident(String),
[INFO] [stdout] 176 +     Ident(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> tests/server_test.rs:100:30
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn load_state(wasm_data: &[u8]) -> TestState {
[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] 100 | pub fn load_state(wasm_data: &[u8]) -> TestState<'_> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> tests/server_test.rs:104:38
[INFO] [stdout]     |
[INFO] [stdout] 104 | async fn load_state_async(wasm_data: &[u8]) -> TestState {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 | async fn load_state_async(wasm_data: &[u8]) -> TestState<'_> {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Objective` and `ScoreHolder`
[INFO] [stdout]    --> tests/test_common.rs:235:70
[INFO] [stdout]     |
[INFO] [stdout] 235 |     use datapack_common::functions::command_components::{FunctionIdent, ScoreHolder, Objective};
[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 imports: `BlockId`, `SsaInterpreter`, `get_mc_id`, `interp::LirInterpreter`, `lir_emitter`, `self`, and `validator::wasm_to_ssa`
[INFO] [stdout]    --> tests/test_common.rs:237:54
[INFO] [stdout]     |
[INFO] [stdout] 237 | ...::{SsaInterpreter, TypedValue}, lir_emitter, BlockId}, validator::wasm_to_ssa, lir::{interp::LirInterpreter, Register}, pack_emitter::{self, get_mc_id}, ...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^               ^^^^^^^^^^^  ^^^^^^^   ^^^^^^^^^^^^^^^^^^^^^^        ^^^^^^^^^^^^^^^^^^^^^^                            ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> tests/test_common.rs:390:31
[INFO] [stdout]     |
[INFO] [stdout] 390 |     pub fn load_state(wasm_data: &[u8]) -> TestState {
[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] 390 |     pub fn load_state(wasm_data: &[u8]) -> TestState<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 31.05s
[INFO] running `Command { std: "docker" "inspect" "f0bdb3c6731a91506c64660f518af1efe6b12d49b086c09c1c49c3d1a14ccede", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f0bdb3c6731a91506c64660f518af1efe6b12d49b086c09c1c49c3d1a14ccede", kill_on_drop: false }`
[INFO] [stdout] f0bdb3c6731a91506c64660f518af1efe6b12d49b086c09c1c49c3d1a14ccede
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1e58a7418226498069f4da6b38ab0669ffbda162dce09e8350efa69b519133c3
[INFO] running `Command { std: "docker" "start" "-a" "1e58a7418226498069f4da6b38ab0669ffbda162dce09e8350efa69b519133c3", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `VecDeque`
[INFO] [stderr]  --> src/ssa/lir_emitter.rs:1:43
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{collections::{HashSet, HashMap, VecDeque, BTreeSet}, fmt};
[INFO] [stderr]   |                                           ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]  --> src/ssa/dce.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::HashSet;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BlockId`, `FullLivenessInfo`, `SsaBasicBlock`, and `SsaTerminator`
[INFO] [stderr]  --> src/ssa/dce.rs:3:36
[INFO] [stderr]   |
[INFO] [stderr] 3 | use super::{SsaProgram, liveness::{FullLivenessInfo}, BlockId, SsaBasicBlock, SsaTerminator};
[INFO] [stderr]   |                                    ^^^^^^^^^^^^^^^^   ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `liveness::print_live_ranges`
[INFO] [stderr]  --> src/ssa/reg_alloc.rs:3:65
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::{lir::{Register, DoubleRegister, DynRegister}, ssa::{liveness::print_live_ranges, opt::coalesce::{Coloring, coalesce, IFGraph}...
[INFO] [stderr]   |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BlockId`
[INFO] [stderr]  --> src/ssa/reg_alloc.rs:5:95
[INFO] [stderr]   |
[INFO] [stderr] 5 | use super::{SsaFunction, SsaVar, liveness::{NoopLivenessInfo, FullLivenessInfo}, TypedSsaVar, BlockId};
[INFO] [stderr]   |                                                                                               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `liveness::LiveRange`
[INFO] [stderr]   --> src/ssa/reg_alloc.rs:94:19
[INFO] [stderr]    |
[INFO] [stderr] 94 |     use crate::ssa::{liveness::LiveRange};
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `liveness::PredInfo` and `reg_alloc::FullRegAlloc`
[INFO] [stderr]  --> src/ssa/opt/coalesce.rs:8:107
[INFO] [stderr]   |
[INFO] [stderr] 8 | ...SsaInstr, SsaVarOrConst, is_simple_and_mask, liveness::PredInfo, reg_alloc::FullRegAlloc, TypedSsaVar, TypedSsaVarSet}, graph::Graph, ...
[INFO] [stderr]   |                                                 ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]   --> src/ssa/mod.rs:10:34
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::{collections::{HashMap, HashSet}, fmt};
[INFO] [stderr]    |                                  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/ssa/liveness.rs:345:3
[INFO] [stderr]     |
[INFO] [stderr] 344 |         todo!();
[INFO] [stderr]     |         ------- any code following this expression is unreachable
[INFO] [stderr] 345 |         self.live_in[instr].clone()
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/ssa/liveness.rs:350:3
[INFO] [stderr]     |
[INFO] [stderr] 349 |           todo!();
[INFO] [stderr]     |           ------- any code following this expression is unreachable
[INFO] [stderr] 350 | /         if instr == self.live_in.len() - 1 {
[INFO] [stderr] 351 | |             self.live_out.clone()
[INFO] [stderr] 352 | |         } else {
[INFO] [stderr] 353 | |             self.live_in[instr + 1].clone()
[INFO] [stderr] 354 | |         }
[INFO] [stderr]     | |_________^ unreachable expression
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable statement
[INFO] [stderr]    --> src/ssa/opt/coalesce.rs:328:5
[INFO] [stderr]     |
[INFO] [stderr] 312 |       let new_color = todo!("any admissible color");
[INFO] [stderr]     |                       ----------------------------- any code following this expression is unreachable
[INFO] [stderr] ...
[INFO] [stderr] 328 | /     let Some(new_color) = new_color else {
[INFO] [stderr] 329 | |         //println!("Giving up");
[INFO] [stderr] 330 | |         return Err(());
[INFO] [stderr] 331 | |     };
[INFO] [stderr]     | |______^ unreachable statement
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable statement
[INFO] [stderr]     --> src/ssa/mod.rs:1515:4
[INFO] [stderr]      |
[INFO] [stderr] 1514 |             todo!("{:?} {:?}", block.phi_node.sources().count(), predecessors.len());
[INFO] [stderr]      |             ------------------------------------------------------------------------ any code following this expression is unreachable
[INFO] [stderr] 1515 |             return Err(block_id);
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable statement
[INFO] [stderr]     --> src/pack_emitter/mod.rs:1507:2
[INFO] [stderr]      |
[INFO] [stderr] 1504 |       return;
[INFO] [stderr]      |       ------ any code following this expression is unreachable
[INFO] [stderr] ...
[INFO] [stderr] 1507 | /     if dst != lhs {
[INFO] [stderr] 1508 | |         code.push(format!("scoreboard players operation {dst} = {lhs}"));
[INFO] [stderr] 1509 | |     }
[INFO] [stderr]      | |_____^ unreachable statement
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ty`
[INFO] [stderr]    --> src/validator.rs:445:14
[INFO] [stderr]     |
[INFO] [stderr] 445 |     for (&val, &ty) in params.iter().zip(t) {
[INFO] [stderr]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `alloc`
[INFO] [stderr]    --> src/validator.rs:438:88
[INFO] [stderr]     |
[INFO] [stderr] 438 | fn make_params(builder: &mut SsaFuncBuilder, validator: &mut Validator, t: &[ValType], alloc: &mut SsaVarAlloc) {
[INFO] [stderr]     |                                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_alloc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `jump`
[INFO] [stderr]    --> src/ssa/interp.rs:236:32
[INFO] [stderr]     |
[INFO] [stderr] 236 |                 super::SsaTerminator::Jump(jump) |
[INFO] [stderr]     |                                            ^^^^
[INFO] [stderr] 237 |                 super::SsaTerminator::ScheduleJump(jump, _) => {
[INFO] [stderr]     |                                                    ^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 236 ~                 super::SsaTerminator::Jump(_jump) |
[INFO] [stderr] 237 ~                 super::SsaTerminator::ScheduleJump(_jump, _) => {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cond`
[INFO] [stderr]    --> src/ssa/interp.rs:252:38
[INFO] [stderr]     |
[INFO] [stderr] 252 |                 super::SsaTerminator::BranchIf { cond, true_target, false_target } => {
[INFO] [stderr]     |                                                  ^^^^ help: try ignoring the field: `cond: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `true_target`
[INFO] [stderr]    --> src/ssa/interp.rs:252:44
[INFO] [stderr]     |
[INFO] [stderr] 252 |                 super::SsaTerminator::BranchIf { cond, true_target, false_target } => {
[INFO] [stderr]     |                                                        ^^^^^^^^^^^ help: try ignoring the field: `true_target: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `false_target`
[INFO] [stderr]    --> src/ssa/interp.rs:252:57
[INFO] [stderr]     |
[INFO] [stderr] 252 |                 super::SsaTerminator::BranchIf { cond, true_target, false_target } => {
[INFO] [stderr]     |                                                                     ^^^^^^^^^^^^ help: try ignoring the field: `false_target: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cond`
[INFO] [stderr]    --> src/ssa/interp.rs:274:41
[INFO] [stderr]     |
[INFO] [stderr] 274 |                 super::SsaTerminator::BranchTable { cond, default, arms } => {
[INFO] [stderr]     |                                                     ^^^^ help: try ignoring the field: `cond: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `default`
[INFO] [stderr]    --> src/ssa/interp.rs:274:47
[INFO] [stderr]     |
[INFO] [stderr] 274 |                 super::SsaTerminator::BranchTable { cond, default, arms } => {
[INFO] [stderr]     |                                                           ^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arms`
[INFO] [stderr]    --> src/ssa/interp.rs:274:56
[INFO] [stderr]     |
[INFO] [stderr] 274 |                 super::SsaTerminator::BranchTable { cond, default, arms } => {
[INFO] [stderr]     |                                                                    ^^^^ help: try ignoring the field: `arms: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]    --> src/ssa/lir_emitter.rs:120:10
[INFO] [stderr]     |
[INFO] [stderr] 120 |     let mut b = ssa_block.clone();
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_block_id`
[INFO] [stderr]    --> src/ssa/lir_emitter.rs:377:10
[INFO] [stderr]     |
[INFO] [stderr] 377 |     let mut new_block_id = block_id;
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_block_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `range`
[INFO] [stderr]     --> src/ssa/lir_emitter.rs:1077:9
[INFO] [stderr]      |
[INFO] [stderr] 1077 |                 let range = 0..=(arms.len() as i32 - 1);
[INFO] [stderr]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ssa/lir_emitter.rs:120:6
[INFO] [stderr]     |
[INFO] [stderr] 120 |     let mut b = ssa_block.clone();
[INFO] [stderr]     |         ----^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ssa/lir_emitter.rs:377:6
[INFO] [stderr]     |
[INFO] [stderr] 377 |     let mut new_block_id = block_id;
[INFO] [stderr]     |         ----^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/ssa/lir_emitter.rs:1072:9
[INFO] [stderr]      |
[INFO] [stderr] 1072 |                 let mut cond = ra.get(cond.into_untyped());
[INFO] [stderr]      |                     ----^^^^
[INFO] [stderr]      |                     |
[INFO] [stderr]      |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block`
[INFO] [stderr]    --> src/ssa/liveness.rs:224:13
[INFO] [stderr]     |
[INFO] [stderr] 224 |     pub fn new(block: &SsaBasicBlock, mut live_in: HashSet<TypedSsaVar>) -> Self {
[INFO] [stderr]     |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `live_in`
[INFO] [stderr]    --> src/ssa/liveness.rs:224:40
[INFO] [stderr]     |
[INFO] [stderr] 224 |     pub fn new(block: &SsaBasicBlock, mut live_in: HashSet<TypedSsaVar>) -> Self {
[INFO] [stderr]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_in`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ssa/liveness.rs:224:36
[INFO] [stderr]     |
[INFO] [stderr] 224 |     pub fn new(block: &SsaBasicBlock, mut live_in: HashSet<TypedSsaVar>) -> Self {
[INFO] [stderr]     |                                       ----^^^^^^^
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `instr`
[INFO] [stderr]    --> src/ssa/liveness.rs:343:29
[INFO] [stderr]     |
[INFO] [stderr] 343 |     pub fn live_in_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stderr]     |                                ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 343 |     pub fn live_in_body(&self, _instr: usize) -> TypedSsaVarSet {
[INFO] [stderr]     |                                +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `MEMORY_PAGE_BLOCKS`
[INFO] [stderr]     |
[INFO] [stderr] 343 -     pub fn live_in_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stderr] 343 +     pub fn live_in_body(&self, pack_emitter::MEMORY_PAGE_BLOCKS: usize) -> TypedSsaVarSet {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `instr`
[INFO] [stderr]    --> src/ssa/liveness.rs:348:30
[INFO] [stderr]     |
[INFO] [stderr] 348 |     pub fn live_out_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stderr]     |                                 ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 348 |     pub fn live_out_body(&self, _instr: usize) -> TypedSsaVarSet {
[INFO] [stderr]     |                                 +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `MEMORY_PAGE_BLOCKS`
[INFO] [stderr]     |
[INFO] [stderr] 348 -     pub fn live_out_body(&self, instr: usize) -> TypedSsaVarSet {
[INFO] [stderr] 348 +     pub fn live_out_body(&self, pack_emitter::MEMORY_PAGE_BLOCKS: usize) -> TypedSsaVarSet {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `var`
[INFO] [stderr]    --> src/ssa/liveness.rs:389:27
[INFO] [stderr]     |
[INFO] [stderr] 389 |     pub fn live_range(&self, var: TypedSsaVar) -> BlockLiveRange {
[INFO] [stderr]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block`
[INFO] [stderr]    --> src/ssa/liveness.rs:703:29
[INFO] [stderr]     |
[INFO] [stderr] 703 |     pub fn live_in_body(&self, block: BlockId, instr: usize) -> &TypedSsaVarSet {
[INFO] [stderr]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `instr`
[INFO] [stderr]    --> src/ssa/liveness.rs:703:45
[INFO] [stderr]     |
[INFO] [stderr] 703 |     pub fn live_in_body(&self, block: BlockId, instr: usize) -> &TypedSsaVarSet {
[INFO] [stderr]     |                                                ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 703 |     pub fn live_in_body(&self, block: BlockId, _instr: usize) -> &TypedSsaVarSet {
[INFO] [stderr]     |                                                +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `MEMORY_PAGE_BLOCKS`
[INFO] [stderr]     |
[INFO] [stderr] 703 -     pub fn live_in_body(&self, block: BlockId, instr: usize) -> &TypedSsaVarSet {
[INFO] [stderr] 703 +     pub fn live_in_body(&self, block: BlockId, pack_emitter::MEMORY_PAGE_BLOCKS: usize) -> &TypedSsaVarSet {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pred_block`
[INFO] [stderr]    --> src/ssa/const_prop.rs:268:9
[INFO] [stderr]     |
[INFO] [stderr] 268 |                 let pred_block = func.get(*pred);
[INFO] [stderr]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pred_block`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `this_block`
[INFO] [stderr]    --> src/ssa/const_prop.rs:270:9
[INFO] [stderr]     |
[INFO] [stderr] 270 |                 let this_block = func.get(*node);
[INFO] [stderr]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_block`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `live_info`
[INFO] [stderr]    --> src/ssa/reg_alloc.rs:129:8
[INFO] [stderr]     |
[INFO] [stderr] 129 |             let live_info = FullLivenessInfo::analyze(func);
[INFO] [stderr]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_info`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block_id`
[INFO] [stderr]   --> src/ssa/opt/coalesce.rs:51:10
[INFO] [stderr]    |
[INFO] [stderr] 51 |     for (block_id, block) in func.iter() {
[INFO] [stderr]    |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_color`
[INFO] [stderr]    --> src/ssa/opt/coalesce.rs:312:6
[INFO] [stderr]     |
[INFO] [stderr] 312 |     let new_color = todo!("any admissible color");
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_color`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `if_graph`
[INFO] [stderr]    --> src/ssa/opt/coalesce.rs:292:5
[INFO] [stderr]     |
[INFO] [stderr] 292 |     if_graph: &IFGraph,
[INFO] [stderr]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_if_graph`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `old_colors`
[INFO] [stderr]    --> src/ssa/opt/coalesce.rs:296:5
[INFO] [stderr]     |
[INFO] [stderr] 296 |     old_colors: &mut HashMap<SsaVar, Color>,
[INFO] [stderr]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_colors`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block_b`
[INFO] [stderr]     --> src/ssa/mod.rs:1451:25
[INFO] [stderr]      |
[INFO] [stderr] 1451 |     for (block_b_index, block_b) in func.iter() {
[INFO] [stderr]      |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `const_pool`
[INFO] [stderr]    --> src/pack_emitter/mod.rs:669:85
[INFO] [stderr]     |
[INFO] [stderr] 669 | fn mem_load_64(dst: DoubleRegister, addr: RegisterWithInfo, code: &mut Vec<String>, const_pool: &mut HashSet<i32>) {
[INFO] [stderr]     |                                                                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_const_pool`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `const_pool`
[INFO] [stderr]     --> src/pack_emitter/mod.rs:1496:93
[INFO] [stderr]      |
[INFO] [stderr] 1496 | fn emit_constant_or(dst: Register, lhs: RegisterWithInfo, rhs: i32, code: &mut Vec<String>, const_pool: &mut HashSet<i32>) {
[INFO] [stderr]      |                                                                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_const_pool`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p0_lo`
[INFO] [stderr]     --> src/pack_emitter/mod.rs:1900:9
[INFO] [stderr]      |
[INFO] [stderr] 1900 |             let (p0_lo, p0_hi) = DoubleRegister::param(0).split_lo_hi();
[INFO] [stderr]      |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_p0_lo`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p0_hi`
[INFO] [stderr]     --> src/pack_emitter/mod.rs:1900:16
[INFO] [stderr]      |
[INFO] [stderr] 1900 |             let (p0_lo, p0_hi) = DoubleRegister::param(0).split_lo_hi();
[INFO] [stderr]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_p0_hi`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p1_lo`
[INFO] [stderr]     --> src/pack_emitter/mod.rs:1901:9
[INFO] [stderr]      |
[INFO] [stderr] 1901 |             let (p1_lo, p1_hi) = DoubleRegister::param(1).split_lo_hi();
[INFO] [stderr]      |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_p1_lo`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p1_hi`
[INFO] [stderr]     --> src/pack_emitter/mod.rs:1901:16
[INFO] [stderr]      |
[INFO] [stderr] 1901 |             let (p1_lo, p1_hi) = DoubleRegister::param(1).split_lo_hi();
[INFO] [stderr]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_p1_hi`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ret_lo`
[INFO] [stderr]     --> src/pack_emitter/mod.rs:1902:9
[INFO] [stderr]      |
[INFO] [stderr] 1902 |             let (ret_lo, ret_hi) = DoubleRegister::return_reg(0).split_lo_hi();
[INFO] [stderr]      |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_lo`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ret_hi`
[INFO] [stderr]     --> src/pack_emitter/mod.rs:1902:17
[INFO] [stderr]      |
[INFO] [stderr] 1902 |             let (ret_lo, ret_hi) = DoubleRegister::return_reg(0).split_lo_hi();
[INFO] [stderr]      |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_hi`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `func_ident`
[INFO] [stderr]     --> src/pack_emitter/mod.rs:2509:8
[INFO] [stderr]      |
[INFO] [stderr] 2509 |             let func_ident: FunctionIdent = parse_command(&func_name).unwrap();
[INFO] [stderr]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_ident`
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/wasm_file.rs:271:24
[INFO] [stderr]     |
[INFO] [stderr] 271 |     pub fn func_import(&self, func_idx: usize) -> FuncImport {
[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] 271 |     pub fn func_import(&self, func_idx: usize) -> FuncImport<'_> {
[INFO] [stderr]     |                                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/wasm_file.rs:279:19
[INFO] [stderr]     |
[INFO] [stderr] 279 |     pub fn global(&self, index: u32) -> Global {
[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] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 279 |     pub fn global(&self, index: u32) -> Global<'_> {
[INFO] [stderr]     |                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/wasm_file.rs:287:20
[INFO] [stderr]     |
[INFO] [stderr] 287 |     pub fn globals(&self) -> &[Global] {
[INFO] [stderr]     |                    ^^^^^     ^^^^^^^^^
[INFO] [stderr]     |                    |         | |
[INFO] [stderr]     |                    |         | the same lifetime is hidden here
[INFO] [stderr]     |                    |         the same lifetime is elided here
[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] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 287 |     pub fn globals(&self) -> &[Global<'_>] {
[INFO] [stderr]     |                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ssa/mod.rs:78:17
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn arm_mut(&mut self, index: usize) -> PhiArmMut {
[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] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn arm_mut(&mut self, index: usize) -> PhiArmMut<'_> {
[INFO] [stderr]    |                                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/ssa/liveness.rs:555:5
[INFO] [stderr]     |
[INFO] [stderr] 555 |     live_in_before.extend_typed(instr.uses());
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 555 |     let _ = live_in_before.extend_typed(instr.uses());
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/set.rs:52:17
[INFO] [stderr]    |
[INFO] [stderr] 52 |     pub fn iter(&self) -> SetIter<T> {
[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] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 52 |     pub fn iter(&self) -> SetIter<'_, T> {
[INFO] [stderr]    |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/set.rs:223:17
[INFO] [stderr]     |
[INFO] [stderr] 223 |     pub fn iter(&self) -> DenseMapIter<K, V> {
[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] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 223 |     pub fn iter(&self) -> DenseMapIter<'_, K, V> {
[INFO] [stderr]     |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: `wasmcraft` (lib) generated 60 warnings (run `cargo fix --lib -p wasmcraft` to apply 21 suggestions)
[INFO] [stderr] warning: unused imports: `Objective` and `ScoreHolder`
[INFO] [stderr]    --> tests/test_common.rs:235:70
[INFO] [stderr]     |
[INFO] [stderr] 235 |     use datapack_common::functions::command_components::{FunctionIdent, ScoreHolder, Objective};
[INFO] [stderr]     |                                                                         ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BlockId`, `SsaInterpreter`, `get_mc_id`, `interp::LirInterpreter`, `lir_emitter`, `self`, and `validator::wasm_to_ssa`
[INFO] [stderr]    --> tests/test_common.rs:237:54
[INFO] [stderr]     |
[INFO] [stderr] 237 | ...::{SsaInterpreter, TypedValue}, lir_emitter, BlockId}, validator::wasm_to_ssa, lir::{interp::LirInterpreter, Register}, pack_emitter::{self, get_mc_id}, ...
[INFO] [stderr]     |       ^^^^^^^^^^^^^^               ^^^^^^^^^^^  ^^^^^^^   ^^^^^^^^^^^^^^^^^^^^^^        ^^^^^^^^^^^^^^^^^^^^^^                            ^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> tests/test_common.rs:390:31
[INFO] [stderr]     |
[INFO] [stderr] 390 |     pub fn load_state(wasm_data: &[u8]) -> TestState {
[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] 390 |     pub fn load_state(wasm_data: &[u8]) -> TestState<'_> {
[INFO] [stderr]     |                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `lir_emitter` and `validator::wasm_to_ssa`
[INFO] [stderr]  --> tests/server_test.rs:5:43
[INFO] [stderr]   |
[INFO] [stderr] 5 | use wasmcraft::{ssa::{interp::TypedValue, lir_emitter, BlockId}, lir::Register, wasm_file::WasmFile, validator::wasm_to_ssa, pack_emitter...
[INFO] [stderr]   |                                           ^^^^^^^^^^^                                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> tests/sexpr.rs:174:16
[INFO] [stderr]     |
[INFO] [stderr] 174 |     AssertTrap(Box<SExpr>, String),
[INFO] [stderr]     |     ---------- ^^^^^^^^^^  ^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]     |
[INFO] [stderr] 174 -     AssertTrap(Box<SExpr>, String),
[INFO] [stderr] 174 +     AssertTrap((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> tests/sexpr.rs:176:11
[INFO] [stderr]     |
[INFO] [stderr] 176 |     Ident(String),
[INFO] [stderr]     |     ----- ^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 176 -     Ident(String),
[INFO] [stderr] 176 +     Ident(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> tests/server_test.rs:100:30
[INFO] [stderr]     |
[INFO] [stderr] 100 | pub fn load_state(wasm_data: &[u8]) -> TestState {
[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] 100 | pub fn load_state(wasm_data: &[u8]) -> TestState<'_> {
[INFO] [stderr]     |                                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> tests/server_test.rs:104:38
[INFO] [stderr]     |
[INFO] [stderr] 104 | async fn load_state_async(wasm_data: &[u8]) -> TestState {
[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] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 104 | async fn load_state_async(wasm_data: &[u8]) -> TestState<'_> {
[INFO] [stderr]     |                                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wasmparser::ValType`
[INFO] [stderr]    --> src/ssa/reg_alloc.rs:325:6
[INFO] [stderr]     |
[INFO] [stderr] 325 |     use wasmparser::ValType;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BlockId`, `JumpTarget`, `SsaBasicBlock`, `SsaFunction`, `SsaInstr`, `SsaTerminator`, `TypedSsaVar`, and `liveness::FullLivenessInfo`
[INFO] [stderr]    --> src/ssa/reg_alloc.rs:327:19
[INFO] [stderr]     |
[INFO] [stderr] 327 |     use crate::ssa::{SsaBasicBlock, TypedSsaVar, SsaInstr, SsaTerminator, JumpTarget, BlockId, SsaFunction, liveness::FullLivenessInfo};
[INFO] [stderr]     |                      ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FullRegAlloc` and `RegAlloc`
[INFO] [stderr]    --> src/ssa/reg_alloc.rs:329:14
[INFO] [stderr]     |
[INFO] [stderr] 329 |     use super::{FullRegAlloc, RegAlloc};
[INFO] [stderr]     |                 ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `wasmcraft` (test "test_common") generated 3 warnings (run `cargo fix --test "test_common"` to apply 3 suggestions)
[INFO] [stderr] warning: `wasmcraft` (test "server_test") generated 5 warnings (run `cargo fix --test "server_test"` to apply 3 suggestions)
[INFO] [stderr] warning: `wasmcraft` (lib test) generated 63 warnings (60 duplicates) (run `cargo fix --lib -p wasmcraft --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wasmcraft-44a5383312f80e53)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test pack_emitter::test::constant_and ... ignored
[INFO] [stdout] test ssa::liveness::test::dom_tree ... ignored
[INFO] [stdout] test pack_emitter::test::test_constant_store_32 ... ok
[INFO] [stdout] test pack_emitter::test::test_constant_load_16 ... ok
[INFO] [stdout] test pack_emitter::test::constant_shru ... ok
[INFO] [stdout] test pack_emitter::test::test_constant_load_64 ... ok
[INFO] [stdout] test pack_emitter::test::constant_xor ... ok
[INFO] [stdout] test pack_emitter::test::test_memset ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 7.70s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/main.rs (/opt/rustwide/target/debug/deps/wasmcraft-a5cd09aec09545cd)
[INFO] [stderr]      Running tests/server_test.rs (/opt/rustwide/target/debug/deps/server_test-98ef84121afc2445)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/sexpr.rs (/opt/rustwide/target/debug/deps/sexpr-dba428c48e6218f0)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_common.rs (/opt/rustwide/target/debug/deps/test_common-7cdf81886c2e1ad2)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]    Doc-tests wasmcraft
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/ssa/opt/coalesce.rs - ssa::opt::coalesce::Chunk (line 133) ... FAILED
[INFO] [stdout] test src/ssa/mod.rs - ssa::phi_nodes_are_coherent (line 1494) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/ssa/opt/coalesce.rs - ssa::opt::coalesce::Chunk (line 133) stdout ----
[INFO] [stdout] error: expected one of `!` or `::`, found `<-`
[INFO] [stdout]  --> src/ssa/opt/coalesce.rs:134:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | T1 <- T0
[INFO] [stdout]   |    ^^ expected one of `!` or `::`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/ssa/mod.rs - ssa::phi_nodes_are_coherent (line 1494) stdout ----
[INFO] [stdout] error: expected item, found `0`
[INFO] [stdout]  --> src/ssa/mod.rs:1495:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | 0       1
[INFO] [stdout]   | ^ expected item
[INFO] [stdout]   |
[INFO] [stdout]   = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/ssa/mod.rs - ssa::phi_nodes_are_coherent (line 1494)
[INFO] [stdout]     src/ssa/opt/coalesce.rs - ssa::opt::coalesce::Chunk (line 133)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "1e58a7418226498069f4da6b38ab0669ffbda162dce09e8350efa69b519133c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e58a7418226498069f4da6b38ab0669ffbda162dce09e8350efa69b519133c3", kill_on_drop: false }`
[INFO] [stdout] 1e58a7418226498069f4da6b38ab0669ffbda162dce09e8350efa69b519133c3
