[INFO] fetching crate lr35902 0.1.1... [INFO] testing lr35902-0.1.1 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145330-1 [INFO] extracting crate lr35902 0.1.1 into /workspace/builds/worker-0-tc1/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-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate lr35902 0.1.1 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded memmap2 v0.3.1 [INFO] [stderr] Downloaded ndk-glue v0.5.2 [INFO] [stderr] Downloaded glutin v0.28.0 [INFO] [stderr] Downloaded android_glue v0.2.3 [INFO] [stderr] Downloaded calloop v0.9.3 [INFO] [stderr] Downloaded shared_library v0.1.9 [INFO] [stderr] Downloaded core-video-sys v0.1.4 [INFO] [stderr] Downloaded core-graphics v0.19.2 [INFO] [stderr] Downloaded ndk v0.5.0 [INFO] [stderr] Downloaded xcursor v0.3.10 [INFO] [stderr] Downloaded glutin_egl_sys v0.1.6 [INFO] [stderr] Downloaded winit v0.26.1 [INFO] [stderr] Downloaded glutin_emscripten_sys v0.1.1 [INFO] [stderr] Downloaded glutin_gles2_sys v0.1.5 [INFO] [stderr] Downloaded smithay-client-toolkit v0.15.4 [INFO] [stderr] Downloaded glutin_glx_sys v0.1.8 [INFO] [stderr] Downloaded glutin_wgl_sys v0.1.5 [INFO] [stderr] Downloaded osmesa-sys v0.1.2 [INFO] [stderr] Downloaded wayland-egl v0.29.5 [INFO] [stderr] Downloaded nix v0.22.3 [INFO] [stderr] Downloaded ndk-sys v0.2.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 75a26b789f24faf83b7ee02a5bf43044febe44f48072591fcded1228153557ef [INFO] running `Command { std: "docker" "start" "-a" "75a26b789f24faf83b7ee02a5bf43044febe44f48072591fcded1228153557ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "75a26b789f24faf83b7ee02a5bf43044febe44f48072591fcded1228153557ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "75a26b789f24faf83b7ee02a5bf43044febe44f48072591fcded1228153557ef", kill_on_drop: false }` [INFO] [stdout] 75a26b789f24faf83b7ee02a5bf43044febe44f48072591fcded1228153557ef [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e0d4581572cf7891692dae7d593d6da5da7796a39774ae706c7715fb67fffbd0 [INFO] running `Command { std: "docker" "start" "-a" "e0d4581572cf7891692dae7d593d6da5da7796a39774ae706c7715fb67fffbd0", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling bumpalo v3.19.0 [INFO] [stderr] Compiling once_cell v1.21.3 [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.33s [INFO] running `Command { std: "docker" "inspect" "e0d4581572cf7891692dae7d593d6da5da7796a39774ae706c7715fb67fffbd0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e0d4581572cf7891692dae7d593d6da5da7796a39774ae706c7715fb67fffbd0", kill_on_drop: false }` [INFO] [stdout] e0d4581572cf7891692dae7d593d6da5da7796a39774ae706c7715fb67fffbd0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1dc5e918318bebabc540f1c452b1d36e5ecd29f7c498e5396b72530b98d822e1 [INFO] running `Command { std: "docker" "start" "-a" "1dc5e918318bebabc540f1c452b1d36e5ecd29f7c498e5396b72530b98d822e1", 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.81s [INFO] running `Command { std: "docker" "inspect" "1dc5e918318bebabc540f1c452b1d36e5ecd29f7c498e5396b72530b98d822e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1dc5e918318bebabc540f1c452b1d36e5ecd29f7c498e5396b72530b98d822e1", kill_on_drop: false }` [INFO] [stdout] 1dc5e918318bebabc540f1c452b1d36e5ecd29f7c498e5396b72530b98d822e1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9f3d3f6d8ba7d726c035dda292a632c583360e665535b71c5ad54233106b42d6 [INFO] running `Command { std: "docker" "start" "-a" "9f3d3f6d8ba7d726c035dda292a632c583360e665535b71c5ad54233106b42d6", 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.09s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lr35902-3fa8b3f256c283aa) [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] [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" "9f3d3f6d8ba7d726c035dda292a632c583360e665535b71c5ad54233106b42d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9f3d3f6d8ba7d726c035dda292a632c583360e665535b71c5ad54233106b42d6", kill_on_drop: false }` [INFO] [stdout] 9f3d3f6d8ba7d726c035dda292a632c583360e665535b71c5ad54233106b42d6