[INFO] cloning repository https://github.com/triptolemusew/gbc [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/triptolemusew/gbc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftriptolemusew%2Fgbc", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftriptolemusew%2Fgbc'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9264b3e4d8daedc2e973ee06bfd1c15a426f5055 [INFO] testing triptolemusew/gbc against master#d7bd9cd469ff6871420007f091ef52fc32d2ca99 for pr-121417-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftriptolemusew%2Fgbc" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/triptolemusew/gbc on toolchain d7bd9cd469ff6871420007f091ef52fc32d2ca99 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d7bd9cd469ff6871420007f091ef52fc32d2ca99" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/triptolemusew/gbc [INFO] finished tweaking git repo https://github.com/triptolemusew/gbc [INFO] tweaked toml for git repo https://github.com/triptolemusew/gbc written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/triptolemusew/gbc 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" "+d7bd9cd469ff6871420007f091ef52fc32d2ca99" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded version-compare v0.0.10 [INFO] [stderr] Downloaded sdl2 v0.34.5 [INFO] [stderr] Downloaded sdl2-sys v0.34.5 [INFO] [stderr] Downloaded libc v0.2.126 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+d7bd9cd469ff6871420007f091ef52fc32d2ca99" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8845ab404c1dc2663d2af6ff92747f59cc61360c3bb6dd5943b6b1f13a0fc76b [INFO] running `Command { std: "docker" "start" "-a" "8845ab404c1dc2663d2af6ff92747f59cc61360c3bb6dd5943b6b1f13a0fc76b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8845ab404c1dc2663d2af6ff92747f59cc61360c3bb6dd5943b6b1f13a0fc76b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8845ab404c1dc2663d2af6ff92747f59cc61360c3bb6dd5943b6b1f13a0fc76b", kill_on_drop: false }` [INFO] [stdout] 8845ab404c1dc2663d2af6ff92747f59cc61360c3bb6dd5943b6b1f13a0fc76b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+d7bd9cd469ff6871420007f091ef52fc32d2ca99" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f55bf773b09e914bebf162f9ed54e296776b6687c9b7d0bead49a81df067840e [INFO] running `Command { std: "docker" "start" "-a" "f55bf773b09e914bebf162f9ed54e296776b6687c9b7d0bead49a81df067840e", kill_on_drop: false }` [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling gbc v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/cpu/flag.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/d7bd9cd469ff6871420007f091ef52fc32d2ca99/library/std/src/prelude/mod.rs:115:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/cpu/register.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/d7bd9cd469ff6871420007f091ef52fc32d2ca99/library/std/src/prelude/mod.rs:115:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mod.rs:21:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mod.rs:25:29 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/bus/mod.rs:25:40 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> src/cpu/mod.rs:74:42 [INFO] [stdout] | [INFO] [stdout] 74 | fn execute_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> src/cpu/mod.rs:86:51 [INFO] [stdout] | [INFO] [stdout] 86 | fn execute_extended_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycles` [INFO] [stdout] --> src/ppu/mod.rs:110:28 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn step(&mut self, cycles: u32) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `cart`, `wram`, and `hram` are never read [INFO] [stdout] --> src/bus/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Bus { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 5 | ppu: Ppu, [INFO] [stdout] 6 | cart: Cartridge, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | wram: [u8; 0x2000], [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | hram: [u8; 0x2000], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_word` is never used [INFO] [stdout] --> src/cpu/mod.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Cpu { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | fn get_word(&mut self, bus: &Bus) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ld` is never used [INFO] [stdout] --> src/cpu/instructions.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn ld() {} [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rst` is never used [INFO] [stdout] --> src/cpu/instructions.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn rst() {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `increment`, `decrement`, and `add` are never used [INFO] [stdout] --> src/cpu/register.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl RegisterPair { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | fn increment(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn decrement(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn add(&mut self, val: RegisterPair) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOCK_SPEED` is never used [INFO] [stdout] --> src/ppu/mod.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const CLOCK_SPEED: u32 = 4194304; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_RATE` is never used [INFO] [stdout] --> src/ppu/mod.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const FRAME_RATE: u32 = 60; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CYCLES_PER_FRAME` is never used [INFO] [stdout] --> src/ppu/mod.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const CYCLES_PER_FRAME: u32 = CLOCK_SPEED / FRAME_RATE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LCD_CONTROL_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const LCD_CONTROL_ADDR: u16 = 0xFF40; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LCD_STATUS_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const LCD_STATUS_ADDR: u16 = 0xFF41; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CURRENT_SCANLINE_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const CURRENT_SCANLINE_ADDR: u16 = 0xFF44; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const OAM_PERIOD: u32 = 80; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSFER_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const TRANSFER_PERIOD: u32 = OAM_PERIOD + 172; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HBLANK_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const HBLANK_PERIOD: u32 = 456; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const FRAME_PERIOD: u32 = HBLANK_PERIOD + 144; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VBLANK_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const VBLANK_PERIOD: u32 = FRAME_PERIOD + 4560; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StatusInterrupt` is never used [INFO] [stdout] --> src/ppu/mod.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | enum StatusInterrupt { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SdlColor` is never used [INFO] [stdout] --> src/ppu/mod.rs:72:6 [INFO] [stdout] | [INFO] [stdout] 72 | enum SdlColor { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SdlColor` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Instructions` should have a snake case name [INFO] [stdout] --> src/cpu/instructions.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod Instructions { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instructions` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.95s [INFO] running `Command { std: "docker" "inspect" "f55bf773b09e914bebf162f9ed54e296776b6687c9b7d0bead49a81df067840e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f55bf773b09e914bebf162f9ed54e296776b6687c9b7d0bead49a81df067840e", kill_on_drop: false }` [INFO] [stdout] f55bf773b09e914bebf162f9ed54e296776b6687c9b7d0bead49a81df067840e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+d7bd9cd469ff6871420007f091ef52fc32d2ca99" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d395d6bcf767f7c3debce5ccd5be337f286b05851abd2ff372ac03cb91d8bbbc [INFO] running `Command { std: "docker" "start" "-a" "d395d6bcf767f7c3debce5ccd5be337f286b05851abd2ff372ac03cb91d8bbbc", kill_on_drop: false }` [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/cpu/flag.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/d7bd9cd469ff6871420007f091ef52fc32d2ca99/library/std/src/prelude/mod.rs:115:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/cpu/register.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/d7bd9cd469ff6871420007f091ef52fc32d2ca99/library/std/src/prelude/mod.rs:115:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mod.rs:21:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mod.rs:25:29 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/bus/mod.rs:25:40 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> src/cpu/mod.rs:74:42 [INFO] [stdout] | [INFO] [stdout] 74 | fn execute_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> src/cpu/mod.rs:86:51 [INFO] [stdout] | [INFO] [stdout] 86 | fn execute_extended_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycles` [INFO] [stdout] --> src/ppu/mod.rs:110:28 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn step(&mut self, cycles: u32) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `cart`, `wram`, and `hram` are never read [INFO] [stdout] --> src/bus/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Bus { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 5 | ppu: Ppu, [INFO] [stdout] 6 | cart: Cartridge, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | wram: [u8; 0x2000], [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | hram: [u8; 0x2000], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_word` is never used [INFO] [stdout] --> src/cpu/mod.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Cpu { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | fn get_word(&mut self, bus: &Bus) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ld` is never used [INFO] [stdout] --> src/cpu/instructions.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn ld() {} [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rst` is never used [INFO] [stdout] --> src/cpu/instructions.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn rst() {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `increment`, `decrement`, and `add` are never used [INFO] [stdout] --> src/cpu/register.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl RegisterPair { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | fn increment(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn decrement(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn add(&mut self, val: RegisterPair) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOCK_SPEED` is never used [INFO] [stdout] --> src/ppu/mod.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const CLOCK_SPEED: u32 = 4194304; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_RATE` is never used [INFO] [stdout] --> src/ppu/mod.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const FRAME_RATE: u32 = 60; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CYCLES_PER_FRAME` is never used [INFO] [stdout] --> src/ppu/mod.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const CYCLES_PER_FRAME: u32 = CLOCK_SPEED / FRAME_RATE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LCD_CONTROL_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const LCD_CONTROL_ADDR: u16 = 0xFF40; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LCD_STATUS_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const LCD_STATUS_ADDR: u16 = 0xFF41; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CURRENT_SCANLINE_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const CURRENT_SCANLINE_ADDR: u16 = 0xFF44; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const OAM_PERIOD: u32 = 80; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSFER_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const TRANSFER_PERIOD: u32 = OAM_PERIOD + 172; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HBLANK_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const HBLANK_PERIOD: u32 = 456; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const FRAME_PERIOD: u32 = HBLANK_PERIOD + 144; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VBLANK_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const VBLANK_PERIOD: u32 = FRAME_PERIOD + 4560; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StatusInterrupt` is never used [INFO] [stdout] --> src/ppu/mod.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | enum StatusInterrupt { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SdlColor` is never used [INFO] [stdout] --> src/ppu/mod.rs:72:6 [INFO] [stdout] | [INFO] [stdout] 72 | enum SdlColor { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SdlColor` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Instructions` should have a snake case name [INFO] [stdout] --> src/cpu/instructions.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod Instructions { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instructions` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling gbc v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/cpu/flag.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/d7bd9cd469ff6871420007f091ef52fc32d2ca99/library/std/src/prelude/mod.rs:115:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/cpu/register.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/d7bd9cd469ff6871420007f091ef52fc32d2ca99/library/std/src/prelude/mod.rs:115:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mod.rs:21:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mod.rs:25:29 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/bus/mod.rs:25:40 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> src/cpu/mod.rs:74:42 [INFO] [stdout] | [INFO] [stdout] 74 | fn execute_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> src/cpu/mod.rs:86:51 [INFO] [stdout] | [INFO] [stdout] 86 | fn execute_extended_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycles` [INFO] [stdout] --> src/ppu/mod.rs:110:28 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn step(&mut self, cycles: u32) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `cart`, `wram`, and `hram` are never read [INFO] [stdout] --> src/bus/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Bus { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 5 | ppu: Ppu, [INFO] [stdout] 6 | cart: Cartridge, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | wram: [u8; 0x2000], [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | hram: [u8; 0x2000], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_word` is never used [INFO] [stdout] --> src/cpu/mod.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Cpu { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | fn get_word(&mut self, bus: &Bus) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ld` is never used [INFO] [stdout] --> src/cpu/instructions.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn ld() {} [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rst` is never used [INFO] [stdout] --> src/cpu/instructions.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn rst() {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `increment`, `decrement`, and `add` are never used [INFO] [stdout] --> src/cpu/register.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl RegisterPair { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | fn increment(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn decrement(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn add(&mut self, val: RegisterPair) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOCK_SPEED` is never used [INFO] [stdout] --> src/ppu/mod.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const CLOCK_SPEED: u32 = 4194304; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_RATE` is never used [INFO] [stdout] --> src/ppu/mod.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const FRAME_RATE: u32 = 60; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CYCLES_PER_FRAME` is never used [INFO] [stdout] --> src/ppu/mod.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const CYCLES_PER_FRAME: u32 = CLOCK_SPEED / FRAME_RATE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LCD_CONTROL_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const LCD_CONTROL_ADDR: u16 = 0xFF40; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LCD_STATUS_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const LCD_STATUS_ADDR: u16 = 0xFF41; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CURRENT_SCANLINE_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const CURRENT_SCANLINE_ADDR: u16 = 0xFF44; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const OAM_PERIOD: u32 = 80; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSFER_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const TRANSFER_PERIOD: u32 = OAM_PERIOD + 172; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HBLANK_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const HBLANK_PERIOD: u32 = 456; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const FRAME_PERIOD: u32 = HBLANK_PERIOD + 144; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VBLANK_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const VBLANK_PERIOD: u32 = FRAME_PERIOD + 4560; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StatusInterrupt` is never used [INFO] [stdout] --> src/ppu/mod.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | enum StatusInterrupt { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SdlColor` is never used [INFO] [stdout] --> src/ppu/mod.rs:72:6 [INFO] [stdout] | [INFO] [stdout] 72 | enum SdlColor { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SdlColor` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Instructions` should have a snake case name [INFO] [stdout] --> src/cpu/instructions.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod Instructions { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instructions` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.83s [INFO] running `Command { std: "docker" "inspect" "d395d6bcf767f7c3debce5ccd5be337f286b05851abd2ff372ac03cb91d8bbbc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d395d6bcf767f7c3debce5ccd5be337f286b05851abd2ff372ac03cb91d8bbbc", kill_on_drop: false }` [INFO] [stdout] d395d6bcf767f7c3debce5ccd5be337f286b05851abd2ff372ac03cb91d8bbbc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+d7bd9cd469ff6871420007f091ef52fc32d2ca99" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c132af1cbab3e020e2b430cb847a584e726544c5659018315df7333caf4a9bef [INFO] running `Command { std: "docker" "start" "-a" "c132af1cbab3e020e2b430cb847a584e726544c5659018315df7333caf4a9bef", kill_on_drop: false }` [INFO] [stderr] warning: the item `From` is imported redundantly [INFO] [stderr] --> src/cpu/flag.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::convert::From; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] --> /rustc/d7bd9cd469ff6871420007f091ef52fc32d2ca99/library/std/src/prelude/mod.rs:115:13 [INFO] [stderr] | [INFO] [stderr] = note: the item `From` is already defined here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: the item `From` is imported redundantly [INFO] [stderr] --> src/cpu/register.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::convert::From; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] --> /rustc/d7bd9cd469ff6871420007f091ef52fc32d2ca99/library/std/src/prelude/mod.rs:115:13 [INFO] [stderr] | [INFO] [stderr] = note: the item `From` is already defined here [INFO] [stderr] [INFO] [stderr] warning: unused variable: `addr` [INFO] [stderr] --> src/bus/mod.rs:21:24 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn read(&self, addr: u16) -> u8 { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `addr` [INFO] [stderr] --> src/bus/mod.rs:25:29 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/bus/mod.rs:25:40 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bus` [INFO] [stderr] --> src/cpu/mod.rs:74:42 [INFO] [stderr] | [INFO] [stderr] 74 | fn execute_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bus` [INFO] [stderr] --> src/cpu/mod.rs:86:51 [INFO] [stderr] | [INFO] [stderr] 86 | fn execute_extended_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cycles` [INFO] [stderr] --> src/ppu/mod.rs:110:28 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn step(&mut self, cycles: u32) {} [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stderr] [INFO] [stderr] warning: fields `cart`, `wram`, and `hram` are never read [INFO] [stderr] --> src/bus/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct Bus { [INFO] [stderr] | --- fields in this struct [INFO] [stderr] 5 | ppu: Ppu, [INFO] [stderr] 6 | cart: Cartridge, [INFO] [stderr] | ^^^^ [INFO] [stderr] 7 | wram: [u8; 0x2000], [INFO] [stderr] | ^^^^ [INFO] [stderr] 8 | hram: [u8; 0x2000], [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `get_word` is never used [INFO] [stderr] --> src/cpu/mod.rs:53:8 [INFO] [stderr] | [INFO] [stderr] 30 | impl Cpu { [INFO] [stderr] | -------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 53 | fn get_word(&mut self, bus: &Bus) -> u16 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `ld` is never used [INFO] [stderr] --> src/cpu/instructions.rs:2:12 [INFO] [stderr] | [INFO] [stderr] 2 | pub fn ld() {} [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: function `rst` is never used [INFO] [stderr] --> src/cpu/instructions.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn rst() {} [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `increment`, `decrement`, and `add` are never used [INFO] [stderr] --> src/cpu/register.rs:19:8 [INFO] [stderr] | [INFO] [stderr] 10 | impl RegisterPair { [INFO] [stderr] | ----------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 19 | fn increment(&mut self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 31 | fn decrement(&mut self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 43 | fn add(&mut self, val: RegisterPair) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CLOCK_SPEED` is never used [INFO] [stderr] --> src/ppu/mod.rs:3:7 [INFO] [stderr] | [INFO] [stderr] 3 | const CLOCK_SPEED: u32 = 4194304; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `FRAME_RATE` is never used [INFO] [stderr] --> src/ppu/mod.rs:4:7 [INFO] [stderr] | [INFO] [stderr] 4 | const FRAME_RATE: u32 = 60; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CYCLES_PER_FRAME` is never used [INFO] [stderr] --> src/ppu/mod.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | const CYCLES_PER_FRAME: u32 = CLOCK_SPEED / FRAME_RATE; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LCD_CONTROL_ADDR` is never used [INFO] [stderr] --> src/ppu/mod.rs:7:7 [INFO] [stderr] | [INFO] [stderr] 7 | const LCD_CONTROL_ADDR: u16 = 0xFF40; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LCD_STATUS_ADDR` is never used [INFO] [stderr] --> src/ppu/mod.rs:8:7 [INFO] [stderr] | [INFO] [stderr] 8 | const LCD_STATUS_ADDR: u16 = 0xFF41; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CURRENT_SCANLINE_ADDR` is never used [INFO] [stderr] --> src/ppu/mod.rs:10:7 [INFO] [stderr] | [INFO] [stderr] 10 | const CURRENT_SCANLINE_ADDR: u16 = 0xFF44; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `OAM_PERIOD` is never used [INFO] [stderr] --> src/ppu/mod.rs:12:7 [INFO] [stderr] | [INFO] [stderr] 12 | const OAM_PERIOD: u32 = 80; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `TRANSFER_PERIOD` is never used [INFO] [stderr] --> src/ppu/mod.rs:13:7 [INFO] [stderr] | [INFO] [stderr] 13 | const TRANSFER_PERIOD: u32 = OAM_PERIOD + 172; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HBLANK_PERIOD` is never used [INFO] [stderr] --> src/ppu/mod.rs:14:7 [INFO] [stderr] | [INFO] [stderr] 14 | const HBLANK_PERIOD: u32 = 456; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `FRAME_PERIOD` is never used [INFO] [stderr] --> src/ppu/mod.rs:15:7 [INFO] [stderr] | [INFO] [stderr] 15 | const FRAME_PERIOD: u32 = HBLANK_PERIOD + 144; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `VBLANK_PERIOD` is never used [INFO] [stderr] --> src/ppu/mod.rs:16:7 [INFO] [stderr] | [INFO] [stderr] 16 | const VBLANK_PERIOD: u32 = FRAME_PERIOD + 4560; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `StatusInterrupt` is never used [INFO] [stderr] --> src/ppu/mod.rs:26:6 [INFO] [stderr] | [INFO] [stderr] 26 | enum StatusInterrupt { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `SdlColor` is never used [INFO] [stderr] --> src/ppu/mod.rs:72:6 [INFO] [stderr] | [INFO] [stderr] 72 | enum SdlColor { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SdlColor` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: module `Instructions` should have a snake case name [INFO] [stderr] --> src/cpu/instructions.rs:1:9 [INFO] [stderr] | [INFO] [stderr] 1 | pub mod Instructions { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instructions` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `gbc` (lib) generated 27 warnings [INFO] [stderr] warning: `gbc` (lib test) generated 27 warnings (27 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gbc-827c4184304dec17) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/native-22932cfdaa32ce0e) [INFO] [stderr] Doc-tests gbc [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" "c132af1cbab3e020e2b430cb847a584e726544c5659018315df7333caf4a9bef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c132af1cbab3e020e2b430cb847a584e726544c5659018315df7333caf4a9bef", kill_on_drop: false }` [INFO] [stdout] c132af1cbab3e020e2b430cb847a584e726544c5659018315df7333caf4a9bef [INFO] testing triptolemusew/gbc against try#393ef12c970fbc7f294cd96c35cb76f9591bc1d6 for pr-121417-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftriptolemusew%2Fgbc" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/triptolemusew/gbc on toolchain 393ef12c970fbc7f294cd96c35cb76f9591bc1d6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+393ef12c970fbc7f294cd96c35cb76f9591bc1d6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/triptolemusew/gbc [INFO] finished tweaking git repo https://github.com/triptolemusew/gbc [INFO] tweaked toml for git repo https://github.com/triptolemusew/gbc written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/triptolemusew/gbc 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" "+393ef12c970fbc7f294cd96c35cb76f9591bc1d6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+393ef12c970fbc7f294cd96c35cb76f9591bc1d6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4102c879361612530e2f3a54221482539f29a4282ee2df0fdd7cd328fd3c03d6 [INFO] running `Command { std: "docker" "start" "-a" "4102c879361612530e2f3a54221482539f29a4282ee2df0fdd7cd328fd3c03d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4102c879361612530e2f3a54221482539f29a4282ee2df0fdd7cd328fd3c03d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4102c879361612530e2f3a54221482539f29a4282ee2df0fdd7cd328fd3c03d6", kill_on_drop: false }` [INFO] [stdout] 4102c879361612530e2f3a54221482539f29a4282ee2df0fdd7cd328fd3c03d6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+393ef12c970fbc7f294cd96c35cb76f9591bc1d6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7f092c8e82beb560dab2a8f709d467c24bf5c7f2869f00170a3e9b28af10fed1 [INFO] running `Command { std: "docker" "start" "-a" "7f092c8e82beb560dab2a8f709d467c24bf5c7f2869f00170a3e9b28af10fed1", kill_on_drop: false }` [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling gbc v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/cpu/flag.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/393ef12c970fbc7f294cd96c35cb76f9591bc1d6/library/std/src/prelude/mod.rs:115:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/cpu/register.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/393ef12c970fbc7f294cd96c35cb76f9591bc1d6/library/std/src/prelude/mod.rs:115:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mod.rs:21:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mod.rs:25:29 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/bus/mod.rs:25:40 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> src/cpu/mod.rs:74:42 [INFO] [stdout] | [INFO] [stdout] 74 | fn execute_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> src/cpu/mod.rs:86:51 [INFO] [stdout] | [INFO] [stdout] 86 | fn execute_extended_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycles` [INFO] [stdout] --> src/ppu/mod.rs:110:28 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn step(&mut self, cycles: u32) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `cart`, `wram`, and `hram` are never read [INFO] [stdout] --> src/bus/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Bus { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 5 | ppu: Ppu, [INFO] [stdout] 6 | cart: Cartridge, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | wram: [u8; 0x2000], [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | hram: [u8; 0x2000], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_word` is never used [INFO] [stdout] --> src/cpu/mod.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Cpu { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | fn get_word(&mut self, bus: &Bus) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ld` is never used [INFO] [stdout] --> src/cpu/instructions.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn ld() {} [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rst` is never used [INFO] [stdout] --> src/cpu/instructions.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn rst() {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `increment`, `decrement`, and `add` are never used [INFO] [stdout] --> src/cpu/register.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl RegisterPair { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | fn increment(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn decrement(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn add(&mut self, val: RegisterPair) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOCK_SPEED` is never used [INFO] [stdout] --> src/ppu/mod.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const CLOCK_SPEED: u32 = 4194304; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_RATE` is never used [INFO] [stdout] --> src/ppu/mod.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const FRAME_RATE: u32 = 60; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CYCLES_PER_FRAME` is never used [INFO] [stdout] --> src/ppu/mod.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const CYCLES_PER_FRAME: u32 = CLOCK_SPEED / FRAME_RATE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LCD_CONTROL_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const LCD_CONTROL_ADDR: u16 = 0xFF40; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LCD_STATUS_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const LCD_STATUS_ADDR: u16 = 0xFF41; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CURRENT_SCANLINE_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const CURRENT_SCANLINE_ADDR: u16 = 0xFF44; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const OAM_PERIOD: u32 = 80; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSFER_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const TRANSFER_PERIOD: u32 = OAM_PERIOD + 172; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HBLANK_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const HBLANK_PERIOD: u32 = 456; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const FRAME_PERIOD: u32 = HBLANK_PERIOD + 144; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VBLANK_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const VBLANK_PERIOD: u32 = FRAME_PERIOD + 4560; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StatusInterrupt` is never used [INFO] [stdout] --> src/ppu/mod.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | enum StatusInterrupt { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SdlColor` is never used [INFO] [stdout] --> src/ppu/mod.rs:72:6 [INFO] [stdout] | [INFO] [stdout] 72 | enum SdlColor { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SdlColor` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Instructions` should have a snake case name [INFO] [stdout] --> src/cpu/instructions.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod Instructions { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instructions` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.03s [INFO] running `Command { std: "docker" "inspect" "7f092c8e82beb560dab2a8f709d467c24bf5c7f2869f00170a3e9b28af10fed1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7f092c8e82beb560dab2a8f709d467c24bf5c7f2869f00170a3e9b28af10fed1", kill_on_drop: false }` [INFO] [stdout] 7f092c8e82beb560dab2a8f709d467c24bf5c7f2869f00170a3e9b28af10fed1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+393ef12c970fbc7f294cd96c35cb76f9591bc1d6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 30a1613674b3d0f99af53fc65e0476553322dd4eea0399559d9cb3603c43b73d [INFO] running `Command { std: "docker" "start" "-a" "30a1613674b3d0f99af53fc65e0476553322dd4eea0399559d9cb3603c43b73d", kill_on_drop: false }` [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/cpu/flag.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/393ef12c970fbc7f294cd96c35cb76f9591bc1d6/library/std/src/prelude/mod.rs:115:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/cpu/register.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/393ef12c970fbc7f294cd96c35cb76f9591bc1d6/library/std/src/prelude/mod.rs:115:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mod.rs:21:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mod.rs:25:29 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/bus/mod.rs:25:40 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> src/cpu/mod.rs:74:42 [INFO] [stdout] | [INFO] [stdout] 74 | fn execute_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> src/cpu/mod.rs:86:51 [INFO] [stdout] | [INFO] [stdout] 86 | fn execute_extended_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycles` [INFO] [stdout] --> src/ppu/mod.rs:110:28 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn step(&mut self, cycles: u32) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `cart`, `wram`, and `hram` are never read [INFO] [stdout] --> src/bus/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Bus { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 5 | ppu: Ppu, [INFO] [stdout] 6 | cart: Cartridge, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | wram: [u8; 0x2000], [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | hram: [u8; 0x2000], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_word` is never used [INFO] [stdout] --> src/cpu/mod.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Cpu { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | fn get_word(&mut self, bus: &Bus) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ld` is never used [INFO] [stdout] --> src/cpu/instructions.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn ld() {} [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rst` is never used [INFO] [stdout] --> src/cpu/instructions.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn rst() {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `increment`, `decrement`, and `add` are never used [INFO] [stdout] --> src/cpu/register.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl RegisterPair { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | fn increment(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn decrement(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn add(&mut self, val: RegisterPair) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOCK_SPEED` is never used [INFO] [stdout] --> src/ppu/mod.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const CLOCK_SPEED: u32 = 4194304; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_RATE` is never used [INFO] [stdout] --> src/ppu/mod.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const FRAME_RATE: u32 = 60; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CYCLES_PER_FRAME` is never used [INFO] [stdout] --> src/ppu/mod.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const CYCLES_PER_FRAME: u32 = CLOCK_SPEED / FRAME_RATE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LCD_CONTROL_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const LCD_CONTROL_ADDR: u16 = 0xFF40; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LCD_STATUS_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const LCD_STATUS_ADDR: u16 = 0xFF41; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CURRENT_SCANLINE_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const CURRENT_SCANLINE_ADDR: u16 = 0xFF44; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const OAM_PERIOD: u32 = 80; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSFER_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const TRANSFER_PERIOD: u32 = OAM_PERIOD + 172; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HBLANK_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const HBLANK_PERIOD: u32 = 456; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const FRAME_PERIOD: u32 = HBLANK_PERIOD + 144; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling gbc v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: constant `VBLANK_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const VBLANK_PERIOD: u32 = FRAME_PERIOD + 4560; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StatusInterrupt` is never used [INFO] [stdout] --> src/ppu/mod.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | enum StatusInterrupt { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SdlColor` is never used [INFO] [stdout] --> src/ppu/mod.rs:72:6 [INFO] [stdout] | [INFO] [stdout] 72 | enum SdlColor { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SdlColor` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Instructions` should have a snake case name [INFO] [stdout] --> src/cpu/instructions.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod Instructions { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instructions` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/cpu/flag.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/393ef12c970fbc7f294cd96c35cb76f9591bc1d6/library/std/src/prelude/mod.rs:115:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/cpu/register.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/393ef12c970fbc7f294cd96c35cb76f9591bc1d6/library/std/src/prelude/mod.rs:115:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mod.rs:21:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mod.rs:25:29 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/bus/mod.rs:25:40 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> src/cpu/mod.rs:74:42 [INFO] [stdout] | [INFO] [stdout] 74 | fn execute_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> src/cpu/mod.rs:86:51 [INFO] [stdout] | [INFO] [stdout] 86 | fn execute_extended_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycles` [INFO] [stdout] --> src/ppu/mod.rs:110:28 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn step(&mut self, cycles: u32) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `cart`, `wram`, and `hram` are never read [INFO] [stdout] --> src/bus/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Bus { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 5 | ppu: Ppu, [INFO] [stdout] 6 | cart: Cartridge, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | wram: [u8; 0x2000], [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | hram: [u8; 0x2000], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_word` is never used [INFO] [stdout] --> src/cpu/mod.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Cpu { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | fn get_word(&mut self, bus: &Bus) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ld` is never used [INFO] [stdout] --> src/cpu/instructions.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn ld() {} [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rst` is never used [INFO] [stdout] --> src/cpu/instructions.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn rst() {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `increment`, `decrement`, and `add` are never used [INFO] [stdout] --> src/cpu/register.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl RegisterPair { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | fn increment(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn decrement(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn add(&mut self, val: RegisterPair) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOCK_SPEED` is never used [INFO] [stdout] --> src/ppu/mod.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const CLOCK_SPEED: u32 = 4194304; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_RATE` is never used [INFO] [stdout] --> src/ppu/mod.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const FRAME_RATE: u32 = 60; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CYCLES_PER_FRAME` is never used [INFO] [stdout] --> src/ppu/mod.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const CYCLES_PER_FRAME: u32 = CLOCK_SPEED / FRAME_RATE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LCD_CONTROL_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const LCD_CONTROL_ADDR: u16 = 0xFF40; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LCD_STATUS_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const LCD_STATUS_ADDR: u16 = 0xFF41; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CURRENT_SCANLINE_ADDR` is never used [INFO] [stdout] --> src/ppu/mod.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const CURRENT_SCANLINE_ADDR: u16 = 0xFF44; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const OAM_PERIOD: u32 = 80; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSFER_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const TRANSFER_PERIOD: u32 = OAM_PERIOD + 172; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HBLANK_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const HBLANK_PERIOD: u32 = 456; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const FRAME_PERIOD: u32 = HBLANK_PERIOD + 144; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VBLANK_PERIOD` is never used [INFO] [stdout] --> src/ppu/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const VBLANK_PERIOD: u32 = FRAME_PERIOD + 4560; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StatusInterrupt` is never used [INFO] [stdout] --> src/ppu/mod.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | enum StatusInterrupt { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SdlColor` is never used [INFO] [stdout] --> src/ppu/mod.rs:72:6 [INFO] [stdout] | [INFO] [stdout] 72 | enum SdlColor { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SdlColor` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Instructions` should have a snake case name [INFO] [stdout] --> src/cpu/instructions.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod Instructions { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instructions` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.78s [INFO] running `Command { std: "docker" "inspect" "30a1613674b3d0f99af53fc65e0476553322dd4eea0399559d9cb3603c43b73d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "30a1613674b3d0f99af53fc65e0476553322dd4eea0399559d9cb3603c43b73d", kill_on_drop: false }` [INFO] [stdout] 30a1613674b3d0f99af53fc65e0476553322dd4eea0399559d9cb3603c43b73d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+393ef12c970fbc7f294cd96c35cb76f9591bc1d6" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f4ed8398610370b3872e2ec89b56855556fc3cec3d3e38e60ef16da3238fbe2e [INFO] running `Command { std: "docker" "start" "-a" "f4ed8398610370b3872e2ec89b56855556fc3cec3d3e38e60ef16da3238fbe2e", kill_on_drop: false }` [INFO] [stderr] warning: the item `From` is imported redundantly [INFO] [stderr] --> src/cpu/flag.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::convert::From; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] --> /rustc/393ef12c970fbc7f294cd96c35cb76f9591bc1d6/library/std/src/prelude/mod.rs:115:13 [INFO] [stderr] | [INFO] [stderr] = note: the item `From` is already defined here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: the item `From` is imported redundantly [INFO] [stderr] --> src/cpu/register.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::convert::From; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] --> /rustc/393ef12c970fbc7f294cd96c35cb76f9591bc1d6/library/std/src/prelude/mod.rs:115:13 [INFO] [stderr] | [INFO] [stderr] = note: the item `From` is already defined here [INFO] [stderr] [INFO] [stderr] warning: unused variable: `addr` [INFO] [stderr] --> src/bus/mod.rs:21:24 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn read(&self, addr: u16) -> u8 { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `addr` [INFO] [stderr] --> src/bus/mod.rs:25:29 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/bus/mod.rs:25:40 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn write(&mut self, addr: u16, data: u8) {} [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bus` [INFO] [stderr] --> src/cpu/mod.rs:74:42 [INFO] [stderr] | [INFO] [stderr] 74 | fn execute_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bus` [INFO] [stderr] --> src/cpu/mod.rs:86:51 [INFO] [stderr] | [INFO] [stderr] 86 | fn execute_extended_opcode(&mut self, op: u8, bus: &mut Bus) -> &u32 { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cycles` [INFO] [stderr] --> src/ppu/mod.rs:110:28 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn step(&mut self, cycles: u32) {} [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stderr] [INFO] [stderr] warning: fields `cart`, `wram`, and `hram` are never read [INFO] [stderr] --> src/bus/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct Bus { [INFO] [stderr] | --- fields in this struct [INFO] [stderr] 5 | ppu: Ppu, [INFO] [stderr] 6 | cart: Cartridge, [INFO] [stderr] | ^^^^ [INFO] [stderr] 7 | wram: [u8; 0x2000], [INFO] [stderr] | ^^^^ [INFO] [stderr] 8 | hram: [u8; 0x2000], [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `get_word` is never used [INFO] [stderr] --> src/cpu/mod.rs:53:8 [INFO] [stderr] | [INFO] [stderr] 30 | impl Cpu { [INFO] [stderr] | -------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 53 | fn get_word(&mut self, bus: &Bus) -> u16 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `ld` is never used [INFO] [stderr] --> src/cpu/instructions.rs:2:12 [INFO] [stderr] | [INFO] [stderr] 2 | pub fn ld() {} [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: function `rst` is never used [INFO] [stderr] --> src/cpu/instructions.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn rst() {} [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `increment`, `decrement`, and `add` are never used [INFO] [stderr] --> src/cpu/register.rs:19:8 [INFO] [stderr] | [INFO] [stderr] 10 | impl RegisterPair { [INFO] [stderr] | ----------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 19 | fn increment(&mut self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 31 | fn decrement(&mut self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 43 | fn add(&mut self, val: RegisterPair) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CLOCK_SPEED` is never used [INFO] [stderr] --> src/ppu/mod.rs:3:7 [INFO] [stderr] | [INFO] [stderr] 3 | const CLOCK_SPEED: u32 = 4194304; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `FRAME_RATE` is never used [INFO] [stderr] --> src/ppu/mod.rs:4:7 [INFO] [stderr] | [INFO] [stderr] 4 | const FRAME_RATE: u32 = 60; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CYCLES_PER_FRAME` is never used [INFO] [stderr] --> src/ppu/mod.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | const CYCLES_PER_FRAME: u32 = CLOCK_SPEED / FRAME_RATE; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LCD_CONTROL_ADDR` is never used [INFO] [stderr] --> src/ppu/mod.rs:7:7 [INFO] [stderr] | [INFO] [stderr] 7 | const LCD_CONTROL_ADDR: u16 = 0xFF40; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LCD_STATUS_ADDR` is never used [INFO] [stderr] --> src/ppu/mod.rs:8:7 [INFO] [stderr] | [INFO] [stderr] 8 | const LCD_STATUS_ADDR: u16 = 0xFF41; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CURRENT_SCANLINE_ADDR` is never used [INFO] [stderr] --> src/ppu/mod.rs:10:7 [INFO] [stderr] | [INFO] [stderr] 10 | const CURRENT_SCANLINE_ADDR: u16 = 0xFF44; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `OAM_PERIOD` is never used [INFO] [stderr] --> src/ppu/mod.rs:12:7 [INFO] [stderr] | [INFO] [stderr] 12 | const OAM_PERIOD: u32 = 80; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `TRANSFER_PERIOD` is never used [INFO] [stderr] --> src/ppu/mod.rs:13:7 [INFO] [stderr] | [INFO] [stderr] 13 | const TRANSFER_PERIOD: u32 = OAM_PERIOD + 172; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HBLANK_PERIOD` is never used [INFO] [stderr] --> src/ppu/mod.rs:14:7 [INFO] [stderr] | [INFO] [stderr] 14 | const HBLANK_PERIOD: u32 = 456; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `FRAME_PERIOD` is never used [INFO] [stderr] --> src/ppu/mod.rs:15:7 [INFO] [stderr] | [INFO] [stderr] 15 | const FRAME_PERIOD: u32 = HBLANK_PERIOD + 144; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `VBLANK_PERIOD` is never used [INFO] [stderr] --> src/ppu/mod.rs:16:7 [INFO] [stderr] | [INFO] [stderr] 16 | const VBLANK_PERIOD: u32 = FRAME_PERIOD + 4560; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `StatusInterrupt` is never used [INFO] [stderr] --> src/ppu/mod.rs:26:6 [INFO] [stderr] | [INFO] [stderr] 26 | enum StatusInterrupt { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `SdlColor` is never used [INFO] [stderr] --> src/ppu/mod.rs:72:6 [INFO] [stderr] | [INFO] [stderr] 72 | enum SdlColor { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SdlColor` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: module `Instructions` should have a snake case name [INFO] [stderr] --> src/cpu/instructions.rs:1:9 [INFO] [stderr] | [INFO] [stderr] 1 | pub mod Instructions { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `instructions` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `gbc` (lib) generated 27 warnings [INFO] [stdout] [INFO] [stderr] warning: `gbc` (lib test) generated 27 warnings (27 duplicates) [INFO] [stdout] running 0 tests [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gbc-827c4184304dec17) [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/native-22932cfdaa32ce0e) [INFO] [stdout] [INFO] [stderr] Doc-tests gbc [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" "f4ed8398610370b3872e2ec89b56855556fc3cec3d3e38e60ef16da3238fbe2e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f4ed8398610370b3872e2ec89b56855556fc3cec3d3e38e60ef16da3238fbe2e", kill_on_drop: false }` [INFO] [stdout] f4ed8398610370b3872e2ec89b56855556fc3cec3d3e38e60ef16da3238fbe2e