[INFO] cloning repository https://github.com/yamash723/nes-hello-world-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yamash723/nes-hello-world-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyamash723%2Fnes-hello-world-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyamash723%2Fnes-hello-world-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a418fe07e8273b33eae1824bfbf4f68b29e001dc [INFO] checking yamash723/nes-hello-world-rust against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyamash723%2Fnes-hello-world-rust" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/yamash723/nes-hello-world-rust on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/yamash723/nes-hello-world-rust [INFO] finished tweaking git repo https://github.com/yamash723/nes-hello-world-rust [INFO] tweaked toml for git repo https://github.com/yamash723/nes-hello-world-rust written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/yamash723/nes-hello-world-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e980c21eaa866a65863f183cad4b13c0f429ee07f0c3c0b76047aa961dbca689 [INFO] running `Command { std: "docker" "start" "-a" "e980c21eaa866a65863f183cad4b13c0f429ee07f0c3c0b76047aa961dbca689", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e980c21eaa866a65863f183cad4b13c0f429ee07f0c3c0b76047aa961dbca689", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e980c21eaa866a65863f183cad4b13c0f429ee07f0c3c0b76047aa961dbca689", kill_on_drop: false }` [INFO] [stdout] e980c21eaa866a65863f183cad4b13c0f429ee07f0c3c0b76047aa961dbca689 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b942e6b60a85987f7830d3dec2ca36f4a6f711ed1956dbee76afe15da7b021d5 [INFO] running `Command { std: "docker" "start" "-a" "b942e6b60a85987f7830d3dec2ca36f4a6f711ed1956dbee76afe15da7b021d5", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.5 [INFO] [stderr] Compiling num-integer v0.1.39 [INFO] [stderr] Compiling num-iter v0.1.37 [INFO] [stderr] Compiling cfg-if v0.1.4 [INFO] [stderr] Checking libc v0.2.42 [INFO] [stderr] Checking lazy_static v0.2.11 [INFO] [stderr] Checking bitflags v0.7.0 [INFO] [stderr] Compiling nes-hello-world-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking arrayref v0.3.4 [INFO] [stderr] Checking lazy_static v1.0.0 [INFO] [stderr] Compiling sdl2-sys v0.31.0 [INFO] [stderr] Checking rand v0.4.2 [INFO] [stderr] Checking rand v0.3.22 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking sdl2 v0.31.0 [INFO] [stdout] warning: unused import: `nes::ram::Ram` [INFO] [stdout] --> src/nes/ppu/tile.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use nes::ram::Ram; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nes::ram::Ram` [INFO] [stdout] --> src/nes/ppu/registers/ppu_data.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use nes::ram::Ram; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nes::ram::Ram` [INFO] [stdout] --> src/nes/ppu/registers/mod.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use nes::ram::Ram; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/nes/cpu/opecode.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | / lazy_static! { [INFO] [stdout] 42 | | pub static ref OPECODE_MAP: HashMap = { [INFO] [stdout] 43 | | let cycles: Vec = [INFO] [stdout] 44 | | vec![7, 6, 2, 8, 3, 3, 5, 5, 3, 2, 2, 2, 4, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, [INFO] [stdout] ... | [INFO] [stdout] 89 | | }; [INFO] [stdout] 90 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `CpuBus` is imported redundantly [INFO] [stdout] --> src/nes/cpu/controller.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 98 | use super::*; [INFO] [stdout] | -------- the item `CpuBus` is already imported here [INFO] [stdout] 99 | use nes::cpu::CpuBus; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Registers` is imported redundantly [INFO] [stdout] --> src/nes/cpu/controller.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 98 | use super::*; [INFO] [stdout] | -------- the item `Registers` is already imported here [INFO] [stdout] 99 | use nes::cpu::CpuBus; [INFO] [stdout] 100 | use nes::cpu::registers::Registers; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `CpuBus` is imported redundantly [INFO] [stdout] --> src/nes/cpu/calculator/tests/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::*; [INFO] [stdout] | -------- the item `CpuBus` is already imported here [INFO] [stdout] 2 | [INFO] [stdout] 3 | use nes::cpu::bus::CpuBus; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TilePosition` is imported redundantly [INFO] [stdout] --> src/nes/ppu/tile.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 39 | use super::*; [INFO] [stdout] | -------- the item `TilePosition` is already imported here [INFO] [stdout] 40 | use super::super::PaletteRam; [INFO] [stdout] 41 | use super::super::TilePosition; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/cpu/bus.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | 0x0000..0x07FF => self.wram.read(addr), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `2047_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `0_u16..=2047_u16` [INFO] [stdout] 31 | 0x0800..0x1FFF => self.wram.read(addr - 0x0800), [INFO] [stdout] | -------------- this could appear to continue range `0_u16..2047_u16`, but `2047_u16` isn't matched by either of them [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_contiguous_range_endpoints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/cpu/bus.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | 0x0800..0x1FFF => self.wram.read(addr - 0x0800), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `8191_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `2048_u16..=8191_u16` [INFO] [stdout] 32 | 0x2000..0x2007 => self.ppu.read(addr), [INFO] [stdout] | -------------- this could appear to continue range `2048_u16..8191_u16`, but `8191_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/cpu/bus.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | 0x2000..0x2007 => self.ppu.read(addr), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `8199_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `8192_u16..=8199_u16` [INFO] [stdout] 33 | 0x2008..0x3FFF => self.ppu.read(addr - 0x2008), [INFO] [stdout] | -------------- this could appear to continue range `8192_u16..8199_u16`, but `8199_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/cpu/bus.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | 0x8000..0xBFFF => { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `49151_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `32768_u16..=49151_u16` [INFO] [stdout] ... [INFO] [stdout] 45 | 0xC000..0xFFFF => self.cassette.read_program_rom(addr - 0x8000), [INFO] [stdout] | -------------- this could appear to continue range `32768_u16..49151_u16`, but `49151_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: exclusive range missing `u16::MAX` [INFO] [stdout] --> src/nes/cpu/bus.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | 0xC000..0xFFFF => self.cassette.read_program_rom(addr - 0x8000), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `u16::MAX` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `49152_u16..=u16::MAX` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/cpu/bus.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | 0x0000..0x07FF => self.wram.write(addr, data), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `2047_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `0_u16..=2047_u16` [INFO] [stdout] 60 | 0x0800..0x1FFF => self.wram.write(addr - 0x0800, data), [INFO] [stdout] | -------------- this could appear to continue range `0_u16..2047_u16`, but `2047_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/cpu/bus.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | 0x0800..0x1FFF => self.wram.write(addr - 0x0800, data), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `8191_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `2048_u16..=8191_u16` [INFO] [stdout] 61 | 0x2000..0x3FFF => self.ppu.write(addr - 0x2000, data), [INFO] [stdout] | -------------- this could appear to continue range `2048_u16..8191_u16`, but `8191_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/nes/cpu/opecode.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | / lazy_static! { [INFO] [stdout] 42 | | pub static ref OPECODE_MAP: HashMap = { [INFO] [stdout] 43 | | let cycles: Vec = [INFO] [stdout] 44 | | vec![7, 6, 2, 8, 3, 3, 5, 5, 3, 2, 2, 2, 4, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, [INFO] [stdout] ... | [INFO] [stdout] 89 | | }; [INFO] [stdout] 90 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/ppu/registers/ppu_data.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | 0x0000..0x1FFF => MapType::PatternTable, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `8191_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `0_u16..=8191_u16` [INFO] [stdout] 16 | 0x2000..0x2FFF => MapType::Vram, [INFO] [stdout] | -------------- this could appear to continue range `0_u16..8191_u16`, but `8191_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/ppu/registers/ppu_data.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | 0x2000..0x2FFF => MapType::Vram, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `12287_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `8192_u16..=12287_u16` [INFO] [stdout] 17 | 0x3000..0x3EFF => MapType::VramMirror, [INFO] [stdout] | -------------- this could appear to continue range `8192_u16..12287_u16`, but `12287_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/ppu/registers/ppu_data.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | 0x3000..0x3EFF => MapType::VramMirror, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `16127_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `12288_u16..=16127_u16` [INFO] [stdout] 18 | 0x3F00..0x3FFF => MapType::Palette, [INFO] [stdout] | -------------- this could appear to continue range `12288_u16..16127_u16`, but `16127_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read_character_rom` is never used [INFO] [stdout] --> src/nes/cassette/mod.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 66 | pub trait NesCassette { [INFO] [stdout] | ----------- method in this trait [INFO] [stdout] 67 | fn read_program_rom(&self, addr: u16) -> u8; [INFO] [stdout] 68 | fn read_character_rom(&self, addr: u16) -> u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nes/cassette/mod.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | IoError(io::Error), [INFO] [stdout] | ------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 89 | IoError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_bit` and `set_by_bit` are never used [INFO] [stdout] --> src/nes/cpu/registers.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl Status { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 56 | pub fn to_bit(&self) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn set_by_bit(&mut self, status: u8) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Accumulator` is never constructed [INFO] [stdout] --> src/nes/cpu/opecode.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum AddressingMode { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] 12 | Implied, [INFO] [stdout] 13 | Accumulator, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AddressingMode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read` is never used [INFO] [stdout] --> src/nes/ppu/registers/ppu_ctrl.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl PpuCtrl { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn read(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read` is never used [INFO] [stdout] --> src/nes/ppu/registers/ppu_mask.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl PpuMask { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn read(self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Sprite` is never constructed [INFO] [stdout] --> src/nes/ppu/palette_ram.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum PaletteType { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] 6 | Sprite, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/cpu/bus.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | 0x0000..0x07FF => self.wram.read(addr), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `2047_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `0_u16..=2047_u16` [INFO] [stdout] 31 | 0x0800..0x1FFF => self.wram.read(addr - 0x0800), [INFO] [stdout] | -------------- this could appear to continue range `0_u16..2047_u16`, but `2047_u16` isn't matched by either of them [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_contiguous_range_endpoints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/cpu/bus.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | 0x0800..0x1FFF => self.wram.read(addr - 0x0800), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `8191_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `2048_u16..=8191_u16` [INFO] [stdout] 32 | 0x2000..0x2007 => self.ppu.read(addr), [INFO] [stdout] | -------------- this could appear to continue range `2048_u16..8191_u16`, but `8191_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/cpu/bus.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | 0x2000..0x2007 => self.ppu.read(addr), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `8199_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `8192_u16..=8199_u16` [INFO] [stdout] 33 | 0x2008..0x3FFF => self.ppu.read(addr - 0x2008), [INFO] [stdout] | -------------- this could appear to continue range `8192_u16..8199_u16`, but `8199_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/cpu/bus.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | 0x8000..0xBFFF => { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `49151_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `32768_u16..=49151_u16` [INFO] [stdout] ... [INFO] [stdout] 45 | 0xC000..0xFFFF => self.cassette.read_program_rom(addr - 0x8000), [INFO] [stdout] | -------------- this could appear to continue range `32768_u16..49151_u16`, but `49151_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: exclusive range missing `u16::MAX` [INFO] [stdout] --> src/nes/cpu/bus.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | 0xC000..0xFFFF => self.cassette.read_program_rom(addr - 0x8000), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `u16::MAX` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `49152_u16..=u16::MAX` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/cpu/bus.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | 0x0000..0x07FF => self.wram.write(addr, data), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `2047_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `0_u16..=2047_u16` [INFO] [stdout] 60 | 0x0800..0x1FFF => self.wram.write(addr - 0x0800, data), [INFO] [stdout] | -------------- this could appear to continue range `0_u16..2047_u16`, but `2047_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/cpu/bus.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | 0x0800..0x1FFF => self.wram.write(addr - 0x0800, data), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `8191_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `2048_u16..=8191_u16` [INFO] [stdout] 61 | 0x2000..0x3FFF => self.ppu.write(addr - 0x2000, data), [INFO] [stdout] | -------------- this could appear to continue range `2048_u16..8191_u16`, but `8191_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/ppu/registers/ppu_data.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | 0x0000..0x1FFF => MapType::PatternTable, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `8191_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `0_u16..=8191_u16` [INFO] [stdout] 16 | 0x2000..0x2FFF => MapType::Vram, [INFO] [stdout] | -------------- this could appear to continue range `0_u16..8191_u16`, but `8191_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/ppu/registers/ppu_data.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | 0x2000..0x2FFF => MapType::Vram, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `12287_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `8192_u16..=12287_u16` [INFO] [stdout] 17 | 0x3000..0x3EFF => MapType::VramMirror, [INFO] [stdout] | -------------- this could appear to continue range `8192_u16..12287_u16`, but `12287_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple ranges are one apart [INFO] [stdout] --> src/nes/ppu/registers/ppu_data.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | 0x3000..0x3EFF => MapType::VramMirror, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this range doesn't match `16127_u16` because `..` is an exclusive range [INFO] [stdout] | help: use an inclusive range instead: `12288_u16..=16127_u16` [INFO] [stdout] 18 | 0x3F00..0x3FFF => MapType::Palette, [INFO] [stdout] | -------------- this could appear to continue range `12288_u16..16127_u16`, but `16127_u16` isn't matched by either of them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read_character_rom` is never used [INFO] [stdout] --> src/nes/cassette/mod.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 66 | pub trait NesCassette { [INFO] [stdout] | ----------- method in this trait [INFO] [stdout] 67 | fn read_program_rom(&self, addr: u16) -> u8; [INFO] [stdout] 68 | fn read_character_rom(&self, addr: u16) -> u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nes/cassette/mod.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | IoError(io::Error), [INFO] [stdout] | ------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 89 | IoError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Accumulator` is never constructed [INFO] [stdout] --> src/nes/cpu/opecode.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum AddressingMode { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] 12 | Implied, [INFO] [stdout] 13 | Accumulator, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AddressingMode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.77s [INFO] running `Command { std: "docker" "inspect" "b942e6b60a85987f7830d3dec2ca36f4a6f711ed1956dbee76afe15da7b021d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b942e6b60a85987f7830d3dec2ca36f4a6f711ed1956dbee76afe15da7b021d5", kill_on_drop: false }` [INFO] [stdout] b942e6b60a85987f7830d3dec2ca36f4a6f711ed1956dbee76afe15da7b021d5