[INFO] updating cached repository https://github.com/naps62/rgba [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/mnt/big/crater/work/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] [stderr] From https://github.com/naps62/rgba [INFO] [stderr] * [new branch] mp/display -> mp/display [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 59fb8ce3410ea39f17a7a4fd0d57ab9647fb802e [INFO] checking naps62/rgba against try#e689e5eaefe96e6dc3ed5bb629c521b7d207aff7 for pr-64398 [INFO] running `"git" "clone" "work/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnaps62%2Frgba" "work/builds/worker-6/source"` [INFO] [stderr] Cloning into 'work/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/naps62/rgba on toolchain e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt [INFO] running `"/mnt/big/crater/work/cargo-home/bin/cargo" "+e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/naps62/rgba [INFO] finished tweaking git repo https://github.com/naps62/rgba [INFO] tweaked toml for git repo https://github.com/naps62/rgba written to work/builds/worker-6/source/Cargo.toml [INFO] crate git repo https://github.com/naps62/rgba already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/cargo-home/bin/cargo" "+e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/mnt/big/crater/work/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/mnt/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 0b601b77439952227a79aaf3be229a4968a562d0b014eadc131792b70030dc95 [INFO] running `"docker" "start" "-a" "0b601b77439952227a79aaf3be229a4968a562d0b014eadc131792b70030dc95"` [INFO] [stderr] Compiling syn v0.15.31 [INFO] [stderr] Compiling libloading v0.5.1 [INFO] [stderr] Compiling bzip2-sys v0.1.7 [INFO] [stderr] Checking schedule_recv v0.1.0 [INFO] [stderr] Checking iovec v0.1.2 [INFO] [stderr] Checking nix v0.14.1 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking num_cpus v1.10.0 [INFO] [stderr] Checking backtrace-sys v0.1.28 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Compiling gl_generator v0.11.0 [INFO] [stderr] Checking x11-dl v2.18.3 [INFO] [stderr] Checking libflate v0.1.22 [INFO] [stderr] Compiling wayland-scanner v0.21.13 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking backtrace v0.3.15 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking miniz_oxide_c_api v0.2.1 [INFO] [stderr] Checking mio v0.6.16 [INFO] [stderr] Checking cookie v0.11.0 [INFO] [stderr] Checking serde_urlencoded v0.5.4 [INFO] [stderr] Checking openssl-sys v0.9.43 [INFO] [stderr] Checking rusttype v0.7.7 [INFO] [stderr] Checking parking_lot_core v0.4.0 [INFO] [stderr] Checking uuid v0.7.4 [INFO] [stderr] Checking tokio-threadpool v0.1.13 [INFO] [stderr] Checking error-chain v0.12.0 [INFO] [stderr] Checking tokio-io v0.1.12 [INFO] [stderr] Checking http v0.1.17 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Checking flate2 v1.0.7 [INFO] [stderr] Compiling glutin_egl_sys v0.1.3 [INFO] [stderr] Compiling glutin_glx_sys v0.1.5 [INFO] [stderr] Compiling glium v0.25.0 [INFO] [stderr] Checking openssl v0.10.20 [INFO] [stderr] Checking parking_lot v0.7.1 [INFO] [stderr] Checking andrew v0.2.1 [INFO] [stderr] Checking publicsuffix v1.5.2 [INFO] [stderr] Compiling wayland-client v0.21.13 [INFO] [stderr] Compiling wayland-protocols v0.21.13 [INFO] [stderr] Compiling phf_codegen v0.7.24 [INFO] [stderr] Checking bzip2 v0.3.3 [INFO] [stderr] Checking dlib v0.4.1 [INFO] [stderr] Checking tokio-reactor v0.1.9 [INFO] [stderr] Checking h2 v0.1.18 [INFO] [stderr] Checking zip v0.5.2 [INFO] [stderr] Checking wayland-sys v0.21.13 [INFO] [stderr] Compiling mime_guess v2.0.0-alpha.6 [INFO] [stderr] Checking native-tls v0.2.2 [INFO] [stderr] Checking wayland-commons v0.21.13 [INFO] [stderr] Checking tokio-tcp v0.1.3 [INFO] [stderr] Checking tokio v0.1.18 [INFO] [stderr] Compiling synstructure v0.10.1 [INFO] [stderr] Checking hyper v0.12.27 [INFO] [stderr] Compiling derivative v1.0.2 [INFO] [stderr] Compiling serde_derive v1.0.90 [INFO] [stderr] Compiling failure_derive v0.1.5 [INFO] [stderr] Checking hyper-tls v0.3.2 [INFO] [stderr] Checking failure v0.1.5 [INFO] [stderr] Checking smithay-client-toolkit v0.4.6 [INFO] [stderr] Checking winit v0.19.1 [INFO] [stderr] Checking cookie_store v0.5.1 [INFO] [stderr] Checking glutin v0.21.0 [INFO] [stderr] Checking reqwest v0.9.14 [INFO] [stderr] Checking rgba v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `super::debug` [INFO] [stderr] --> src/cartridge.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use super::debug; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `schedule_recv::oneshot_ms` [INFO] [stderr] --> src/display/render_thread.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use schedule_recv::oneshot_ms; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `display` [INFO] [stderr] --> src/game_boy.rs:1:29 [INFO] [stderr] | [INFO] [stderr] 1 | use super::{cartridge, cpu, display, gpu, mmu}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::mmu::MMU` [INFO] [stderr] --> src/gpu.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use super::mmu::MMU; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/mmu.rs:124:8 [INFO] [stderr] | [INFO] [stderr] 124 | if (boot_rom) { [INFO] [stderr] | ^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:133:15 [INFO] [stderr] | [INFO] [stderr] 133 | BOOT_BEG...BOOT_END if self.get_flag(FLAG_BOOT) => self.boot[index], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:134:15 [INFO] [stderr] | [INFO] [stderr] 134 | ROM0_BEG...ROM0_END => self.rom0[index], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:135:15 [INFO] [stderr] | [INFO] [stderr] 135 | ROMX_BEG...ROMX_END => self.romx[index - ROMX_BEG], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:136:15 [INFO] [stderr] | [INFO] [stderr] 136 | ERAM_BEG...ERAM_END => self.eram[index - ERAM_BEG], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:137:16 [INFO] [stderr] | [INFO] [stderr] 137 | WRAM0_BEG...WRAM0_END => self.wram0[index - WRAM0_BEG], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:138:16 [INFO] [stderr] | [INFO] [stderr] 138 | WRAMX_BEG...WRAMX_END => self.wramx[index - WRAMX_BEG], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:139:15 [INFO] [stderr] | [INFO] [stderr] 139 | ZRAM_BEG...ZRAM_END => self.zram[index - ZRAM_BEG], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:150:16 [INFO] [stderr] | [INFO] [stderr] 150 | WRAM0_BEG...WRAM0_END => self.wram0[index - WRAM0_BEG] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:151:16 [INFO] [stderr] | [INFO] [stderr] 151 | WRAMX_BEG...WRAMX_END => self.wramx[index - WRAMX_BEG] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:152:15 [INFO] [stderr] | [INFO] [stderr] 152 | ZRAM_BEG...ZRAM_END => self.zram[index - ZRAM_BEG] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:159:13 [INFO] [stderr] | [INFO] [stderr] 159 | IO_BEG...IO_END => address - IO_BEG, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | IO_BEG...IO_END => address - IO_BEG, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:200:15 [INFO] [stderr] | [INFO] [stderr] 200 | ROM0_BEG...ROM0_END => self.rom0[index] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:201:15 [INFO] [stderr] | [INFO] [stderr] 201 | ROMX_BEG...ROMX_END => self.rom0[index] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: unused variable: `game_boy` [INFO] [stderr] --> src/main.rs:24:7 [INFO] [stderr] | [INFO] [stderr] 24 | let game_boy = game_boy::GameBoy::new(cartridge_path); [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_game_boy` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `frame_duration` [INFO] [stderr] --> src/display/render_thread.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let frame_duration = frame_start.elapsed().as_millis() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_frame_duration` [INFO] [stderr] [INFO] [stderr] warning: field is never used: `data` [INFO] [stderr] --> src/cartridge.rs:7:3 [INFO] [stderr] | [INFO] [stderr] 7 | data: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `spawn` [INFO] [stderr] --> src/display/render_thread.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn spawn() -> thread::JoinHandle<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `setup_display` [INFO] [stderr] --> src/display/render_thread.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | fn setup_display() -> Display { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_loop` [INFO] [stderr] --> src/display/render_thread.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | fn render_loop(display: Display) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_frame` [INFO] [stderr] --> src/display/render_thread.rs:51:1 [INFO] [stderr] | [INFO] [stderr] 51 | fn render_frame(frame: &mut Frame) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Display` [INFO] [stderr] --> src/display/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Display { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/display/mod.rs:10:3 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn new() -> Display { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `BOOT_RANGE` [INFO] [stderr] --> src/mmu.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | const BOOT_RANGE: MemRange = (BOOT_BEG, BOOT_END); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `BIOS_BEG` [INFO] [stderr] --> src/mmu.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | const BIOS_BEG: usize = 0x0000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `BIOS_END` [INFO] [stderr] --> src/mmu.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | const BIOS_END: usize = 0x00ff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `BIOS_RANGE` [INFO] [stderr] --> src/mmu.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | const BIOS_RANGE: MemRange = (BIOS_BEG, BIOS_END); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `HEADER_BEG` [INFO] [stderr] --> src/mmu.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | const HEADER_BEG: usize = 0x0100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `HEADER_END` [INFO] [stderr] --> src/mmu.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | const HEADER_END: usize = 0x014f; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `RANGE_HEADER` [INFO] [stderr] --> src/mmu.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | const RANGE_HEADER: MemRange = (HEADER_BEG, HEADER_END); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `VRAM_BEG` [INFO] [stderr] --> src/mmu.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | const VRAM_BEG: usize = 0x8000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `VRAM_END` [INFO] [stderr] --> src/mmu.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | const VRAM_END: usize = 0x9fff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `VRAM_RANGE` [INFO] [stderr] --> src/mmu.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | const VRAM_RANGE: MemRange = (VRAM_BEG, VRAM_END); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ECHO_BEG` [INFO] [stderr] --> src/mmu.rs:55:1 [INFO] [stderr] | [INFO] [stderr] 55 | const ECHO_BEG: usize = 0xe000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ECHO_END` [INFO] [stderr] --> src/mmu.rs:56:1 [INFO] [stderr] | [INFO] [stderr] 56 | const ECHO_END: usize = 0xfdff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ECHO_RANGE` [INFO] [stderr] --> src/mmu.rs:57:1 [INFO] [stderr] | [INFO] [stderr] 57 | const ECHO_RANGE: MemRange = (ECHO_BEG, ECHO_END); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `OAM_BEG` [INFO] [stderr] --> src/mmu.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | const OAM_BEG: usize = 0xfe00; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `OAM_END` [INFO] [stderr] --> src/mmu.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | const OAM_END: usize = 0xfe9f; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `OAM_RANGE` [INFO] [stderr] --> src/mmu.rs:62:1 [INFO] [stderr] | [INFO] [stderr] 62 | const OAM_RANGE: MemRange = (OAM_BEG, OAM_END); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `UNUSED_BEG` [INFO] [stderr] --> src/mmu.rs:65:1 [INFO] [stderr] | [INFO] [stderr] 65 | const UNUSED_BEG: usize = 0xfea0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `UNUSED_END` [INFO] [stderr] --> src/mmu.rs:66:1 [INFO] [stderr] | [INFO] [stderr] 66 | const UNUSED_END: usize = 0xfeff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `INTERRUPT` [INFO] [stderr] --> src/mmu.rs:78:1 [INFO] [stderr] | [INFO] [stderr] 78 | const INTERRUPT: usize = 0xffff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused attribute [INFO] [stderr] --> src/cartridge.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_attributes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused attribute [INFO] [stderr] --> src/cartridge.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/display/render_thread.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | frame.finish(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::debug` [INFO] [stderr] --> src/cartridge.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use super::debug; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `schedule_recv::oneshot_ms` [INFO] [stderr] --> src/display/render_thread.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use schedule_recv::oneshot_ms; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `display` [INFO] [stderr] --> src/game_boy.rs:1:29 [INFO] [stderr] | [INFO] [stderr] 1 | use super::{cartridge, cpu, display, gpu, mmu}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::mmu::MMU` [INFO] [stderr] --> src/gpu.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use super::mmu::MMU; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/mmu.rs:124:8 [INFO] [stderr] | [INFO] [stderr] 124 | if (boot_rom) { [INFO] [stderr] | ^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:133:15 [INFO] [stderr] | [INFO] [stderr] 133 | BOOT_BEG...BOOT_END if self.get_flag(FLAG_BOOT) => self.boot[index], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:134:15 [INFO] [stderr] | [INFO] [stderr] 134 | ROM0_BEG...ROM0_END => self.rom0[index], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:135:15 [INFO] [stderr] | [INFO] [stderr] 135 | ROMX_BEG...ROMX_END => self.romx[index - ROMX_BEG], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:136:15 [INFO] [stderr] | [INFO] [stderr] 136 | ERAM_BEG...ERAM_END => self.eram[index - ERAM_BEG], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:137:16 [INFO] [stderr] | [INFO] [stderr] 137 | WRAM0_BEG...WRAM0_END => self.wram0[index - WRAM0_BEG], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:138:16 [INFO] [stderr] | [INFO] [stderr] 138 | WRAMX_BEG...WRAMX_END => self.wramx[index - WRAMX_BEG], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:139:15 [INFO] [stderr] | [INFO] [stderr] 139 | ZRAM_BEG...ZRAM_END => self.zram[index - ZRAM_BEG], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:150:16 [INFO] [stderr] | [INFO] [stderr] 150 | WRAM0_BEG...WRAM0_END => self.wram0[index - WRAM0_BEG] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:151:16 [INFO] [stderr] | [INFO] [stderr] 151 | WRAMX_BEG...WRAMX_END => self.wramx[index - WRAMX_BEG] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:152:15 [INFO] [stderr] | [INFO] [stderr] 152 | ZRAM_BEG...ZRAM_END => self.zram[index - ZRAM_BEG] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:159:13 [INFO] [stderr] | [INFO] [stderr] 159 | IO_BEG...IO_END => address - IO_BEG, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | IO_BEG...IO_END => address - IO_BEG, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:200:15 [INFO] [stderr] | [INFO] [stderr] 200 | ROM0_BEG...ROM0_END => self.rom0[index] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:201:15 [INFO] [stderr] | [INFO] [stderr] 201 | ROMX_BEG...ROMX_END => self.rom0[index] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: unused variable: `game_boy` [INFO] [stderr] --> src/main.rs:24:7 [INFO] [stderr] | [INFO] [stderr] 24 | let game_boy = game_boy::GameBoy::new(cartridge_path); [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_game_boy` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mmu` [INFO] [stderr] --> src/cpu/mod.rs:1740:15 [INFO] [stderr] | [INFO] [stderr] 1740 | let (cpu, mmu) = new_test_cpu(); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_mmu` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `frame_duration` [INFO] [stderr] --> src/display/render_thread.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let frame_duration = frame_start.elapsed().as_millis() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_frame_duration` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/mmu.rs:219:9 [INFO] [stderr] | [INFO] [stderr] 219 | let mut mmu = MMU::new(false); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/mmu.rs:288:9 [INFO] [stderr] | [INFO] [stderr] 288 | let mut mmu2 = MMU::new(true); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never used: `data` [INFO] [stderr] --> src/cartridge.rs:7:3 [INFO] [stderr] | [INFO] [stderr] 7 | data: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `spawn` [INFO] [stderr] --> src/display/render_thread.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn spawn() -> thread::JoinHandle<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `setup_display` [INFO] [stderr] --> src/display/render_thread.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | fn setup_display() -> Display { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_loop` [INFO] [stderr] --> src/display/render_thread.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | fn render_loop(display: Display) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_frame` [INFO] [stderr] --> src/display/render_thread.rs:51:1 [INFO] [stderr] | [INFO] [stderr] 51 | fn render_frame(frame: &mut Frame) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Display` [INFO] [stderr] --> src/display/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Display { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/display/mod.rs:10:3 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn new() -> Display { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `BOOT_RANGE` [INFO] [stderr] --> src/mmu.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | const BOOT_RANGE: MemRange = (BOOT_BEG, BOOT_END); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `BIOS_BEG` [INFO] [stderr] --> src/mmu.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | const BIOS_BEG: usize = 0x0000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `BIOS_END` [INFO] [stderr] --> src/mmu.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | const BIOS_END: usize = 0x00ff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `BIOS_RANGE` [INFO] [stderr] --> src/mmu.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | const BIOS_RANGE: MemRange = (BIOS_BEG, BIOS_END); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `HEADER_BEG` [INFO] [stderr] --> src/mmu.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | const HEADER_BEG: usize = 0x0100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `HEADER_END` [INFO] [stderr] --> src/mmu.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | const HEADER_END: usize = 0x014f; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `RANGE_HEADER` [INFO] [stderr] --> src/mmu.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | const RANGE_HEADER: MemRange = (HEADER_BEG, HEADER_END); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `VRAM_BEG` [INFO] [stderr] --> src/mmu.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | const VRAM_BEG: usize = 0x8000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `VRAM_END` [INFO] [stderr] --> src/mmu.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | const VRAM_END: usize = 0x9fff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `VRAM_RANGE` [INFO] [stderr] --> src/mmu.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | const VRAM_RANGE: MemRange = (VRAM_BEG, VRAM_END); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ECHO_BEG` [INFO] [stderr] --> src/mmu.rs:55:1 [INFO] [stderr] | [INFO] [stderr] 55 | const ECHO_BEG: usize = 0xe000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ECHO_END` [INFO] [stderr] --> src/mmu.rs:56:1 [INFO] [stderr] | [INFO] [stderr] 56 | const ECHO_END: usize = 0xfdff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ECHO_RANGE` [INFO] [stderr] --> src/mmu.rs:57:1 [INFO] [stderr] | [INFO] [stderr] 57 | const ECHO_RANGE: MemRange = (ECHO_BEG, ECHO_END); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `OAM_BEG` [INFO] [stderr] --> src/mmu.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | const OAM_BEG: usize = 0xfe00; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `OAM_END` [INFO] [stderr] --> src/mmu.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | const OAM_END: usize = 0xfe9f; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `OAM_RANGE` [INFO] [stderr] --> src/mmu.rs:62:1 [INFO] [stderr] | [INFO] [stderr] 62 | const OAM_RANGE: MemRange = (OAM_BEG, OAM_END); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `UNUSED_BEG` [INFO] [stderr] --> src/mmu.rs:65:1 [INFO] [stderr] | [INFO] [stderr] 65 | const UNUSED_BEG: usize = 0xfea0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `UNUSED_END` [INFO] [stderr] --> src/mmu.rs:66:1 [INFO] [stderr] | [INFO] [stderr] 66 | const UNUSED_END: usize = 0xfeff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `INTERRUPT` [INFO] [stderr] --> src/mmu.rs:78:1 [INFO] [stderr] | [INFO] [stderr] 78 | const INTERRUPT: usize = 0xffff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused attribute [INFO] [stderr] --> src/cartridge.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_attributes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused attribute [INFO] [stderr] --> src/cartridge.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/display/render_thread.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | frame.finish(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 44s [INFO] running `"docker" "inspect" "0b601b77439952227a79aaf3be229a4968a562d0b014eadc131792b70030dc95"` [INFO] running `"docker" "rm" "-f" "0b601b77439952227a79aaf3be229a4968a562d0b014eadc131792b70030dc95"` [INFO] [stdout] 0b601b77439952227a79aaf3be229a4968a562d0b014eadc131792b70030dc95