[INFO] fetching crate gcrecomp-core 0.0.1-alpha...
[INFO] testing gcrecomp-core-0.0.1-alpha against beta-2026-03-05 for beta-1.95-1
[INFO] extracting crate gcrecomp-core 0.0.1-alpha into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate gcrecomp-core 0.0.1-alpha
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate gcrecomp-core 0.0.1-alpha
[INFO] tweaked toml for crates.io crate gcrecomp-core 0.0.1-alpha written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate gcrecomp-core 0.0.1-alpha on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate gcrecomp-core 0.0.1-alpha 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-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7e6fc0009ec5c2848081f7dd13469b43883217a54a2b0b5a481675e782d05586
[INFO] running `Command { std: "docker" "start" "-a" "7e6fc0009ec5c2848081f7dd13469b43883217a54a2b0b5a481675e782d05586", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7e6fc0009ec5c2848081f7dd13469b43883217a54a2b0b5a481675e782d05586", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7e6fc0009ec5c2848081f7dd13469b43883217a54a2b0b5a481675e782d05586", kill_on_drop: false }`
[INFO] [stdout] 7e6fc0009ec5c2848081f7dd13469b43883217a54a2b0b5a481675e782d05586
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b1daffa1536b3f22d33fd7f7994de372de40a8a8455a0a9889e7633d294c7cf8
[INFO] running `Command { std: "docker" "start" "-a" "b1daffa1536b3f22d33fd7f7994de372de40a8a8455a0a9889e7633d294c7cf8", kill_on_drop: false }`
[INFO] [stderr]    Compiling zmij v1.0.19
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling plain v0.2.3
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling which v5.0.0
[INFO] [stderr]    Compiling scroll_derive v0.12.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling scroll v0.12.0
[INFO] [stderr]    Compiling goblin v0.8.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling gcrecomp-core v0.0.1-alpha (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/recompiler/decoder.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | use anyhow::{Context, Result};
[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: `smallvec::SmallVec`
[INFO] [stdout]   --> src/recompiler/analysis/type_inference.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use smallvec::SmallVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Loop`
[INFO] [stdout]  --> src/recompiler/analysis/loop_analysis.rs:2:67
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::recompiler::analysis::control_flow::{ControlFlowGraph, Loop};
[INFO] [stdout]   |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/recompiler/codegen/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use anyhow::{Result, Context};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::recompiler::analysis::type_inference::TypeInferenceEngine`
[INFO] [stdout]   --> src/recompiler/pipeline.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::recompiler::analysis::type_inference::TypeInferenceEngine;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smallvec::SmallVec`
[INFO] [stdout]   --> src/recompiler/pipeline.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use smallvec::SmallVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1093:13
[INFO] [stdout]      |
[INFO] [stdout]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stdout]      |             -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1093 |             31 if ((word >> 21) & 0x1F) == 8 && (word & 0x7FF) == 0 => {
[INFO] [stdout]      |             ^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1101:13
[INFO] [stdout]      |
[INFO] [stdout]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stdout]      |             -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1101 |             31 if ((word >> 21) & 0x1F) == 9 && (word & 0x7FF) == 0 => {
[INFO] [stdout]      |             ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1109:13
[INFO] [stdout]      |
[INFO] [stdout]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stdout]      |             -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1109 |             31 if ((word >> 21) & 0x1F) == 9 && ((word >> 11) & 0x1F) == 9 && (word & 0x7FF) == 0 => {
[INFO] [stdout]      |             ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1117:13
[INFO] [stdout]      |
[INFO] [stdout]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stdout]      |             -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1117 |             31 if ((word >> 21) & 0x1F) == 9 && ((word >> 11) & 0x1F) == 9 && (word & 0x7FF) == 0 => {
[INFO] [stdout]      |             ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1310:9
[INFO] [stdout]      |
[INFO] [stdout] 1238 |         234 => Ok((
[INFO] [stdout]      |         --- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1310 |         234 if (word >> 26) == 31 => Ok((
[INFO] [stdout]      |         ^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1320:9
[INFO] [stdout]      |
[INFO] [stdout] 1228 |         202 => Ok((
[INFO] [stdout]      |         --- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1320 |         202 if (word >> 26) == 31 => Ok((
[INFO] [stdout]      |         ^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1352:9
[INFO] [stdout]      |
[INFO] [stdout] 1248 |         74 => Ok((
[INFO] [stdout]      |         -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1352 |         74 if (word >> 26) == 31 => Ok((
[INFO] [stdout]      |         ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1362:9
[INFO] [stdout]      |
[INFO] [stdout] 1258 |         106 => Ok((
[INFO] [stdout]      |         --- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1362 |         106 if (word >> 26) == 31 => Ok((
[INFO] [stdout]      |         ^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:2168:9
[INFO] [stdout]      |
[INFO] [stdout] 1693 |         32 => {
[INFO] [stdout]      |         -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 2168 |         32 if (word >> 26) == 63 => {
[INFO] [stdout]      |         ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc`
[INFO] [stdout]     --> src/recompiler/decoder.rs:1160:9
[INFO] [stdout]      |
[INFO] [stdout] 1160 |     let rc: bool = (word & 1) != 0; // Record bit (update condition register)
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_rc`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `imm`
[INFO] [stdout]    --> src/recompiler/analysis/control_flow.rs:313:46
[INFO] [stdout]     |
[INFO] [stdout] 313 |             if let Some(Operand::Immediate32(imm)) = inst.instruction.operands.first() {
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_imm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/recompiler/analysis/inter_procedural.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut edges = Vec::new();
[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/recompiler/analysis/loop_analysis.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut ivs = Vec::new();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/recompiler/analysis/loop_analysis.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     for inst in &block.instructions {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]  --> src/recompiler/codegen/memory.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn generate_load(inst: &DecodedInstruction) -> String {
[INFO] [stdout]   |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/recompiler/codegen/memory.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn generate_store(inst: &DecodedInstruction) -> String {
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `def_use_chains`
[INFO] [stdout]    --> src/recompiler/codegen/mod.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let def_use_chains = crate::recompiler::analysis::data_flow::DataFlowAnalyzer::build_def_use_chains(instructions);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_use_chains`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bo`
[INFO] [stdout]    --> src/recompiler/codegen/mod.rs:613:21
[INFO] [stdout]     |
[INFO] [stdout] 613 |                 let bo = match &inst.instruction.operands[0] {
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_bo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `def_use_chains`
[INFO] [stdout]   --> src/recompiler/pipeline.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let def_use_chains = DataFlowAnalyzer::build_def_use_chains(&instructions);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_use_chains`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `live_analysis`
[INFO] [stdout]   --> src/recompiler/pipeline.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let live_analysis = DataFlowAnalyzer::live_variable_analysis(&cfg);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/recompiler/optimizer.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut constants: HashMap<u8, Option<u32>> = HashMap::new();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constants`
[INFO] [stdout]   --> src/recompiler/optimizer.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut constants: HashMap<u8, Option<u32>> = HashMap::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constants`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/recompiler/optimizer.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let mut used_registers: std::collections::HashSet<u8> = std::collections::HashSet::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `used_registers`
[INFO] [stdout]    --> src/recompiler/optimizer.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let mut used_registers: std::collections::HashSet<u8> = std::collections::HashSet::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_used_registers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]    --> src/recompiler/optimizer.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         for inst in instructions.iter().rev() {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `register_map`, `next_temp`, and `basic_block_map` are never read
[INFO] [stdout]   --> src/recompiler/codegen/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CodeGenerator {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 11 |     indent_level: usize,
[INFO] [stdout] 12 |     register_map: HashMap<u8, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 13 |     next_temp: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     basic_block_map: HashMap<u32, usize>, // Map addresses to basic block indices
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Variable` is never constructed
[INFO] [stdout]   --> src/recompiler/codegen/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum RegisterValue {
[INFO] [stdout]    |      ------------- variant in this enum
[INFO] [stdout] 23 |     Constant(u32),
[INFO] [stdout] 24 |     Variable(String),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RegisterValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `build_basic_blocks` and `type_to_rust` are never used
[INFO] [stdout]     --> src/recompiler/codegen/mod.rs:222:8
[INFO] [stdout]      |
[INFO] [stdout]   28 | impl CodeGenerator {
[INFO] [stdout]      | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  222 |     fn build_basic_blocks<'a>(&self, instructions: &'a [DecodedInstruction]) -> Result<Vec<Vec<&'a DecodedInstruction>>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1117 |     fn type_to_rust(&self, ty: &crate::recompiler::analysis::TypeInfo) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `register_allocation` is never read
[INFO] [stdout]   --> src/recompiler/optimizer.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Optimizer {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     register_allocation: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.10s
[INFO] running `Command { std: "docker" "inspect" "b1daffa1536b3f22d33fd7f7994de372de40a8a8455a0a9889e7633d294c7cf8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1daffa1536b3f22d33fd7f7994de372de40a8a8455a0a9889e7633d294c7cf8", kill_on_drop: false }`
[INFO] [stdout] b1daffa1536b3f22d33fd7f7994de372de40a8a8455a0a9889e7633d294c7cf8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2d0d6f2efa2d92a50edf5108fdb73ac534f00ca986a2a2f5424f1b61a0904764
[INFO] running `Command { std: "docker" "start" "-a" "2d0d6f2efa2d92a50edf5108fdb73ac534f00ca986a2a2f5424f1b61a0904764", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/recompiler/decoder.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | use anyhow::{Context, Result};
[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: `smallvec::SmallVec`
[INFO] [stdout]   --> src/recompiler/analysis/type_inference.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use smallvec::SmallVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Loop`
[INFO] [stdout]  --> src/recompiler/analysis/loop_analysis.rs:2:67
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::recompiler::analysis::control_flow::{ControlFlowGraph, Loop};
[INFO] [stdout]   |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/recompiler/codegen/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use anyhow::{Result, Context};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::recompiler::analysis::type_inference::TypeInferenceEngine`
[INFO] [stdout]   --> src/recompiler/pipeline.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::recompiler::analysis::type_inference::TypeInferenceEngine;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smallvec::SmallVec`
[INFO] [stdout]   --> src/recompiler/pipeline.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use smallvec::SmallVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1093:13
[INFO] [stdout]      |
[INFO] [stdout]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stdout]      |             -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1093 |             31 if ((word >> 21) & 0x1F) == 8 && (word & 0x7FF) == 0 => {
[INFO] [stdout]      |             ^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1101:13
[INFO] [stdout]      |
[INFO] [stdout]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stdout]      |             -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1101 |             31 if ((word >> 21) & 0x1F) == 9 && (word & 0x7FF) == 0 => {
[INFO] [stdout]      |             ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1109:13
[INFO] [stdout]      |
[INFO] [stdout]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stdout]      |             -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1109 |             31 if ((word >> 21) & 0x1F) == 9 && ((word >> 11) & 0x1F) == 9 && (word & 0x7FF) == 0 => {
[INFO] [stdout]      |             ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1117:13
[INFO] [stdout]      |
[INFO] [stdout]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stdout]      |             -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1117 |             31 if ((word >> 21) & 0x1F) == 9 && ((word >> 11) & 0x1F) == 9 && (word & 0x7FF) == 0 => {
[INFO] [stdout]      |             ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1310:9
[INFO] [stdout]      |
[INFO] [stdout] 1238 |         234 => Ok((
[INFO] [stdout]      |         --- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1310 |         234 if (word >> 26) == 31 => Ok((
[INFO] [stdout]      |         ^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1320:9
[INFO] [stdout]      |
[INFO] [stdout] 1228 |         202 => Ok((
[INFO] [stdout]      |         --- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1320 |         202 if (word >> 26) == 31 => Ok((
[INFO] [stdout]      |         ^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1352:9
[INFO] [stdout]      |
[INFO] [stdout] 1248 |         74 => Ok((
[INFO] [stdout]      |         -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1352 |         74 if (word >> 26) == 31 => Ok((
[INFO] [stdout]      |         ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1362:9
[INFO] [stdout]      |
[INFO] [stdout] 1258 |         106 => Ok((
[INFO] [stdout]      |         --- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1362 |         106 if (word >> 26) == 31 => Ok((
[INFO] [stdout]      |         ^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:2168:9
[INFO] [stdout]      |
[INFO] [stdout] 1693 |         32 => {
[INFO] [stdout]      |         -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 2168 |         32 if (word >> 26) == 63 => {
[INFO] [stdout]      |         ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc`
[INFO] [stdout]     --> src/recompiler/decoder.rs:1160:9
[INFO] [stdout]      |
[INFO] [stdout] 1160 |     let rc: bool = (word & 1) != 0; // Record bit (update condition register)
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_rc`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `imm`
[INFO] [stdout]    --> src/recompiler/analysis/control_flow.rs:313:46
[INFO] [stdout]     |
[INFO] [stdout] 313 |             if let Some(Operand::Immediate32(imm)) = inst.instruction.operands.first() {
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_imm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/recompiler/analysis/inter_procedural.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut edges = Vec::new();
[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/recompiler/analysis/loop_analysis.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut ivs = Vec::new();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/recompiler/analysis/loop_analysis.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     for inst in &block.instructions {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]  --> src/recompiler/codegen/memory.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn generate_load(inst: &DecodedInstruction) -> String {
[INFO] [stdout]   |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/recompiler/codegen/memory.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn generate_store(inst: &DecodedInstruction) -> String {
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `def_use_chains`
[INFO] [stdout]    --> src/recompiler/codegen/mod.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let def_use_chains = crate::recompiler::analysis::data_flow::DataFlowAnalyzer::build_def_use_chains(instructions);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_use_chains`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bo`
[INFO] [stdout]    --> src/recompiler/codegen/mod.rs:613:21
[INFO] [stdout]     |
[INFO] [stdout] 613 |                 let bo = match &inst.instruction.operands[0] {
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_bo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `def_use_chains`
[INFO] [stdout]   --> src/recompiler/pipeline.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let def_use_chains = DataFlowAnalyzer::build_def_use_chains(&instructions);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_use_chains`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `live_analysis`
[INFO] [stdout]   --> src/recompiler/pipeline.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let live_analysis = DataFlowAnalyzer::live_variable_analysis(&cfg);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/recompiler/optimizer.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut constants: HashMap<u8, Option<u32>> = HashMap::new();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constants`
[INFO] [stdout]   --> src/recompiler/optimizer.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut constants: HashMap<u8, Option<u32>> = HashMap::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constants`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/recompiler/optimizer.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let mut used_registers: std::collections::HashSet<u8> = std::collections::HashSet::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `used_registers`
[INFO] [stdout]    --> src/recompiler/optimizer.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let mut used_registers: std::collections::HashSet<u8> = std::collections::HashSet::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_used_registers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]    --> src/recompiler/optimizer.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         for inst in instructions.iter().rev() {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `register_map`, `next_temp`, and `basic_block_map` are never read
[INFO] [stdout]   --> src/recompiler/codegen/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CodeGenerator {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 11 |     indent_level: usize,
[INFO] [stdout] 12 |     register_map: HashMap<u8, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 13 |     next_temp: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     basic_block_map: HashMap<u32, usize>, // Map addresses to basic block indices
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Variable` is never constructed
[INFO] [stdout]   --> src/recompiler/codegen/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum RegisterValue {
[INFO] [stdout]    |      ------------- variant in this enum
[INFO] [stdout] 23 |     Constant(u32),
[INFO] [stdout] 24 |     Variable(String),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RegisterValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `build_basic_blocks` and `type_to_rust` are never used
[INFO] [stdout]     --> src/recompiler/codegen/mod.rs:222:8
[INFO] [stdout]      |
[INFO] [stdout]   28 | impl CodeGenerator {
[INFO] [stdout]      | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  222 |     fn build_basic_blocks<'a>(&self, instructions: &'a [DecodedInstruction]) -> Result<Vec<Vec<&'a DecodedInstruction>>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1117 |     fn type_to_rust(&self, ty: &crate::recompiler::analysis::TypeInfo) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `register_allocation` is never read
[INFO] [stdout]   --> src/recompiler/optimizer.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Optimizer {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     register_allocation: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gcrecomp-core v0.0.1-alpha (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Operand`
[INFO] [stdout]  --> tests/codegen_test.rs:6:55
[INFO] [stdout]   |
[INFO] [stdout] 6 |     DecodedInstruction, Instruction, InstructionType, Operand,
[INFO] [stdout]   |                                                       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_instruction` is never used
[INFO] [stdout]   --> tests/codegen_test.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn create_test_instruction(opcode: u32, inst_type: InstructionType) -> DecodedInstruction {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/recompiler/decoder.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | use anyhow::{Context, Result};
[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: `smallvec::SmallVec`
[INFO] [stdout]   --> src/recompiler/analysis/type_inference.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use smallvec::SmallVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Loop`
[INFO] [stdout]  --> src/recompiler/analysis/loop_analysis.rs:2:67
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::recompiler::analysis::control_flow::{ControlFlowGraph, Loop};
[INFO] [stdout]   |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/recompiler/codegen/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use anyhow::{Result, Context};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::recompiler::analysis::type_inference::TypeInferenceEngine`
[INFO] [stdout]   --> src/recompiler/pipeline.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::recompiler::analysis::type_inference::TypeInferenceEngine;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smallvec::SmallVec`
[INFO] [stdout]   --> src/recompiler/pipeline.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use smallvec::SmallVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1093:13
[INFO] [stdout]      |
[INFO] [stdout]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stdout]      |             -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1093 |             31 if ((word >> 21) & 0x1F) == 8 && (word & 0x7FF) == 0 => {
[INFO] [stdout]      |             ^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1101:13
[INFO] [stdout]      |
[INFO] [stdout]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stdout]      |             -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1101 |             31 if ((word >> 21) & 0x1F) == 9 && (word & 0x7FF) == 0 => {
[INFO] [stdout]      |             ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1109:13
[INFO] [stdout]      |
[INFO] [stdout]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stdout]      |             -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1109 |             31 if ((word >> 21) & 0x1F) == 9 && ((word >> 11) & 0x1F) == 9 && (word & 0x7FF) == 0 => {
[INFO] [stdout]      |             ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1117:13
[INFO] [stdout]      |
[INFO] [stdout]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stdout]      |             -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1117 |             31 if ((word >> 21) & 0x1F) == 9 && ((word >> 11) & 0x1F) == 9 && (word & 0x7FF) == 0 => {
[INFO] [stdout]      |             ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1310:9
[INFO] [stdout]      |
[INFO] [stdout] 1238 |         234 => Ok((
[INFO] [stdout]      |         --- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1310 |         234 if (word >> 26) == 31 => Ok((
[INFO] [stdout]      |         ^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1320:9
[INFO] [stdout]      |
[INFO] [stdout] 1228 |         202 => Ok((
[INFO] [stdout]      |         --- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1320 |         202 if (word >> 26) == 31 => Ok((
[INFO] [stdout]      |         ^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1352:9
[INFO] [stdout]      |
[INFO] [stdout] 1248 |         74 => Ok((
[INFO] [stdout]      |         -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1352 |         74 if (word >> 26) == 31 => Ok((
[INFO] [stdout]      |         ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:1362:9
[INFO] [stdout]      |
[INFO] [stdout] 1258 |         106 => Ok((
[INFO] [stdout]      |         --- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1362 |         106 if (word >> 26) == 31 => Ok((
[INFO] [stdout]      |         ^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/recompiler/decoder.rs:2168:9
[INFO] [stdout]      |
[INFO] [stdout] 1693 |         32 => {
[INFO] [stdout]      |         -- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 2168 |         32 if (word >> 26) == 63 => {
[INFO] [stdout]      |         ^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc`
[INFO] [stdout]     --> src/recompiler/decoder.rs:1160:9
[INFO] [stdout]      |
[INFO] [stdout] 1160 |     let rc: bool = (word & 1) != 0; // Record bit (update condition register)
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_rc`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `imm`
[INFO] [stdout]    --> src/recompiler/analysis/control_flow.rs:313:46
[INFO] [stdout]     |
[INFO] [stdout] 313 |             if let Some(Operand::Immediate32(imm)) = inst.instruction.operands.first() {
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_imm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/recompiler/analysis/inter_procedural.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut edges = Vec::new();
[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/recompiler/analysis/loop_analysis.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut ivs = Vec::new();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/recompiler/analysis/loop_analysis.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     for inst in &block.instructions {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]  --> src/recompiler/codegen/memory.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn generate_load(inst: &DecodedInstruction) -> String {
[INFO] [stdout]   |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/recompiler/codegen/memory.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn generate_store(inst: &DecodedInstruction) -> String {
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `def_use_chains`
[INFO] [stdout]    --> src/recompiler/codegen/mod.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let def_use_chains = crate::recompiler::analysis::data_flow::DataFlowAnalyzer::build_def_use_chains(instructions);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_use_chains`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bo`
[INFO] [stdout]    --> src/recompiler/codegen/mod.rs:613:21
[INFO] [stdout]     |
[INFO] [stdout] 613 |                 let bo = match &inst.instruction.operands[0] {
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_bo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `def_use_chains`
[INFO] [stdout]   --> src/recompiler/pipeline.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let def_use_chains = DataFlowAnalyzer::build_def_use_chains(&instructions);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_use_chains`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `live_analysis`
[INFO] [stdout]   --> src/recompiler/pipeline.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let live_analysis = DataFlowAnalyzer::live_variable_analysis(&cfg);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/recompiler/optimizer.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut constants: HashMap<u8, Option<u32>> = HashMap::new();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constants`
[INFO] [stdout]   --> src/recompiler/optimizer.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut constants: HashMap<u8, Option<u32>> = HashMap::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constants`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/recompiler/optimizer.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let mut used_registers: std::collections::HashSet<u8> = std::collections::HashSet::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `used_registers`
[INFO] [stdout]    --> src/recompiler/optimizer.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let mut used_registers: std::collections::HashSet<u8> = std::collections::HashSet::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_used_registers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]    --> src/recompiler/optimizer.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         for inst in instructions.iter().rev() {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `register_map`, `next_temp`, and `basic_block_map` are never read
[INFO] [stdout]   --> src/recompiler/codegen/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CodeGenerator {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 11 |     indent_level: usize,
[INFO] [stdout] 12 |     register_map: HashMap<u8, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 13 |     next_temp: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     basic_block_map: HashMap<u32, usize>, // Map addresses to basic block indices
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Variable` is never constructed
[INFO] [stdout]   --> src/recompiler/codegen/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum RegisterValue {
[INFO] [stdout]    |      ------------- variant in this enum
[INFO] [stdout] 23 |     Constant(u32),
[INFO] [stdout] 24 |     Variable(String),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RegisterValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `build_basic_blocks` and `type_to_rust` are never used
[INFO] [stdout]     --> src/recompiler/codegen/mod.rs:222:8
[INFO] [stdout]      |
[INFO] [stdout]   28 | impl CodeGenerator {
[INFO] [stdout]      | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  222 |     fn build_basic_blocks<'a>(&self, instructions: &'a [DecodedInstruction]) -> Result<Vec<Vec<&'a DecodedInstruction>>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1117 |     fn type_to_rust(&self, ty: &crate::recompiler::analysis::TypeInfo) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `register_allocation` is never read
[INFO] [stdout]   --> src/recompiler/optimizer.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Optimizer {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     register_allocation: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.42s
[INFO] running `Command { std: "docker" "inspect" "2d0d6f2efa2d92a50edf5108fdb73ac534f00ca986a2a2f5424f1b61a0904764", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d0d6f2efa2d92a50edf5108fdb73ac534f00ca986a2a2f5424f1b61a0904764", kill_on_drop: false }`
[INFO] [stdout] 2d0d6f2efa2d92a50edf5108fdb73ac534f00ca986a2a2f5424f1b61a0904764
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5e6b05cfa7bb1741e19fa8563fe2e6ed45188e90f6ab84ea44565fbd8508d0ea
[INFO] running `Command { std: "docker" "start" "-a" "5e6b05cfa7bb1741e19fa8563fe2e6ed45188e90f6ab84ea44565fbd8508d0ea", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]   --> src/recompiler/decoder.rs:20:14
[INFO] [stderr]    |
[INFO] [stderr] 20 | use anyhow::{Context, Result};
[INFO] [stderr]    |              ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `smallvec::SmallVec`
[INFO] [stderr]   --> src/recompiler/analysis/type_inference.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | use smallvec::SmallVec;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Loop`
[INFO] [stderr]  --> src/recompiler/analysis/loop_analysis.rs:2:67
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::recompiler::analysis::control_flow::{ControlFlowGraph, Loop};
[INFO] [stderr]   |                                                                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]  --> src/recompiler/codegen/mod.rs:5:22
[INFO] [stderr]   |
[INFO] [stderr] 5 | use anyhow::{Result, Context};
[INFO] [stderr]   |                      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::recompiler::analysis::type_inference::TypeInferenceEngine`
[INFO] [stderr]   --> src/recompiler/pipeline.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 | use crate::recompiler::analysis::type_inference::TypeInferenceEngine;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `smallvec::SmallVec`
[INFO] [stderr]   --> src/recompiler/pipeline.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 31 | use smallvec::SmallVec;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/recompiler/decoder.rs:1093:13
[INFO] [stderr]      |
[INFO] [stderr]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stderr]      |             -- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 1093 |             31 if ((word >> 21) & 0x1F) == 8 && (word & 0x7FF) == 0 => {
[INFO] [stderr]      |             ^^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/recompiler/decoder.rs:1101:13
[INFO] [stderr]      |
[INFO] [stderr]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stderr]      |             -- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 1101 |             31 if ((word >> 21) & 0x1F) == 9 && (word & 0x7FF) == 0 => {
[INFO] [stderr]      |             ^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/recompiler/decoder.rs:1109:13
[INFO] [stderr]      |
[INFO] [stderr]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stderr]      |             -- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 1109 |             31 if ((word >> 21) & 0x1F) == 9 && ((word >> 11) & 0x1F) == 9 && (word & 0x7FF) == 0 => {
[INFO] [stderr]      |             ^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/recompiler/decoder.rs:1117:13
[INFO] [stderr]      |
[INFO] [stderr]  160 |             31 => Self::decode_extended(word)?,
[INFO] [stderr]      |             -- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 1117 |             31 if ((word >> 21) & 0x1F) == 9 && ((word >> 11) & 0x1F) == 9 && (word & 0x7FF) == 0 => {
[INFO] [stderr]      |             ^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/recompiler/decoder.rs:1310:9
[INFO] [stderr]      |
[INFO] [stderr] 1238 |         234 => Ok((
[INFO] [stderr]      |         --- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 1310 |         234 if (word >> 26) == 31 => Ok((
[INFO] [stderr]      |         ^^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/recompiler/decoder.rs:1320:9
[INFO] [stderr]      |
[INFO] [stderr] 1228 |         202 => Ok((
[INFO] [stderr]      |         --- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 1320 |         202 if (word >> 26) == 31 => Ok((
[INFO] [stderr]      |         ^^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/recompiler/decoder.rs:1352:9
[INFO] [stderr]      |
[INFO] [stderr] 1248 |         74 => Ok((
[INFO] [stderr]      |         -- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 1352 |         74 if (word >> 26) == 31 => Ok((
[INFO] [stderr]      |         ^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/recompiler/decoder.rs:1362:9
[INFO] [stderr]      |
[INFO] [stderr] 1258 |         106 => Ok((
[INFO] [stderr]      |         --- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 1362 |         106 if (word >> 26) == 31 => Ok((
[INFO] [stderr]      |         ^^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/recompiler/decoder.rs:2168:9
[INFO] [stderr]      |
[INFO] [stderr] 1693 |         32 => {
[INFO] [stderr]      |         -- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 2168 |         32 if (word >> 26) == 63 => {
[INFO] [stderr]      |         ^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rc`
[INFO] [stderr]     --> src/recompiler/decoder.rs:1160:9
[INFO] [stderr]      |
[INFO] [stderr] 1160 |     let rc: bool = (word & 1) != 0; // Record bit (update condition register)
[INFO] [stderr]      |         ^^ help: if this is intentional, prefix it with an underscore: `_rc`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `imm`
[INFO] [stderr]    --> src/recompiler/analysis/control_flow.rs:313:46
[INFO] [stderr]     |
[INFO] [stderr] 313 |             if let Some(Operand::Immediate32(imm)) = inst.instruction.operands.first() {
[INFO] [stderr]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_imm`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/recompiler/analysis/inter_procedural.rs:31:13
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let mut edges = Vec::new();
[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/recompiler/analysis/loop_analysis.rs:30:13
[INFO] [stderr]    |
[INFO] [stderr] 30 |         let mut ivs = Vec::new();
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inst`
[INFO] [stderr]   --> src/recompiler/analysis/loop_analysis.rs:35:25
[INFO] [stderr]    |
[INFO] [stderr] 35 |                     for inst in &block.instructions {
[INFO] [stderr]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inst`
[INFO] [stderr]  --> src/recompiler/codegen/memory.rs:7:26
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub fn generate_load(inst: &DecodedInstruction) -> String {
[INFO] [stderr]   |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inst`
[INFO] [stderr]   --> src/recompiler/codegen/memory.rs:13:27
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub fn generate_store(inst: &DecodedInstruction) -> String {
[INFO] [stderr]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `def_use_chains`
[INFO] [stderr]    --> src/recompiler/codegen/mod.rs:107:13
[INFO] [stderr]     |
[INFO] [stderr] 107 |         let def_use_chains = crate::recompiler::analysis::data_flow::DataFlowAnalyzer::build_def_use_chains(instructions);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_use_chains`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bo`
[INFO] [stderr]    --> src/recompiler/codegen/mod.rs:613:21
[INFO] [stderr]     |
[INFO] [stderr] 613 |                 let bo = match &inst.instruction.operands[0] {
[INFO] [stderr]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_bo`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `def_use_chains`
[INFO] [stderr]   --> src/recompiler/pipeline.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let def_use_chains = DataFlowAnalyzer::build_def_use_chains(&instructions);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_use_chains`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `live_analysis`
[INFO] [stderr]   --> src/recompiler/pipeline.rs:90:13
[INFO] [stderr]    |
[INFO] [stderr] 90 |         let live_analysis = DataFlowAnalyzer::live_variable_analysis(&cfg);
[INFO] [stderr]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_analysis`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/recompiler/optimizer.rs:95:13
[INFO] [stderr]    |
[INFO] [stderr] 95 |         let mut constants: HashMap<u8, Option<u32>> = HashMap::new();
[INFO] [stderr]    |             ----^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `constants`
[INFO] [stderr]   --> src/recompiler/optimizer.rs:95:13
[INFO] [stderr]    |
[INFO] [stderr] 95 |         let mut constants: HashMap<u8, Option<u32>> = HashMap::new();
[INFO] [stderr]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constants`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/recompiler/optimizer.rs:122:13
[INFO] [stderr]     |
[INFO] [stderr] 122 |         let mut used_registers: std::collections::HashSet<u8> = std::collections::HashSet::new();
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `used_registers`
[INFO] [stderr]    --> src/recompiler/optimizer.rs:122:13
[INFO] [stderr]     |
[INFO] [stderr] 122 |         let mut used_registers: std::collections::HashSet<u8> = std::collections::HashSet::new();
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_used_registers`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inst`
[INFO] [stderr]    --> src/recompiler/optimizer.rs:125:13
[INFO] [stderr]     |
[INFO] [stderr] 125 |         for inst in instructions.iter().rev() {
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `register_map`, `next_temp`, and `basic_block_map` are never read
[INFO] [stderr]   --> src/recompiler/codegen/mod.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct CodeGenerator {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 11 |     indent_level: usize,
[INFO] [stderr] 12 |     register_map: HashMap<u8, String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 13 |     next_temp: usize,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 18 |     basic_block_map: HashMap<u32, usize>, // Map addresses to basic block indices
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Variable` is never constructed
[INFO] [stderr]   --> src/recompiler/codegen/mod.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | enum RegisterValue {
[INFO] [stderr]    |      ------------- variant in this enum
[INFO] [stderr] 23 |     Constant(u32),
[INFO] [stderr] 24 |     Variable(String),
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RegisterValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `build_basic_blocks` and `type_to_rust` are never used
[INFO] [stderr]     --> src/recompiler/codegen/mod.rs:222:8
[INFO] [stderr]      |
[INFO] [stderr]   28 | impl CodeGenerator {
[INFO] [stderr]      | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  222 |     fn build_basic_blocks<'a>(&self, instructions: &'a [DecodedInstruction]) -> Result<Vec<Vec<&'a DecodedInstruction>>> {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1117 |     fn type_to_rust(&self, ty: &crate::recompiler::analysis::TypeInfo) -> String {
[INFO] [stderr]      |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `register_allocation` is never read
[INFO] [stderr]   --> src/recompiler/optimizer.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct Optimizer {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 27 |     register_allocation: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `gcrecomp-core` (lib) generated 35 warnings (run `cargo fix --lib -p gcrecomp-core` to apply 22 suggestions)
[INFO] [stderr] warning: unused import: `Operand`
[INFO] [stderr]  --> tests/codegen_test.rs:6:55
[INFO] [stderr]   |
[INFO] [stderr] 6 |     DecodedInstruction, Instruction, InstructionType, Operand,
[INFO] [stderr]   |                                                       ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `create_test_instruction` is never used
[INFO] [stderr]   --> tests/codegen_test.rs:10:4
[INFO] [stderr]    |
[INFO] [stderr] 10 | fn create_test_instruction(opcode: u32, inst_type: InstructionType) -> DecodedInstruction {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `gcrecomp-core` (test "codegen_test") generated 2 warnings (run `cargo fix --test "codegen_test" -p gcrecomp-core` to apply 1 suggestion)
[INFO] [stderr] warning: `gcrecomp-core` (lib test) generated 35 warnings (35 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gcrecomp_core-ccd9165fa2893baa)
[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/codegen_test.rs (/opt/rustwide/target/debug/deps/codegen_test-4131b70b46d5bfa8)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test test_generate_function_empty ... ok
[INFO] [stdout] test test_sanitize_identifier ... ok
[INFO] [stdout] test test_codegen_without_optimizations ... ok
[INFO] [stdout] test test_codegen_initialization ... ok
[INFO] [stdout] test test_codegen_with_optimizations ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/decoder_test.rs (/opt/rustwide/target/debug/deps/decoder_test-d871f9c8519bab85)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_decode_addi ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/parser_test.rs (/opt/rustwide/target/debug/deps/parser_test-717779ef8457434b)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_parse_empty_dol ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests gcrecomp_core
[INFO] [stdout] 
[INFO] [stdout] running 33 tests
[INFO] [stdout] test src/recompiler/optimizer.rs - recompiler::optimizer::Optimizer::optimize (line 63) ... FAILED
[INFO] [stdout] test src/recompiler/analysis/data_flow.rs - recompiler::analysis::data_flow::DataFlowAnalyzer::build_def_use_chains (line 127) ... FAILED
[INFO] [stdout] test src/recompiler/optimizer.rs - recompiler::optimizer::Optimizer::new (line 37) ... FAILED
[INFO] [stdout] test src/recompiler/analysis/data_flow.rs - recompiler::analysis::data_flow::DataFlowAnalyzer::eliminate_dead_code (line 347) ... FAILED
[INFO] [stdout] test src/recompiler/parser.rs - recompiler::parser::DolFile::parse (line 78) ... FAILED
[INFO] [stdout] test src/recompiler/codegen/register.rs - recompiler::codegen::register::RegisterAllocator::new (line 39) ... FAILED
[INFO] [stdout] test src/recompiler/parser.rs - recompiler::parser::DolFile::get_all_sections (line 200) ... FAILED
[INFO] [stdout] test src/recompiler/analysis/control_flow.rs - recompiler::analysis::control_flow::ControlFlowAnalyzer::detect_loops (line 339) ... FAILED
[INFO] [stdout] test src/recompiler/analysis/control_flow.rs - recompiler::analysis::control_flow::ControlFlowAnalyzer::analyze_function_calls (line 427) ... FAILED
[INFO] [stdout] test src/recompiler/codegen/register.rs - recompiler::codegen::register::RegisterAllocator::spill_register (line 94) ... FAILED
[INFO] [stdout] test src/recompiler/validator.rs - recompiler::validator::CodeValidator::validate_rust_code (line 38) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::read_u16 (line 121) ... FAILED
[INFO] [stdout] test src/recompiler/analysis/type_inference.rs - recompiler::analysis::type_inference::TypeInferenceEngine::infer_types (line 77) ... FAILED
[INFO] [stdout] test src/recompiler/codegen/register.rs - recompiler::codegen::register::RegisterAllocator::allocate_register (line 64) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::read_u64 (line 180) ... FAILED
[INFO] [stdout] test src/recompiler/decoder.rs - recompiler::decoder::Instruction::decode (line 143) ... FAILED
[INFO] [stdout] test src/recompiler/analysis/data_flow.rs - recompiler::analysis::data_flow::DataFlowAnalyzer::live_variable_analysis (line 267) ... FAILED
[INFO] [stdout] test src/recompiler/pipeline.rs - recompiler::pipeline::RecompilationPipeline::recompile (line 64) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::read_u32 (line 148) ... FAILED
[INFO] [stdout] test src/recompiler/analysis/control_flow.rs - recompiler::analysis::control_flow::ControlFlowAnalyzer::build_cfg (line 164) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::write_u64 (line 304) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::read_bytes (line 335) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::read_u8 (line 98) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::bulk_copy (line 414) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::write_u8 (line 217) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::write_u32 (line 272) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::write_bytes (line 362) ... FAILED
[INFO] [stdout] test src/recompiler/validator.rs - recompiler::validator::CodeValidator::validate_function (line 123) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::write_u16 (line 242) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::translate_address (line 71) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::new (line 45) ... FAILED
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::get_slice (line 452) ... FAILED
[INFO] [stdout] test src/runtime/memory.rs - runtime::memory::MemoryManager::load_section (line 387) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/recompiler/optimizer.rs - recompiler::optimizer::Optimizer::optimize (line 63) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `optimizer` in this scope
[INFO] [stdout]   --> src/recompiler/optimizer.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 | let optimized = optimizer.optimize(&instructions);
[INFO] [stdout]    |                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `instructions` in this scope
[INFO] [stdout]   --> src/recompiler/optimizer.rs:64:37
[INFO] [stdout]    |
[INFO] [stdout] 64 | let optimized = optimizer.optimize(&instructions);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/analysis/data_flow.rs - recompiler::analysis::data_flow::DataFlowAnalyzer::build_def_use_chains (line 127) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `DataFlowAnalyzer` in this scope
[INFO] [stdout]    --> src/recompiler/analysis/data_flow.rs:129:14
[INFO] [stdout]     |
[INFO] [stdout] 129 | let chains = DataFlowAnalyzer::build_def_use_chains(&instructions);
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^ use of undeclared type `DataFlowAnalyzer`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/optimizer.rs - recompiler::optimizer::Optimizer::new (line 37) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `Optimizer` in this scope
[INFO] [stdout]   --> src/recompiler/optimizer.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 | let optimizer = Optimizer::new();
[INFO] [stdout]    |                 ^^^^^^^^^ use of undeclared type `Optimizer`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/analysis/data_flow.rs - recompiler::analysis::data_flow::DataFlowAnalyzer::eliminate_dead_code (line 347) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `instructions` in this scope
[INFO] [stdout]    --> src/recompiler/analysis/data_flow.rs:348:56
[INFO] [stdout]     |
[INFO] [stdout] 348 | let optimized = DataFlowAnalyzer::eliminate_dead_code(&instructions, &live_analysis);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `live_analysis` in this scope
[INFO] [stdout]    --> src/recompiler/analysis/data_flow.rs:348:71
[INFO] [stdout]     |
[INFO] [stdout] 348 | let optimized = DataFlowAnalyzer::eliminate_dead_code(&instructions, &live_analysis);
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `instructions` in this scope
[INFO] [stdout]    --> src/recompiler/analysis/data_flow.rs:349:42
[INFO] [stdout]     |
[INFO] [stdout] 349 | println!("Removed {} dead instructions", instructions.len() - optimized.len());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `DataFlowAnalyzer` in this scope
[INFO] [stdout]    --> src/recompiler/analysis/data_flow.rs:348:17
[INFO] [stdout]     |
[INFO] [stdout] 348 | let optimized = DataFlowAnalyzer::eliminate_dead_code(&instructions, &live_analysis);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ use of undeclared type `DataFlowAnalyzer`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/parser.rs - recompiler::parser::DolFile::parse (line 78) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/recompiler/parser.rs:79:41
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_recompiler_parser_rs_78_0() {
[INFO] [stdout]    |                                      ------------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 79 | let dol_data = std::fs::read("game.dol")?;
[INFO] [stdout]    |                                         ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 78 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_recompiler_parser_rs_78_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 79 | let dol_data = std::fs::read("game.dol")?;
[INFO] [stdout] 80 | let dol_file = DolFile::parse(&dol_data, "game.dol")?;
[INFO] [stdout] 81 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `DolFile` in this scope
[INFO] [stdout]   --> src/recompiler/parser.rs:80:16
[INFO] [stdout]    |
[INFO] [stdout] 80 | let dol_file = DolFile::parse(&dol_data, "game.dol")?;
[INFO] [stdout]    |                ^^^^^^^ use of undeclared type `DolFile`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/codegen/register.rs - recompiler::codegen::register::RegisterAllocator::new (line 39) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `RegisterAllocator` in this scope
[INFO] [stdout]   --> src/recompiler/codegen/register.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 | let mut allocator = RegisterAllocator::new();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^ use of undeclared type `RegisterAllocator`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/parser.rs - recompiler::parser::DolFile::get_all_sections (line 200) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `dol_file` in this scope
[INFO] [stdout]    --> src/recompiler/parser.rs:201:20
[INFO] [stdout]     |
[INFO] [stdout] 201 | let all_sections = dol_file.get_all_sections();
[INFO] [stdout]     |                    ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/analysis/control_flow.rs - recompiler::analysis::control_flow::ControlFlowAnalyzer::detect_loops (line 339) stdout ----
[INFO] [stdout] error[E0423]: expected value, found macro `cfg`
[INFO] [stdout]    --> src/recompiler/analysis/control_flow.rs:340:48
[INFO] [stdout]     |
[INFO] [stdout] 340 | let loops = ControlFlowAnalyzer::detect_loops(&cfg);
[INFO] [stdout]     |                                                ^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `ControlFlowAnalyzer` in this scope
[INFO] [stdout]    --> src/recompiler/analysis/control_flow.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 | let loops = ControlFlowAnalyzer::detect_loops(&cfg);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ use of undeclared type `ControlFlowAnalyzer`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0423, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0423`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/analysis/control_flow.rs - recompiler::analysis::control_flow::ControlFlowAnalyzer::analyze_function_calls (line 427) stdout ----
[INFO] [stdout] error[E0423]: expected value, found macro `cfg`
[INFO] [stdout]    --> src/recompiler/analysis/control_flow.rs:428:58
[INFO] [stdout]     |
[INFO] [stdout] 428 | let calls = ControlFlowAnalyzer::analyze_function_calls(&cfg);
[INFO] [stdout]     |                                                          ^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `ControlFlowAnalyzer` in this scope
[INFO] [stdout]    --> src/recompiler/analysis/control_flow.rs:428:13
[INFO] [stdout]     |
[INFO] [stdout] 428 | let calls = ControlFlowAnalyzer::analyze_function_calls(&cfg);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ use of undeclared type `ControlFlowAnalyzer`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0423, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0423`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/codegen/register.rs - recompiler::codegen::register::RegisterAllocator::spill_register (line 94) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `allocator` in this scope
[INFO] [stdout]   --> src/recompiler/codegen/register.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 | let stack_var = allocator.spill_register(3);
[INFO] [stdout]    |                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/validator.rs - recompiler::validator::CodeValidator::validate_rust_code (line 38) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `generated_code` in this scope
[INFO] [stdout]   --> src/recompiler/validator.rs:39:36
[INFO] [stdout]    |
[INFO] [stdout] 39 | CodeValidator::validate_rust_code(&generated_code)?;
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CodeValidator` in this scope
[INFO] [stdout]   --> src/recompiler/validator.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | CodeValidator::validate_rust_code(&generated_code)?;
[INFO] [stdout]    | ^^^^^^^^^^^^^ use of undeclared type `CodeValidator`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::read_u16 (line 121) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]    --> src/runtime/memory.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 | let value = memory.read_u16(0x80000000)?;
[INFO] [stdout]     |             ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/analysis/type_inference.rs - recompiler::analysis::type_inference::TypeInferenceEngine::infer_types (line 77) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `instructions` in this scope
[INFO] [stdout]   --> src/recompiler/analysis/type_inference.rs:78:47
[INFO] [stdout]    |
[INFO] [stdout] 78 | let types = TypeInferenceEngine::infer_types(&instructions, &metadata);
[INFO] [stdout]    |                                               ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `metadata` in this scope
[INFO] [stdout]   --> src/recompiler/analysis/type_inference.rs:78:62
[INFO] [stdout]    |
[INFO] [stdout] 78 | let types = TypeInferenceEngine::infer_types(&instructions, &metadata);
[INFO] [stdout]    |                                                              ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 77 + use std::fs::metadata;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `TypeInferenceEngine` in this scope
[INFO] [stdout]   --> src/recompiler/analysis/type_inference.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 | let types = TypeInferenceEngine::infer_types(&instructions, &metadata);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ use of undeclared type `TypeInferenceEngine`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/codegen/register.rs - recompiler::codegen::register::RegisterAllocator::allocate_register (line 64) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `allocator` in this scope
[INFO] [stdout]   --> src/recompiler/codegen/register.rs:65:16
[INFO] [stdout]    |
[INFO] [stdout] 65 | let var_name = allocator.allocate_register(3);
[INFO] [stdout]    |                ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::read_u64 (line 180) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]    --> src/runtime/memory.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 | let value = memory.read_u64(0x80000000)?;
[INFO] [stdout]     |             ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/decoder.rs - recompiler::decoder::Instruction::decode (line 143) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `Instruction` in this scope
[INFO] [stdout]    --> src/recompiler/decoder.rs:147:15
[INFO] [stdout]     |
[INFO] [stdout] 147 | let decoded = Instruction::decode(word, address)?;
[INFO] [stdout]     |               ^^^^^^^^^^^ use of undeclared type `Instruction`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `InstructionType` in this scope
[INFO] [stdout]    --> src/recompiler/decoder.rs:148:50
[INFO] [stdout]     |
[INFO] [stdout] 148 | assert_eq!(decoded.instruction.instruction_type, InstructionType::Arithmetic);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^ use of undeclared type `InstructionType`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/analysis/data_flow.rs - recompiler::analysis::data_flow::DataFlowAnalyzer::live_variable_analysis (line 267) stdout ----
[INFO] [stdout] error[E0423]: expected value, found macro `cfg`
[INFO] [stdout]    --> src/recompiler/analysis/data_flow.rs:268:63
[INFO] [stdout]     |
[INFO] [stdout] 268 | let live_analysis = DataFlowAnalyzer::live_variable_analysis(&cfg);
[INFO] [stdout]     |                                                               ^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `DataFlowAnalyzer` in this scope
[INFO] [stdout]    --> src/recompiler/analysis/data_flow.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | let live_analysis = DataFlowAnalyzer::live_variable_analysis(&cfg);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ use of undeclared type `DataFlowAnalyzer`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0423, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0423`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/pipeline.rs - recompiler::pipeline::RecompilationPipeline::recompile (line 64) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `DolFile` in this scope
[INFO] [stdout]   --> src/recompiler/pipeline.rs:65:16
[INFO] [stdout]    |
[INFO] [stdout] 65 | let dol_file = DolFile::parse("game.dol")?;
[INFO] [stdout]    |                ^^^^^^^ use of undeclared type `DolFile`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `RecompilationPipeline` in this scope
[INFO] [stdout]   --> src/recompiler/pipeline.rs:66:1
[INFO] [stdout]    |
[INFO] [stdout] 66 | RecompilationPipeline::recompile(&dol_file, "output.rs")?;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `RecompilationPipeline`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::read_u32 (line 148) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]    --> src/runtime/memory.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout] 149 | let value = memory.read_u32(0x80000000)?;
[INFO] [stdout]     |             ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/analysis/control_flow.rs - recompiler::analysis::control_flow::ControlFlowAnalyzer::build_cfg (line 164) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `ControlFlowAnalyzer` in this scope
[INFO] [stdout]    --> src/recompiler/analysis/control_flow.rs:166:11
[INFO] [stdout]     |
[INFO] [stdout] 166 | let cfg = ControlFlowAnalyzer::build_cfg(&instructions, 0x80000000)?;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ use of undeclared type `ControlFlowAnalyzer`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::write_u64 (line 304) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]    --> src/runtime/memory.rs:305:1
[INFO] [stdout]     |
[INFO] [stdout] 305 | memory.write_u64(0x80000000, 0x1234567890ABCDEF)?;
[INFO] [stdout]     | ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::read_bytes (line 335) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]    --> src/runtime/memory.rs:336:12
[INFO] [stdout]     |
[INFO] [stdout] 336 | let data = memory.read_bytes(0x80000000, 1024)?;
[INFO] [stdout]     |            ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::read_u8 (line 98) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]   --> src/runtime/memory.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 | let value = memory.read_u8(0x80000000)?;
[INFO] [stdout]    |             ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::bulk_copy (line 414) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]    --> src/runtime/memory.rs:415:1
[INFO] [stdout]     |
[INFO] [stdout] 415 | memory.bulk_copy(0x80001000, 0x80000000, 1024)?;
[INFO] [stdout]     | ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::write_u8 (line 217) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]    --> src/runtime/memory.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | memory.write_u8(0x80000000, 0x42)?;
[INFO] [stdout]     | ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::write_u32 (line 272) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]    --> src/runtime/memory.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | memory.write_u32(0x80000000, 0x12345678)?;
[INFO] [stdout]     | ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::write_bytes (line 362) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]    --> src/runtime/memory.rs:363:1
[INFO] [stdout]     |
[INFO] [stdout] 363 | memory.write_bytes(0x80000000, &[0x42, 0x43, 0x44])?;
[INFO] [stdout]     | ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/recompiler/validator.rs - recompiler::validator::CodeValidator::validate_function (line 123) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `function_code` in this scope
[INFO] [stdout]    --> src/recompiler/validator.rs:124:35
[INFO] [stdout]     |
[INFO] [stdout] 124 | CodeValidator::validate_function(&function_code)?;
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CodeValidator` in this scope
[INFO] [stdout]    --> src/recompiler/validator.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | CodeValidator::validate_function(&function_code)?;
[INFO] [stdout]     | ^^^^^^^^^^^^^ use of undeclared type `CodeValidator`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::write_u16 (line 242) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]    --> src/runtime/memory.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | memory.write_u16(0x80000000, 0x1234)?;
[INFO] [stdout]     | ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::translate_address (line 71) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]   --> src/runtime/memory.rs:72:14
[INFO] [stdout]    |
[INFO] [stdout] 72 | let offset = memory.translate_address(0x80000000);
[INFO] [stdout]    |              ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::new (line 45) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `MemoryManager` in this scope
[INFO] [stdout]   --> src/runtime/memory.rs:46:18
[INFO] [stdout]    |
[INFO] [stdout] 46 | let mut memory = MemoryManager::new();
[INFO] [stdout]    |                  ^^^^^^^^^^^^^ use of undeclared type `MemoryManager`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::get_slice (line 452) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]    --> src/runtime/memory.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 | let slice = memory.get_slice(0x80000000, 1024)?;
[INFO] [stdout]     |             ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/runtime/memory.rs - runtime::memory::MemoryManager::load_section (line 387) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `memory` in this scope
[INFO] [stdout]    --> src/runtime/memory.rs:388:1
[INFO] [stdout]     |
[INFO] [stdout] 388 | memory.load_section(0x80000000, &section_data)?;
[INFO] [stdout]     | ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `section_data` in this scope
[INFO] [stdout]    --> src/runtime/memory.rs:388:34
[INFO] [stdout]     |
[INFO] [stdout] 388 | memory.load_section(0x80000000, &section_data)?;
[INFO] [stdout]     |                                  ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/recompiler/analysis/control_flow.rs - recompiler::analysis::control_flow::ControlFlowAnalyzer::analyze_function_calls (line 427)
[INFO] [stdout]     src/recompiler/analysis/control_flow.rs - recompiler::analysis::control_flow::ControlFlowAnalyzer::build_cfg (line 164)
[INFO] [stdout]     src/recompiler/analysis/control_flow.rs - recompiler::analysis::control_flow::ControlFlowAnalyzer::detect_loops (line 339)
[INFO] [stdout]     src/recompiler/analysis/data_flow.rs - recompiler::analysis::data_flow::DataFlowAnalyzer::build_def_use_chains (line 127)
[INFO] [stdout]     src/recompiler/analysis/data_flow.rs - recompiler::analysis::data_flow::DataFlowAnalyzer::eliminate_dead_code (line 347)
[INFO] [stdout]     src/recompiler/analysis/data_flow.rs - recompiler::analysis::data_flow::DataFlowAnalyzer::live_variable_analysis (line 267)
[INFO] [stdout]     src/recompiler/analysis/type_inference.rs - recompiler::analysis::type_inference::TypeInferenceEngine::infer_types (line 77)
[INFO] [stdout]     src/recompiler/codegen/register.rs - recompiler::codegen::register::RegisterAllocator::allocate_register (line 64)
[INFO] [stdout]     src/recompiler/codegen/register.rs - recompiler::codegen::register::RegisterAllocator::new (line 39)
[INFO] [stdout]     src/recompiler/codegen/register.rs - recompiler::codegen::register::RegisterAllocator::spill_register (line 94)
[INFO] [stdout]     src/recompiler/decoder.rs - recompiler::decoder::Instruction::decode (line 143)
[INFO] [stdout]     src/recompiler/optimizer.rs - recompiler::optimizer::Optimizer::new (line 37)
[INFO] [stdout]     src/recompiler/optimizer.rs - recompiler::optimizer::Optimizer::optimize (line 63)
[INFO] [stdout]     src/recompiler/parser.rs - recompiler::parser::DolFile::get_all_sections (line 200)
[INFO] [stdout]     src/recompiler/parser.rs - recompiler::parser::DolFile::parse (line 78)
[INFO] [stdout]     src/recompiler/pipeline.rs - recompiler::pipeline::RecompilationPipeline::recompile (line 64)
[INFO] [stdout]     src/recompiler/validator.rs - recompiler::validator::CodeValidator::validate_function (line 123)
[INFO] [stdout]     src/recompiler/validator.rs - recompiler::validator::CodeValidator::validate_rust_code (line 38)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::bulk_copy (line 414)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::get_slice (line 452)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::load_section (line 387)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::new (line 45)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::read_bytes (line 335)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::read_u16 (line 121)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::read_u32 (line 148)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::read_u64 (line 180)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::read_u8 (line 98)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::translate_address (line 71)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::write_bytes (line 362)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::write_u16 (line 242)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::write_u32 (line 272)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::write_u64 (line 304)
[INFO] [stdout]     src/runtime/memory.rs - runtime::memory::MemoryManager::write_u8 (line 217)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 33 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.78s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5e6b05cfa7bb1741e19fa8563fe2e6ed45188e90f6ab84ea44565fbd8508d0ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e6b05cfa7bb1741e19fa8563fe2e6ed45188e90f6ab84ea44565fbd8508d0ea", kill_on_drop: false }`
[INFO] [stdout] 5e6b05cfa7bb1741e19fa8563fe2e6ed45188e90f6ab84ea44565fbd8508d0ea
