[INFO] fetching crate lr35902 0.1.1... [INFO] testing lr35902-0.1.1 against try#b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b for pr-145330-1 [INFO] extracting crate lr35902 0.1.1 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate lr35902 0.1.1 [INFO] finished tweaking crates.io crate lr35902 0.1.1 [INFO] tweaked toml for crates.io crate lr35902 0.1.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate lr35902 0.1.1 on toolchain b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 128 packages to latest compatible versions [INFO] [stderr] Adding glutin v0.28.0 (available: v0.32.3) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1576d3df1232c808953cb56840bb431426df80cc70c20b30103f0d363b0b42ca [INFO] running `Command { std: "docker" "start" "-a" "1576d3df1232c808953cb56840bb431426df80cc70c20b30103f0d363b0b42ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1576d3df1232c808953cb56840bb431426df80cc70c20b30103f0d363b0b42ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1576d3df1232c808953cb56840bb431426df80cc70c20b30103f0d363b0b42ca", kill_on_drop: false }` [INFO] [stdout] 1576d3df1232c808953cb56840bb431426df80cc70c20b30103f0d363b0b42ca [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f0ea66eccc3e5611bd1b40148a1a445f97ac69d0dd1a4d615669065c1461ca1f [INFO] running `Command { std: "docker" "start" "-a" "f0ea66eccc3e5611bd1b40148a1a445f97ac69d0dd1a4d615669065c1461ca1f", kill_on_drop: false }` [INFO] [stderr] Compiling bumpalo v3.19.0 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.104 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.104 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.104 [INFO] [stderr] Compiling wasm-bindgen v0.2.104 [INFO] [stderr] Compiling js-sys v0.3.81 [INFO] [stderr] Compiling console_error_panic_hook v0.1.7 [INFO] [stderr] Compiling web-sys v0.3.81 [INFO] [stderr] Compiling wasm-bindgen-futures v0.4.54 [INFO] [stderr] Compiling lr35902 v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Ref` [INFO] [stdout] --> src/screen/web.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use core::cell::{Ref, RefCell, RefMut}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 26 | cpu.registers.a += cpu.registers.d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 44 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 45 | cpu.registers.a += cpu.registers.h; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 53 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 54 | cpu.registers.a += cpu.registers.l; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 62 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 63 | cpu.registers.a += cpu.registers.a; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 73 | cpu.registers.a += cpu.memory.rb(addr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 113 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 114 | let mut hl: u16 = ((cpu.registers.h as u16) << 8) + cpu.registers.l as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 126 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 127 | let mut hl = ((cpu.registers.h as u16) << 8) + cpu.registers.l as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:24:15 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn addr_d(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn addr_h(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn addr_l(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn addr_a(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/cpu/data.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let addr = ((cpu.registers.h as u16) << 8) + cpu.registers.l as u16; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:112:16 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn addhlhl(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:125:16 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn addhlsp(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:467:5 [INFO] [stdout] | [INFO] [stdout] 467 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:485:5 [INFO] [stdout] | [INFO] [stdout] 485 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 494 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:503:5 [INFO] [stdout] | [INFO] [stdout] 503 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:512:5 [INFO] [stdout] | [INFO] [stdout] 512 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:521:5 [INFO] [stdout] | [INFO] [stdout] 521 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:531:5 [INFO] [stdout] | [INFO] [stdout] 531 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `u8` to itself [INFO] [stdout] --> src/cpu/ld.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | cpu.registers.h = cpu.registers.h; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_sgb` is never read [INFO] [stdout] --> src/mmu/mmu.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Mmu { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 51 | is_sgb: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mmu` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_event_listener` is never used [INFO] [stdout] --> src/screen/web.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn add_event_listener(listener: &str, f: &Closure) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | if hl > 65535 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | if hl > 65535 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:286:8 [INFO] [stdout] | [INFO] [stdout] 286 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:294:8 [INFO] [stdout] | [INFO] [stdout] 294 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:302:8 [INFO] [stdout] | [INFO] [stdout] 302 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:310:8 [INFO] [stdout] | [INFO] [stdout] 310 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:329:8 [INFO] [stdout] | [INFO] [stdout] 329 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:352:8 [INFO] [stdout] | [INFO] [stdout] 352 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:365:8 [INFO] [stdout] | [INFO] [stdout] 365 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:378:8 [INFO] [stdout] | [INFO] [stdout] 378 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:391:8 [INFO] [stdout] | [INFO] [stdout] 391 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:404:8 [INFO] [stdout] | [INFO] [stdout] 404 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:417:8 [INFO] [stdout] | [INFO] [stdout] 417 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:430:8 [INFO] [stdout] | [INFO] [stdout] 430 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:444:8 [INFO] [stdout] | [INFO] [stdout] 444 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:464:8 [INFO] [stdout] | [INFO] [stdout] 464 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:473:8 [INFO] [stdout] | [INFO] [stdout] 473 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:482:8 [INFO] [stdout] | [INFO] [stdout] 482 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:491:8 [INFO] [stdout] | [INFO] [stdout] 491 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:500:8 [INFO] [stdout] | [INFO] [stdout] 500 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:509:8 [INFO] [stdout] | [INFO] [stdout] 509 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:518:8 [INFO] [stdout] | [INFO] [stdout] 518 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:528:8 [INFO] [stdout] | [INFO] [stdout] 528 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.93s [INFO] running `Command { std: "docker" "inspect" "f0ea66eccc3e5611bd1b40148a1a445f97ac69d0dd1a4d615669065c1461ca1f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f0ea66eccc3e5611bd1b40148a1a445f97ac69d0dd1a4d615669065c1461ca1f", kill_on_drop: false }` [INFO] [stdout] f0ea66eccc3e5611bd1b40148a1a445f97ac69d0dd1a4d615669065c1461ca1f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 63fad4adb3e4258fd866e95085f0c82cf1e131920d0d2e9693f361406477deaa [INFO] running `Command { std: "docker" "start" "-a" "63fad4adb3e4258fd866e95085f0c82cf1e131920d0d2e9693f361406477deaa", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `Ref` [INFO] [stdout] --> src/screen/web.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use core::cell::{Ref, RefCell, RefMut}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 26 | cpu.registers.a += cpu.registers.d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 44 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 45 | cpu.registers.a += cpu.registers.h; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 53 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 54 | cpu.registers.a += cpu.registers.l; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 62 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 63 | cpu.registers.a += cpu.registers.a; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 73 | cpu.registers.a += cpu.memory.rb(addr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 113 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 114 | let mut hl: u16 = ((cpu.registers.h as u16) << 8) + cpu.registers.l as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 126 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 127 | let mut hl = ((cpu.registers.h as u16) << 8) + cpu.registers.l as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:24:15 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn addr_d(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn addr_h(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn addr_l(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn addr_a(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/cpu/data.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let addr = ((cpu.registers.h as u16) << 8) + cpu.registers.l as u16; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:112:16 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn addhlhl(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:125:16 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn addhlsp(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:467:5 [INFO] [stdout] | [INFO] [stdout] 467 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:485:5 [INFO] [stdout] | [INFO] [stdout] 485 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling lr35902 v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 494 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:503:5 [INFO] [stdout] | [INFO] [stdout] 503 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:512:5 [INFO] [stdout] | [INFO] [stdout] 512 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:521:5 [INFO] [stdout] | [INFO] [stdout] 521 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:531:5 [INFO] [stdout] | [INFO] [stdout] 531 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `u8` to itself [INFO] [stdout] --> src/cpu/ld.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | cpu.registers.h = cpu.registers.h; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_sgb` is never read [INFO] [stdout] --> src/mmu/mmu.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Mmu { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 51 | is_sgb: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mmu` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_event_listener` is never used [INFO] [stdout] --> src/screen/web.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn add_event_listener(listener: &str, f: &Closure) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | if hl > 65535 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | if hl > 65535 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:286:8 [INFO] [stdout] | [INFO] [stdout] 286 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:294:8 [INFO] [stdout] | [INFO] [stdout] 294 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:302:8 [INFO] [stdout] | [INFO] [stdout] 302 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:310:8 [INFO] [stdout] | [INFO] [stdout] 310 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:329:8 [INFO] [stdout] | [INFO] [stdout] 329 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:352:8 [INFO] [stdout] | [INFO] [stdout] 352 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:365:8 [INFO] [stdout] | [INFO] [stdout] 365 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:378:8 [INFO] [stdout] | [INFO] [stdout] 378 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:391:8 [INFO] [stdout] | [INFO] [stdout] 391 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:404:8 [INFO] [stdout] | [INFO] [stdout] 404 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:417:8 [INFO] [stdout] | [INFO] [stdout] 417 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:430:8 [INFO] [stdout] | [INFO] [stdout] 430 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:444:8 [INFO] [stdout] | [INFO] [stdout] 444 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:464:8 [INFO] [stdout] | [INFO] [stdout] 464 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:473:8 [INFO] [stdout] | [INFO] [stdout] 473 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:482:8 [INFO] [stdout] | [INFO] [stdout] 482 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:491:8 [INFO] [stdout] | [INFO] [stdout] 491 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:500:8 [INFO] [stdout] | [INFO] [stdout] 500 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:509:8 [INFO] [stdout] | [INFO] [stdout] 509 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:518:8 [INFO] [stdout] | [INFO] [stdout] 518 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:528:8 [INFO] [stdout] | [INFO] [stdout] 528 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ref` [INFO] [stdout] --> src/screen/web.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use core::cell::{Ref, RefCell, RefMut}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 26 | cpu.registers.a += cpu.registers.d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 44 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 45 | cpu.registers.a += cpu.registers.h; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 53 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 54 | cpu.registers.a += cpu.registers.l; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 62 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 63 | cpu.registers.a += cpu.registers.a; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 73 | cpu.registers.a += cpu.memory.rb(addr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 113 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 114 | let mut hl: u16 = ((cpu.registers.h as u16) << 8) + cpu.registers.l as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu/data.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 126 | panic!("fix f attribution"); [INFO] [stdout] | --------------------------- any code following this expression is unreachable [INFO] [stdout] 127 | let mut hl = ((cpu.registers.h as u16) << 8) + cpu.registers.l as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:24:15 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn addr_d(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn addr_h(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn addr_l(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn addr_a(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/cpu/data.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let addr = ((cpu.registers.h as u16) << 8) + cpu.registers.l as u16; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:112:16 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn addhlhl(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu/data.rs:125:16 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn addhlsp(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:467:5 [INFO] [stdout] | [INFO] [stdout] 467 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:485:5 [INFO] [stdout] | [INFO] [stdout] 485 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 494 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:503:5 [INFO] [stdout] | [INFO] [stdout] 503 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:512:5 [INFO] [stdout] | [INFO] [stdout] 512 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:521:5 [INFO] [stdout] | [INFO] [stdout] 521 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/cpu/data.rs:531:5 [INFO] [stdout] | [INFO] [stdout] 531 | i &= 255; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `u8` to itself [INFO] [stdout] --> src/cpu/ld.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | cpu.registers.h = cpu.registers.h; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_sgb` is never read [INFO] [stdout] --> src/mmu/mmu.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Mmu { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 51 | is_sgb: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mmu` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_event_listener` is never used [INFO] [stdout] --> src/screen/web.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn add_event_listener(listener: &str, f: &Closure) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | if hl > 65535 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | if hl > 65535 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:286:8 [INFO] [stdout] | [INFO] [stdout] 286 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:294:8 [INFO] [stdout] | [INFO] [stdout] 294 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:302:8 [INFO] [stdout] | [INFO] [stdout] 302 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:310:8 [INFO] [stdout] | [INFO] [stdout] 310 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:329:8 [INFO] [stdout] | [INFO] [stdout] 329 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:352:8 [INFO] [stdout] | [INFO] [stdout] 352 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:365:8 [INFO] [stdout] | [INFO] [stdout] 365 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:378:8 [INFO] [stdout] | [INFO] [stdout] 378 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:391:8 [INFO] [stdout] | [INFO] [stdout] 391 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:404:8 [INFO] [stdout] | [INFO] [stdout] 404 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:417:8 [INFO] [stdout] | [INFO] [stdout] 417 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:430:8 [INFO] [stdout] | [INFO] [stdout] 430 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:444:8 [INFO] [stdout] | [INFO] [stdout] 444 | if cpu.registers.a < 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:464:8 [INFO] [stdout] | [INFO] [stdout] 464 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:473:8 [INFO] [stdout] | [INFO] [stdout] 473 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:482:8 [INFO] [stdout] | [INFO] [stdout] 482 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:491:8 [INFO] [stdout] | [INFO] [stdout] 491 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:500:8 [INFO] [stdout] | [INFO] [stdout] 500 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:509:8 [INFO] [stdout] | [INFO] [stdout] 509 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:518:8 [INFO] [stdout] | [INFO] [stdout] 518 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu/data.rs:528:8 [INFO] [stdout] | [INFO] [stdout] 528 | if i < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.79s [INFO] running `Command { std: "docker" "inspect" "63fad4adb3e4258fd866e95085f0c82cf1e131920d0d2e9693f361406477deaa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "63fad4adb3e4258fd866e95085f0c82cf1e131920d0d2e9693f361406477deaa", kill_on_drop: false }` [INFO] [stdout] 63fad4adb3e4258fd866e95085f0c82cf1e131920d0d2e9693f361406477deaa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 881f8ca9bbf86c62a3d3ef37fda8e9b1226ccd55ef021a36fa8bf844e5bf2839 [INFO] running `Command { std: "docker" "start" "-a" "881f8ca9bbf86c62a3d3ef37fda8e9b1226ccd55ef021a36fa8bf844e5bf2839", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `Ref` [INFO] [stderr] --> src/screen/web.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | use core::cell::{Ref, RefCell, RefMut}; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/cpu/data.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 25 | panic!("fix f attribution"); [INFO] [stderr] | --------------------------- any code following this expression is unreachable [INFO] [stderr] 26 | cpu.registers.a += cpu.registers.d; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/cpu/data.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 44 | panic!("fix f attribution"); [INFO] [stderr] | --------------------------- any code following this expression is unreachable [INFO] [stderr] 45 | cpu.registers.a += cpu.registers.h; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/cpu/data.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 53 | panic!("fix f attribution"); [INFO] [stderr] | --------------------------- any code following this expression is unreachable [INFO] [stderr] 54 | cpu.registers.a += cpu.registers.l; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/cpu/data.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 62 | panic!("fix f attribution"); [INFO] [stderr] | --------------------------- any code following this expression is unreachable [INFO] [stderr] 63 | cpu.registers.a += cpu.registers.a; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/cpu/data.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 72 | panic!("fix f attribution"); [INFO] [stderr] | --------------------------- any code following this expression is unreachable [INFO] [stderr] 73 | cpu.registers.a += cpu.memory.rb(addr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/cpu/data.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 113 | panic!("fix f attribution"); [INFO] [stderr] | --------------------------- any code following this expression is unreachable [INFO] [stderr] 114 | let mut hl: u16 = ((cpu.registers.h as u16) << 8) + cpu.registers.l as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/cpu/data.rs:127:5 [INFO] [stderr] | [INFO] [stderr] 126 | panic!("fix f attribution"); [INFO] [stderr] | --------------------------- any code following this expression is unreachable [INFO] [stderr] 127 | let mut hl = ((cpu.registers.h as u16) << 8) + cpu.registers.l as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/cpu/data.rs:24:15 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn addr_d(cpu: &mut Cpu) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/cpu/data.rs:43:15 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn addr_h(cpu: &mut Cpu) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/cpu/data.rs:52:15 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn addr_l(cpu: &mut Cpu) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/cpu/data.rs:61:15 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn addr_a(cpu: &mut Cpu) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `addr` [INFO] [stderr] --> src/cpu/data.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | let addr = ((cpu.registers.h as u16) << 8) + cpu.registers.l as u16; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/cpu/data.rs:112:16 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn addhlhl(cpu: &mut Cpu) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/cpu/data.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | pub fn addhlsp(cpu: &mut Cpu) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `i` is never read [INFO] [stderr] --> src/cpu/data.rs:467:5 [INFO] [stderr] | [INFO] [stderr] 467 | i &= 255; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `i` is never read [INFO] [stderr] --> src/cpu/data.rs:476:5 [INFO] [stderr] | [INFO] [stderr] 476 | i &= 255; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `i` is never read [INFO] [stderr] --> src/cpu/data.rs:485:5 [INFO] [stderr] | [INFO] [stderr] 485 | i &= 255; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `i` is never read [INFO] [stderr] --> src/cpu/data.rs:494:5 [INFO] [stderr] | [INFO] [stderr] 494 | i &= 255; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `i` is never read [INFO] [stderr] --> src/cpu/data.rs:503:5 [INFO] [stderr] | [INFO] [stderr] 503 | i &= 255; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `i` is never read [INFO] [stderr] --> src/cpu/data.rs:512:5 [INFO] [stderr] | [INFO] [stderr] 512 | i &= 255; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `i` is never read [INFO] [stderr] --> src/cpu/data.rs:521:5 [INFO] [stderr] | [INFO] [stderr] 521 | i &= 255; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `i` is never read [INFO] [stderr] --> src/cpu/data.rs:531:5 [INFO] [stderr] | [INFO] [stderr] 531 | i &= 255; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: useless assignment of field of type `u8` to itself [INFO] [stderr] --> src/cpu/ld.rs:255:5 [INFO] [stderr] | [INFO] [stderr] 255 | cpu.registers.h = cpu.registers.h; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field `is_sgb` is never read [INFO] [stderr] --> src/mmu/mmu.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub struct Mmu { [INFO] [stderr] | --- field in this struct [INFO] [stderr] ... [INFO] [stderr] 51 | is_sgb: bool, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Mmu` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `add_event_listener` is never used [INFO] [stderr] --> src/screen/web.rs:27:4 [INFO] [stderr] | [INFO] [stderr] 27 | fn add_event_listener(listener: &str, f: &Closure) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:117:8 [INFO] [stderr] | [INFO] [stderr] 117 | if hl > 65535 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:129:8 [INFO] [stderr] | [INFO] [stderr] 129 | if hl > 65535 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:286:8 [INFO] [stderr] | [INFO] [stderr] 286 | if cpu.registers.a < 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:294:8 [INFO] [stderr] | [INFO] [stderr] 294 | if cpu.registers.a < 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:302:8 [INFO] [stderr] | [INFO] [stderr] 302 | if cpu.registers.a < 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:310:8 [INFO] [stderr] | [INFO] [stderr] 310 | if cpu.registers.a < 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:329:8 [INFO] [stderr] | [INFO] [stderr] 329 | if cpu.registers.a < 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:352:8 [INFO] [stderr] | [INFO] [stderr] 352 | if cpu.registers.a < 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:365:8 [INFO] [stderr] | [INFO] [stderr] 365 | if cpu.registers.a < 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:378:8 [INFO] [stderr] | [INFO] [stderr] 378 | if cpu.registers.a < 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:391:8 [INFO] [stderr] | [INFO] [stderr] 391 | if cpu.registers.a < 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:404:8 [INFO] [stderr] | [INFO] [stderr] 404 | if cpu.registers.a < 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:417:8 [INFO] [stderr] | [INFO] [stderr] 417 | if cpu.registers.a < 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:430:8 [INFO] [stderr] | [INFO] [stderr] 430 | if cpu.registers.a < 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:444:8 [INFO] [stderr] | [INFO] [stderr] 444 | if cpu.registers.a < 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:464:8 [INFO] [stderr] | [INFO] [stderr] 464 | if i < 0 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:473:8 [INFO] [stderr] | [INFO] [stderr] 473 | if i < 0 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:482:8 [INFO] [stderr] | [INFO] [stderr] 482 | if i < 0 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:491:8 [INFO] [stderr] | [INFO] [stderr] 491 | if i < 0 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:500:8 [INFO] [stderr] | [INFO] [stderr] 500 | if i < 0 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:509:8 [INFO] [stderr] | [INFO] [stderr] 509 | if i < 0 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:518:8 [INFO] [stderr] | [INFO] [stderr] 518 | if i < 0 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu/data.rs:528:8 [INFO] [stderr] | [INFO] [stderr] 528 | if i < 0 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `lr35902` (lib) generated 49 warnings (run `cargo fix --lib -p lr35902` to apply 1 suggestion) [INFO] [stderr] warning: `lr35902` (lib test) generated 49 warnings (49 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lr35902-3fa8b3f256c283aa) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests lr35902 [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "881f8ca9bbf86c62a3d3ef37fda8e9b1226ccd55ef021a36fa8bf844e5bf2839", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "881f8ca9bbf86c62a3d3ef37fda8e9b1226ccd55ef021a36fa8bf844e5bf2839", kill_on_drop: false }` [INFO] [stdout] 881f8ca9bbf86c62a3d3ef37fda8e9b1226ccd55ef021a36fa8bf844e5bf2839