[INFO] cloning repository https://github.com/hkamran/RustyBoy [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hkamran/RustyBoy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhkamran%2FRustyBoy", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhkamran%2FRustyBoy'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c47eb7a2ca2b88a2a43bb407d3abab204fa7d998 [INFO] checking hkamran/RustyBoy against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhkamran%2FRustyBoy" "/workspace/builds/worker-12/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/hkamran/RustyBoy on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/hkamran/RustyBoy [INFO] finished tweaking git repo https://github.com/hkamran/RustyBoy [INFO] tweaked toml for git repo https://github.com/hkamran/RustyBoy written to /workspace/builds/worker-12/source/Cargo.toml [INFO] crate git repo https://github.com/hkamran/RustyBoy already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: Found `debug_assertions` in `target.'cfg(...)'.dependencies`. This value is not supported for selecting dependencies and will not work as expected. To learn more visit https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies [INFO] [stderr] warning: unused manifest key: target.wasm32-unknown-unknown.rustflags [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 318f0b691b9f3392377d742cff6e9cb8b1ff587fecb9bb8902195ce4b96a7e52 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "318f0b691b9f3392377d742cff6e9cb8b1ff587fecb9bb8902195ce4b96a7e52", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "318f0b691b9f3392377d742cff6e9cb8b1ff587fecb9bb8902195ce4b96a7e52", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "318f0b691b9f3392377d742cff6e9cb8b1ff587fecb9bb8902195ce4b96a7e52", kill_on_drop: false }` [INFO] [stdout] 318f0b691b9f3392377d742cff6e9cb8b1ff587fecb9bb8902195ce4b96a7e52 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 54127c70bed83052d76e66dd1b610d4aa3cc7defdebcb0e1085872e9e2902d1e [INFO] running `Command { std: "docker" "start" "-a" "54127c70bed83052d76e66dd1b610d4aa3cc7defdebcb0e1085872e9e2902d1e", kill_on_drop: false }` [INFO] [stderr] warning: Found `debug_assertions` in `target.'cfg(...)'.dependencies`. This value is not supported for selecting dependencies and will not work as expected. To learn more visit https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies [INFO] [stderr] warning: unused manifest key: target.wasm32-unknown-unknown.rustflags [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling bumpalo v3.4.0 [INFO] [stderr] Compiling wasm-bindgen v0.2.69 [INFO] [stderr] Compiling serde_derive v1.0.118 [INFO] [stderr] Checking scoped-tls v1.0.0 [INFO] [stderr] Checking serde_json v1.0.60 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.2.50 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling syn v1.0.54 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.69 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.69 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.69 [INFO] [stderr] Checking js-sys v0.3.46 [INFO] [stderr] Checking console_error_panic_hook v0.1.6 [INFO] [stderr] Checking web-sys v0.3.46 [INFO] [stderr] Checking wasm-bindgen-futures v0.3.27 [INFO] [stderr] Checking wasm-bindgen-test v0.2.50 [INFO] [stderr] Checking rust-webpack-template v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::logger::log` [INFO] [stdout] --> src/cpu.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::logger::log; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::psg::Psg` [INFO] [stdout] --> src/mmu.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::psg::Psg; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/mmu.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/mmu.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::CanvasRenderingContext2d` [INFO] [stdout] --> src/console.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use web_sys::CanvasRenderingContext2d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Joypad` [INFO] [stdout] --> src/console.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::joypad::{Joypad, Button}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::logger::log` [INFO] [stdout] --> src/ppu.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::logger::log; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mmu::Mmu` [INFO] [stdout] --> src/ppu.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::mmu::Mmu; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::CanvasRenderingContext2d` [INFO] [stdout] --> src/ppu.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use web_sys::CanvasRenderingContext2d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `js_sys::*` [INFO] [stdout] --> src/ppu.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use js_sys::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/ppu.rs:305:41 [INFO] [stdout] | [INFO] [stdout] 305 | for display_x in 0 .. SCREEN_W {; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/ppu.rs:307:32 [INFO] [stdout] | [INFO] [stdout] 307 | let mut window_x = (-((self.window_x_coord as i32) - 7) + (display_x as i32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/cartridge.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/cartridge.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ppu::Ppu` [INFO] [stdout] --> src/dma.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::ppu::Ppu; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/logger.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/logger.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mmu::Mmu` [INFO] [stdout] --> src/psg.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::mmu::Mmu; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/lib.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::JsCast` [INFO] [stdout] --> src/lib.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use wasm_bindgen::JsCast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CanvasRenderingContext2d`, `HtmlCanvasElement` [INFO] [stdout] --> src/lib.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | use web_sys::{CanvasRenderingContext2d, HtmlCanvasElement}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::logger::log` [INFO] [stdout] --> src/cpu.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::logger::log; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::psg::Psg` [INFO] [stdout] --> src/mmu.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::psg::Psg; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/mmu.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/mmu.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::CanvasRenderingContext2d` [INFO] [stdout] --> src/console.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use web_sys::CanvasRenderingContext2d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Joypad` [INFO] [stdout] --> src/console.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::joypad::{Joypad, Button}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::logger::log` [INFO] [stdout] --> src/ppu.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::logger::log; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mmu::Mmu` [INFO] [stdout] --> src/ppu.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::mmu::Mmu; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::CanvasRenderingContext2d` [INFO] [stdout] --> src/ppu.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use web_sys::CanvasRenderingContext2d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `js_sys::*` [INFO] [stdout] --> src/ppu.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use js_sys::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/ppu.rs:305:41 [INFO] [stdout] | [INFO] [stdout] 305 | for display_x in 0 .. SCREEN_W {; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/ppu.rs:307:32 [INFO] [stdout] | [INFO] [stdout] 307 | let mut window_x = (-((self.window_x_coord as i32) - 7) + (display_x as i32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/cartridge.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/cartridge.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ppu::Ppu` [INFO] [stdout] --> src/dma.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::ppu::Ppu; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/logger.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/logger.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mmu::Mmu` [INFO] [stdout] --> src/psg.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::mmu::Mmu; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/lib.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::JsCast` [INFO] [stdout] --> src/lib.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use wasm_bindgen::JsCast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CanvasRenderingContext2d`, `HtmlCanvasElement` [INFO] [stdout] --> src/lib.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | use web_sys::{CanvasRenderingContext2d, HtmlCanvasElement}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tile_x` is never read [INFO] [stdout] --> src/ppu.rs:314:17 [INFO] [stdout] | [INFO] [stdout] 314 | let mut tile_x= 0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tile_y` is never read [INFO] [stdout] --> src/ppu.rs:315:17 [INFO] [stdout] | [INFO] [stdout] 315 | let mut tile_y= 0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pixel_x` is never read [INFO] [stdout] --> src/ppu.rs:317:17 [INFO] [stdout] | [INFO] [stdout] 317 | let mut pixel_x= 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pixel_y` is never read [INFO] [stdout] --> src/ppu.rs:318:17 [INFO] [stdout] | [INFO] [stdout] 318 | let mut pixel_y= 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tile_map_base_address` is never read [INFO] [stdout] --> src/ppu.rs:320:17 [INFO] [stdout] | [INFO] [stdout] 320 | let mut tile_map_base_address= 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> src/dma.rs:35:29 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn reset(&mut self, model: GameboyType) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_model` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> src/timer.rs:33:29 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn reset(&mut self, model: GameboyType) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_model` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/joypad.rs:30:29 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn read_byte(&self, address: u16) -> u8 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/joypad.rs:34:34 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn write_byte(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ppu.rs:306:17 [INFO] [stdout] | [INFO] [stdout] 306 | let mut window_y = if (-(self.window_y_coord as i32) + (display_y as i32)) >= 0 { self.wly as i32 } else { -1 }; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ppu.rs:307:17 [INFO] [stdout] | [INFO] [stdout] 307 | let mut window_x = (-((self.window_x_coord as i32) - 7) + (display_x as i32)); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ppu.rs:851:13 [INFO] [stdout] | [INFO] [stdout] 851 | let mut pal_num: usize; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ppu.rs:852:13 [INFO] [stdout] | [INFO] [stdout] 852 | let mut col_num: usize; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ppu.rs:853:13 [INFO] [stdout] | [INFO] [stdout] 853 | let mut palette: &mut [u8]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ppu.rs:854:13 [INFO] [stdout] | [INFO] [stdout] 854 | let mut byte_index; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `FILE_PATH` [INFO] [stdout] --> src/logger.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | const FILE_PATH: &str = "cpu.log"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `FILE` [INFO] [stdout] --> src/logger.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | static mut FILE: Option = Option::None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `log` [INFO] [stdout] --> src/logger.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn log(value: String) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `volumes` [INFO] [stdout] --> src/psg.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | volumes: [f32; 0xF], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `ch0` [INFO] [stdout] --> src/psg.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | ch0: u8, // Tone and sweep [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `ch1` [INFO] [stdout] --> src/psg.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | ch1: u8, // Tone [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `ch2` [INFO] [stdout] --> src/psg.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | ch2: u8, // Wave [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `ch3` [INFO] [stdout] --> src/psg.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | ch3: u8, // Noise [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/logger.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | FILE.as_mut().unwrap().write_all((value + "\n").as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 45 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tile_x` is never read [INFO] [stdout] --> src/ppu.rs:314:17 [INFO] [stdout] | [INFO] [stdout] 314 | let mut tile_x= 0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tile_y` is never read [INFO] [stdout] --> src/ppu.rs:315:17 [INFO] [stdout] | [INFO] [stdout] 315 | let mut tile_y= 0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pixel_x` is never read [INFO] [stdout] --> src/ppu.rs:317:17 [INFO] [stdout] | [INFO] [stdout] 317 | let mut pixel_x= 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pixel_y` is never read [INFO] [stdout] --> src/ppu.rs:318:17 [INFO] [stdout] | [INFO] [stdout] 318 | let mut pixel_y= 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tile_map_base_address` is never read [INFO] [stdout] --> src/ppu.rs:320:17 [INFO] [stdout] | [INFO] [stdout] 320 | let mut tile_map_base_address= 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> src/dma.rs:35:29 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn reset(&mut self, model: GameboyType) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_model` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> src/timer.rs:33:29 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn reset(&mut self, model: GameboyType) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_model` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/joypad.rs:30:29 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn read_byte(&self, address: u16) -> u8 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/joypad.rs:34:34 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn write_byte(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ppu.rs:306:17 [INFO] [stdout] | [INFO] [stdout] 306 | let mut window_y = if (-(self.window_y_coord as i32) + (display_y as i32)) >= 0 { self.wly as i32 } else { -1 }; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ppu.rs:307:17 [INFO] [stdout] | [INFO] [stdout] 307 | let mut window_x = (-((self.window_x_coord as i32) - 7) + (display_x as i32)); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ppu.rs:851:13 [INFO] [stdout] | [INFO] [stdout] 851 | let mut pal_num: usize; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ppu.rs:852:13 [INFO] [stdout] | [INFO] [stdout] 852 | let mut col_num: usize; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ppu.rs:853:13 [INFO] [stdout] | [INFO] [stdout] 853 | let mut palette: &mut [u8]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ppu.rs:854:13 [INFO] [stdout] | [INFO] [stdout] 854 | let mut byte_index; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `FILE_PATH` [INFO] [stdout] --> src/logger.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | const FILE_PATH: &str = "cpu.log"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `FILE` [INFO] [stdout] --> src/logger.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | static mut FILE: Option = Option::None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `log` [INFO] [stdout] --> src/logger.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn log(value: String) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `volumes` [INFO] [stdout] --> src/psg.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | volumes: [f32; 0xF], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `ch0` [INFO] [stdout] --> src/psg.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | ch0: u8, // Tone and sweep [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `ch1` [INFO] [stdout] --> src/psg.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | ch1: u8, // Tone [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `ch2` [INFO] [stdout] --> src/psg.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | ch2: u8, // Wave [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `ch3` [INFO] [stdout] --> src/psg.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | ch3: u8, // Noise [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/logger.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | FILE.as_mut().unwrap().write_all((value + "\n").as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 45 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::psg` [INFO] [stdout] --> src/mmu.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::psg::Psg; [INFO] [stdout] | ^^^ maybe a missing crate `psg`? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::psg` [INFO] [stdout] --> src/mmu.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::psg::Psg; [INFO] [stdout] | ^^^ maybe a missing crate `psg`? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::logger::log` [INFO] [stdout] --> src/cpu.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::logger::log; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/mmu.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/mmu.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::CanvasRenderingContext2d` [INFO] [stdout] --> src/console.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use web_sys::CanvasRenderingContext2d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Joypad` [INFO] [stdout] --> src/console.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::joypad::{Joypad, Button}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/cartridge.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/cartridge.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::logger::log` [INFO] [stdout] --> src/ppu.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::logger::log; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mmu::Mmu` [INFO] [stdout] --> src/ppu.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::mmu::Mmu; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::CanvasRenderingContext2d` [INFO] [stdout] --> src/ppu.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use web_sys::CanvasRenderingContext2d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `js_sys::*` [INFO] [stdout] --> src/ppu.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use js_sys::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/ppu.rs:305:41 [INFO] [stdout] | [INFO] [stdout] 305 | for display_x in 0 .. SCREEN_W {; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/ppu.rs:307:32 [INFO] [stdout] | [INFO] [stdout] 307 | let mut window_x = (-((self.window_x_coord as i32) - 7) + (display_x as i32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ppu::Ppu` [INFO] [stdout] --> src/dma.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::ppu::Ppu; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/logger.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/logger.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::logger::log` [INFO] [stdout] --> src/cpu.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::logger::log; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/mmu.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/mmu.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::CanvasRenderingContext2d` [INFO] [stdout] --> src/console.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use web_sys::CanvasRenderingContext2d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Joypad` [INFO] [stdout] --> src/console.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::joypad::{Joypad, Button}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/cartridge.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/cartridge.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::logger::log` [INFO] [stdout] --> src/ppu.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::logger::log; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mmu::Mmu` [INFO] [stdout] --> src/ppu.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::mmu::Mmu; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::CanvasRenderingContext2d` [INFO] [stdout] --> src/ppu.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use web_sys::CanvasRenderingContext2d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `js_sys::*` [INFO] [stdout] --> src/ppu.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use js_sys::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/ppu.rs:305:41 [INFO] [stdout] | [INFO] [stdout] 305 | for display_x in 0 .. SCREEN_W {; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/ppu.rs:307:32 [INFO] [stdout] | [INFO] [stdout] 307 | let mut window_x = (-((self.window_x_coord as i32) - 7) + (display_x as i32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ppu::Ppu` [INFO] [stdout] --> src/dma.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::ppu::Ppu; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/logger.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/logger.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rust-webpack-template` [INFO] [stdout] error: aborting due to previous error; 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] For more information about this error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to previous error; 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "54127c70bed83052d76e66dd1b610d4aa3cc7defdebcb0e1085872e9e2902d1e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "54127c70bed83052d76e66dd1b610d4aa3cc7defdebcb0e1085872e9e2902d1e", kill_on_drop: false }` [INFO] [stdout] 54127c70bed83052d76e66dd1b610d4aa3cc7defdebcb0e1085872e9e2902d1e