[INFO] updating cached repository christopherjmedlin/hackman [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/christopherjmedlin/hackman [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/christopherjmedlin/hackman" "work/ex/clippy-test-run/sources/stable/gh/christopherjmedlin/hackman"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/christopherjmedlin/hackman'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/christopherjmedlin/hackman" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/christopherjmedlin/hackman"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/christopherjmedlin/hackman'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] bc21329b5805b202318d962d1d13603f2657214a [INFO] sha for GitHub repo christopherjmedlin/hackman: bc21329b5805b202318d962d1d13603f2657214a [INFO] validating manifest of christopherjmedlin/hackman on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of christopherjmedlin/hackman on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing christopherjmedlin/hackman [INFO] finished frobbing christopherjmedlin/hackman [INFO] frobbed toml for christopherjmedlin/hackman written to work/ex/clippy-test-run/sources/stable/gh/christopherjmedlin/hackman/Cargo.toml [INFO] started frobbing christopherjmedlin/hackman [INFO] finished frobbing christopherjmedlin/hackman [INFO] frobbed toml for christopherjmedlin/hackman written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/christopherjmedlin/hackman/Cargo.toml [INFO] crate christopherjmedlin/hackman has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting christopherjmedlin/hackman against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/christopherjmedlin/hackman:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dclippy::into_iter_on_array" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 9794c8db8ed7f1cb354ac6c3460422cd406e26a5803877338ad13c1e40089933 [INFO] running `"docker" "start" "-a" "9794c8db8ed7f1cb354ac6c3460422cd406e26a5803877338ad13c1e40089933"` [INFO] [stderr] Checking pacman v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/memory_mapper.rs:13:13 [INFO] [stderr] | [INFO] [stderr] 13 | roms: roms, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `roms` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | let z: u8 = opcode & 0b00000111; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:85:21 [INFO] [stderr] | [INFO] [stderr] 85 | let q = (y & 1) != 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:86:21 [INFO] [stderr] | [INFO] [stderr] 86 | let p: u8 = y >> 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:104:21 [INFO] [stderr] | [INFO] [stderr] 104 | let q = (y & 1) != 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | let p: u8 = y >> 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:166:21 [INFO] [stderr] | [INFO] [stderr] 166 | let q = (y & 1) != 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:167:21 [INFO] [stderr] | [INFO] [stderr] 167 | let p: u8 = y >> 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:292:21 [INFO] [stderr] | [INFO] [stderr] 292 | let q = ((y & 1) != 0) as u8; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:293:21 [INFO] [stderr] | [INFO] [stderr] 293 | let p: u8 = y >> 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:407:21 [INFO] [stderr] | [INFO] [stderr] 407 | let q = ((y & 1) != 0) as u8; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:408:21 [INFO] [stderr] | [INFO] [stderr] 408 | let p: u8 = y >> 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/memory_mapper.rs:13:13 [INFO] [stderr] | [INFO] [stderr] 13 | roms: roms, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `roms` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | let z: u8 = opcode & 0b00000111; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:85:21 [INFO] [stderr] | [INFO] [stderr] 85 | let q = (y & 1) != 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:86:21 [INFO] [stderr] | [INFO] [stderr] 86 | let p: u8 = y >> 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:104:21 [INFO] [stderr] | [INFO] [stderr] 104 | let q = (y & 1) != 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | let p: u8 = y >> 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:166:21 [INFO] [stderr] | [INFO] [stderr] 166 | let q = (y & 1) != 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:167:21 [INFO] [stderr] | [INFO] [stderr] 167 | let p: u8 = y >> 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:292:21 [INFO] [stderr] | [INFO] [stderr] 292 | let q = ((y & 1) != 0) as u8; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:293:21 [INFO] [stderr] | [INFO] [stderr] 293 | let p: u8 = y >> 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:407:21 [INFO] [stderr] | [INFO] [stderr] 407 | let q = ((y & 1) != 0) as u8; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/cpu/mod.rs:408:21 [INFO] [stderr] | [INFO] [stderr] 408 | let p: u8 = y >> 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/memory_mapper.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cpu/mod.rs:48:31 [INFO] [stderr] | [INFO] [stderr] 48 | let y: u8 = (opcode & 0b00111000) >> 3; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0011_1000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cpu/mod.rs:49:30 [INFO] [stderr] | [INFO] [stderr] 49 | let z: u8 = opcode & 0b00000111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cpu/mod.rs:458:31 [INFO] [stderr] | [INFO] [stderr] 458 | let y: u8 = (opcode & 0b00111000) >> 3; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0011_1000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cpu/mod.rs:459:30 [INFO] [stderr] | [INFO] [stderr] 459 | let z: u8 = opcode & 0b00000111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cpu/mod.rs:683:36 [INFO] [stderr] | [INFO] [stderr] 683 | let carry_mask = if right {0b00000001} else {0b10000000}; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0001` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cpu/mod.rs:683:54 [INFO] [stderr] | [INFO] [stderr] 683 | let carry_mask = if right {0b00000001} else {0b10000000}; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu/mod.rs:788:9 [INFO] [stderr] | [INFO] [stderr] 788 | return word; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `word` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:6:13 [INFO] [stderr] | [INFO] [stderr] 6 | #[macro_use(matches)] [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cpu/mod.rs:48:31 [INFO] [stderr] | [INFO] [stderr] 48 | let y: u8 = (opcode & 0b00111000) >> 3; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0011_1000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cpu/mod.rs:49:30 [INFO] [stderr] | [INFO] [stderr] 49 | let z: u8 = opcode & 0b00000111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cpu/mod.rs:458:31 [INFO] [stderr] | [INFO] [stderr] 458 | let y: u8 = (opcode & 0b00111000) >> 3; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0011_1000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cpu/mod.rs:459:30 [INFO] [stderr] | [INFO] [stderr] 459 | let z: u8 = opcode & 0b00000111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cpu/mod.rs:683:36 [INFO] [stderr] | [INFO] [stderr] 683 | let carry_mask = if right {0b00000001} else {0b10000000}; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0001` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cpu/mod.rs:683:54 [INFO] [stderr] | [INFO] [stderr] 683 | let carry_mask = if right {0b00000001} else {0b10000000}; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu/mod.rs:788:9 [INFO] [stderr] | [INFO] [stderr] 788 | return word; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `word` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/memory_map.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | (SOUND_START...SOUND_END, true) => [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/memory_map.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | (SPRITE_XY_START...SPRITE_XY_END, true) => [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `why` [INFO] [stderr] --> src/rom.rs:46:21 [INFO] [stderr] | [INFO] [stderr] 46 | Err(why) => panic!("Missing ROMs"), [INFO] [stderr] | ^^^ help: consider using `_why` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `why` [INFO] [stderr] --> src/rom.rs:67:21 [INFO] [stderr] | [INFO] [stderr] 67 | Err(why) => panic!("Error reading ROM") [INFO] [stderr] | ^^^ help: consider using `_why` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/cpu/mod.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | for i in 0..iters { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: variable `number_of_ones` is assigned to, but never used [INFO] [stderr] --> src/cpu/mod.rs:827:17 [INFO] [stderr] | [INFO] [stderr] 827 | let mut number_of_ones = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_number_of_ones` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu/mod.rs:621:13 [INFO] [stderr] | [INFO] [stderr] 621 | let mut result = left.wrapping_sub(right); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu/mod.rs:794:13 [INFO] [stderr] | [INFO] [stderr] 794 | let mut left = left + (carry as u8); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu/mod.rs:801:13 [INFO] [stderr] | [INFO] [stderr] 801 | let mut left = left - (carry as u8); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ROM_FILE_NAMES` [INFO] [stderr] --> src/rom.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | / const ROM_FILE_NAMES: [&str; 10] = [ [INFO] [stderr] 6 | | "pacman.6e", [INFO] [stderr] 7 | | "pacman.6f", [INFO] [stderr] 8 | | "pacman.6h", [INFO] [stderr] ... | [INFO] [stderr] 15 | | "82s126.3m" [INFO] [stderr] 16 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/rom.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load` [INFO] [stderr] --> src/rom.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn load(directory: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `VramPalettes` [INFO] [stderr] --> src/memory_map.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | VramPalettes(usize), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/memory_mapper.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new(roms: Roms) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Registers` [INFO] [stderr] --> src/cpu/reg.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub struct Registers { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/cpu/reg.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `read_8bit_r` [INFO] [stderr] --> src/cpu/reg.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn read_8bit_r(&mut self, index: u8) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write_8bit_r` [INFO] [stderr] --> src/cpu/reg.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn write_8bit_r(&mut self, index: u8, byte: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `read_16bit_r` [INFO] [stderr] --> src/cpu/reg.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn read_16bit_r(&mut self, index: u8, sp: bool) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write_16bit_r` [INFO] [stderr] --> src/cpu/reg.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | pub fn write_16bit_r(&mut self, index: u8, sp: bool, word: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bc` [INFO] [stderr] --> src/cpu/reg.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | pub fn bc(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `de` [INFO] [stderr] --> src/cpu/reg.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn de(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `hl` [INFO] [stderr] --> src/cpu/reg.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn hl(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `af` [INFO] [stderr] --> src/cpu/reg.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | pub fn af(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write_bc` [INFO] [stderr] --> src/cpu/reg.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | pub fn write_bc(&mut self, word: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write_de` [INFO] [stderr] --> src/cpu/reg.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | pub fn write_de(&mut self, word: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write_hl` [INFO] [stderr] --> src/cpu/reg.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn write_hl(&mut self, word: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write_af` [INFO] [stderr] --> src/cpu/reg.rs:135:5 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn write_af(&mut self, word: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cc` [INFO] [stderr] --> src/cpu/reg.rs:140:5 [INFO] [stderr] | [INFO] [stderr] 140 | pub fn cc(&self, index: usize) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_flag` [INFO] [stderr] --> src/cpu/reg.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 155 | pub fn set_flag(&mut self, bit: usize, set: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `read_flag` [INFO] [stderr] --> src/cpu/reg.rs:163:5 [INFO] [stderr] | [INFO] [stderr] 163 | pub fn read_flag(&mut self, bit: usize) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `TestMemory` [INFO] [stderr] --> src/cpu/mem.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | pub struct TestMemory { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/cpu/mem.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Z80` [INFO] [stderr] --> src/cpu/mod.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct Z80 { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/cpu/mod.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `run_opcodes` [INFO] [stderr] --> src/cpu/mod.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn run_opcodes(&mut self, iters: usize, memory: &mut Memory) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `run_opcode` [INFO] [stderr] --> src/cpu/mod.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | fn run_opcode(&mut self, opcode: u8, memory: &mut Memory) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `run_cb_opcode` [INFO] [stderr] --> src/cpu/mod.rs:456:5 [INFO] [stderr] | [INFO] [stderr] 456 | fn run_cb_opcode(&mut self, opcode: u8, memory: &mut Memory) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `r` [INFO] [stderr] --> src/cpu/mod.rs:499:5 [INFO] [stderr] | [INFO] [stderr] 499 | fn r(&mut self, index: u8, mem: &mut Memory) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write_r` [INFO] [stderr] --> src/cpu/mod.rs:507:5 [INFO] [stderr] | [INFO] [stderr] 507 | fn write_r(&mut self, index: u8, byte: u8, mem: &mut Memory) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `alu` [INFO] [stderr] --> src/cpu/mod.rs:515:5 [INFO] [stderr] | [INFO] [stderr] 515 | fn alu(&mut self, operator: u8, val: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/cpu/mod.rs:538:5 [INFO] [stderr] | [INFO] [stderr] 538 | fn add(&mut self, val: u8, add_carry: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sub` [INFO] [stderr] --> src/cpu/mod.rs:560:5 [INFO] [stderr] | [INFO] [stderr] 560 | fn sub(&mut self, val: u8, sub_carry: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `and` [INFO] [stderr] --> src/cpu/mod.rs:582:5 [INFO] [stderr] | [INFO] [stderr] 582 | fn and(&mut self, val: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `xor` [INFO] [stderr] --> src/cpu/mod.rs:594:5 [INFO] [stderr] | [INFO] [stderr] 594 | fn xor(&mut self, val: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `or` [INFO] [stderr] --> src/cpu/mod.rs:606:5 [INFO] [stderr] | [INFO] [stderr] 606 | fn or(&mut self, val: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cp` [INFO] [stderr] --> src/cpu/mod.rs:618:5 [INFO] [stderr] | [INFO] [stderr] 618 | fn cp(&mut self, val: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rot` [INFO] [stderr] --> src/cpu/mod.rs:632:5 [INFO] [stderr] | [INFO] [stderr] 632 | fn rot(&mut self, operator: u8, val: u8, mem: &mut Memory) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `inc_pc` [INFO] [stderr] --> src/cpu/mod.rs:654:5 [INFO] [stderr] | [INFO] [stderr] 654 | fn inc_pc(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `jr` [INFO] [stderr] --> src/cpu/mod.rs:659:5 [INFO] [stderr] | [INFO] [stderr] 659 | fn jr(&mut self, d: i8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `shift` [INFO] [stderr] --> src/cpu/mod.rs:674:5 [INFO] [stderr] | [INFO] [stderr] 674 | / fn shift(&mut self, register: u8, carry_bit: bool, [INFO] [stderr] 675 | | right: bool, mem: &mut Memory) { [INFO] [stderr] 676 | | let mut value = self.r(register, mem); [INFO] [stderr] 677 | | [INFO] [stderr] ... | [INFO] [stderr] 701 | | self.reg.set_flag(0, carry); [INFO] [stderr] 702 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `dec_16` [INFO] [stderr] --> src/cpu/mod.rs:707:5 [INFO] [stderr] | [INFO] [stderr] 707 | fn dec_16(&mut self, p: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `inc_16` [INFO] [stderr] --> src/cpu/mod.rs:714:5 [INFO] [stderr] | [INFO] [stderr] 714 | fn inc_16(&mut self, p: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `dec_8` [INFO] [stderr] --> src/cpu/mod.rs:721:5 [INFO] [stderr] | [INFO] [stderr] 721 | fn dec_8(&mut self, y: u8, mem: &mut Memory) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `inc_8` [INFO] [stderr] --> src/cpu/mod.rs:735:5 [INFO] [stderr] | [INFO] [stderr] 735 | fn inc_8(&mut self, y: u8, mem: &mut Memory) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `call` [INFO] [stderr] --> src/cpu/mod.rs:750:5 [INFO] [stderr] | [INFO] [stderr] 750 | fn call(&mut self, mem: &mut Memory, addr: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ret` [INFO] [stderr] --> src/cpu/mod.rs:757:5 [INFO] [stderr] | [INFO] [stderr] 757 | fn ret(&mut self, mem: &mut Memory) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pop_stack` [INFO] [stderr] --> src/cpu/mod.rs:763:5 [INFO] [stderr] | [INFO] [stderr] 763 | fn pop_stack(&mut self, mem: &mut Memory) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `push_stack` [INFO] [stderr] --> src/cpu/mod.rs:771:5 [INFO] [stderr] | [INFO] [stderr] 771 | fn push_stack(&mut self, mem: &mut Memory, byte: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `push_stack_16` [INFO] [stderr] --> src/cpu/mod.rs:780:5 [INFO] [stderr] | [INFO] [stderr] 780 | fn push_stack_16(&mut self, mem: &mut Memory, word: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pop_stack_16` [INFO] [stderr] --> src/cpu/mod.rs:785:5 [INFO] [stderr] | [INFO] [stderr] 785 | fn pop_stack_16(&mut self, mem: &mut Memory) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `detect_half_carry_add` [INFO] [stderr] --> src/cpu/mod.rs:793:5 [INFO] [stderr] | [INFO] [stderr] 793 | fn detect_half_carry_add(&mut self, left: u8, right: u8, carry: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `detect_half_carry_sub` [INFO] [stderr] --> src/cpu/mod.rs:800:5 [INFO] [stderr] | [INFO] [stderr] 800 | fn detect_half_carry_sub(&mut self, left: u8, right: u8, carry: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `detect_overflow_add` [INFO] [stderr] --> src/cpu/mod.rs:807:5 [INFO] [stderr] | [INFO] [stderr] 807 | fn detect_overflow_add(&mut self, left: u8, right: u8, carry: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `detect_overflow_sub` [INFO] [stderr] --> src/cpu/mod.rs:817:5 [INFO] [stderr] | [INFO] [stderr] 817 | fn detect_overflow_sub(&mut self, left: u8, right: u8, carry: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `detect_parity` [INFO] [stderr] --> src/cpu/mod.rs:826:5 [INFO] [stderr] | [INFO] [stderr] 826 | fn detect_parity(&mut self, mut num: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/memory_mapper.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | / match MemoryMapper::map(addr, true) { [INFO] [stderr] 30 | | Address::Ram(offset) => {self.ram[offset] = byte;}, [INFO] [stderr] 31 | | _ => {} [INFO] [stderr] 32 | | } [INFO] [stderr] | |_________^ help: try this: `if let Address::Ram(offset) = MemoryMapper::map(addr, true) {self.ram[offset] = byte;}` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | (self.b as u16) << 8 | (self.c as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.b)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:105:32 [INFO] [stderr] | [INFO] [stderr] 105 | (self.b as u16) << 8 | (self.c as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.c)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | (self.d as u16) << 8 | (self.e as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:109:32 [INFO] [stderr] | [INFO] [stderr] 109 | (self.d as u16) << 8 | (self.e as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.e)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | (self.h as u16) << 8 | (self.l as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.h)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:113:32 [INFO] [stderr] | [INFO] [stderr] 113 | (self.h as u16) << 8 | (self.l as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.l)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | (self.a as u16) << 8 | (self.f as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:117:32 [INFO] [stderr] | [INFO] [stderr] 117 | (self.a as u16) << 8 | (self.f as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mem.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | (self.read_byte(addr) as u16) << 8 | (self.read_byte(addr + 1) as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_byte(addr))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mem.rs:11:46 [INFO] [stderr] | [INFO] [stderr] 11 | (self.read_byte(addr) as u16) << 8 | (self.read_byte(addr + 1) as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_byte(addr + 1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:43:23 [INFO] [stderr] | [INFO] [stderr] 43 | let nn: u16 = (memory.read_byte(self.reg.pc + 1) as u16) << 8 | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(memory.read_byte(self.reg.pc + 1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:44:23 [INFO] [stderr] | [INFO] [stderr] 44 | (memory.read_byte(self.reg.pc + 2) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(memory.read_byte(self.reg.pc + 2))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:448:35 [INFO] [stderr] | [INFO] [stderr] 448 | self.call(memory, (y*8) as u16); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(y*8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:554:30 [INFO] [stderr] | [INFO] [stderr] 554 | self.reg.set_flag(0, (left + right) as u16 > 255); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(left + right)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:576:30 [INFO] [stderr] | [INFO] [stderr] 576 | self.reg.set_flag(0, (left + right) as u16 > 255); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(left + right)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:626:30 [INFO] [stderr] | [INFO] [stderr] 626 | self.reg.set_flag(0, (left + right) as u16 > 255); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(left + right)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/cpu/mod.rs:686:9 [INFO] [stderr] | [INFO] [stderr] 686 | / let mut mask_shift = 0; [INFO] [stderr] 687 | | // if it is a right shift, the 0th bit should be carried to [INFO] [stderr] 688 | | // the 7th bit, not the other way around [INFO] [stderr] 689 | | if right { [INFO] [stderr] 690 | | mask_shift = 7; [INFO] [stderr] 691 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let mask_shift = if right { 7 } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:786:24 [INFO] [stderr] | [INFO] [stderr] 786 | let mut word = self.pop_stack(mem) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.pop_stack(mem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:787:17 [INFO] [stderr] | [INFO] [stderr] 787 | word |= (self.pop_stack(mem) as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.pop_stack(mem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:808:24 [INFO] [stderr] | [INFO] [stderr] 808 | let mut left = left as i8 as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(left as i8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:809:21 [INFO] [stderr] | [INFO] [stderr] 809 | let right = right as i8 as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(right as i8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:818:24 [INFO] [stderr] | [INFO] [stderr] 818 | let mut left = left as i8 as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(left as i8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:819:21 [INFO] [stderr] | [INFO] [stderr] 819 | let right = right as i8 as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(right as i8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/memory_map.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | (SOUND_START...SOUND_END, true) => [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/memory_map.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | (SPRITE_XY_START...SPRITE_XY_END, true) => [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `why` [INFO] [stderr] --> src/rom.rs:46:21 [INFO] [stderr] | [INFO] [stderr] 46 | Err(why) => panic!("Missing ROMs"), [INFO] [stderr] | ^^^ help: consider using `_why` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `why` [INFO] [stderr] --> src/rom.rs:67:21 [INFO] [stderr] | [INFO] [stderr] 67 | Err(why) => panic!("Error reading ROM") [INFO] [stderr] | ^^^ help: consider using `_why` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/cpu/mod.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | for i in 0..iters { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: variable `number_of_ones` is assigned to, but never used [INFO] [stderr] --> src/cpu/mod.rs:827:17 [INFO] [stderr] | [INFO] [stderr] 827 | let mut number_of_ones = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_number_of_ones` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu/mod.rs:621:13 [INFO] [stderr] | [INFO] [stderr] 621 | let mut result = left.wrapping_sub(right); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu/mod.rs:794:13 [INFO] [stderr] | [INFO] [stderr] 794 | let mut left = left + (carry as u8); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu/mod.rs:801:13 [INFO] [stderr] | [INFO] [stderr] 801 | let mut left = left - (carry as u8); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu/tests.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | let mut mem = &mut TestMemory::new(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ROM_FILE_NAMES` [INFO] [stderr] --> src/rom.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | / const ROM_FILE_NAMES: [&str; 10] = [ [INFO] [stderr] 6 | | "pacman.6e", [INFO] [stderr] 7 | | "pacman.6f", [INFO] [stderr] 8 | | "pacman.6h", [INFO] [stderr] ... | [INFO] [stderr] 15 | | "82s126.3m" [INFO] [stderr] 16 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load` [INFO] [stderr] --> src/rom.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn load(directory: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `VramPalettes` [INFO] [stderr] --> src/memory_map.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | VramPalettes(usize), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rot` [INFO] [stderr] --> src/cpu/mod.rs:632:5 [INFO] [stderr] | [INFO] [stderr] 632 | fn rot(&mut self, operator: u8, val: u8, mem: &mut Memory) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/memory_mapper.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | / match MemoryMapper::map(addr, true) { [INFO] [stderr] 30 | | Address::Ram(offset) => {self.ram[offset] = byte;}, [INFO] [stderr] 31 | | _ => {} [INFO] [stderr] 32 | | } [INFO] [stderr] | |_________^ help: try this: `if let Address::Ram(offset) = MemoryMapper::map(addr, true) {self.ram[offset] = byte;}` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | (self.b as u16) << 8 | (self.c as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.b)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:105:32 [INFO] [stderr] | [INFO] [stderr] 105 | (self.b as u16) << 8 | (self.c as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.c)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | (self.d as u16) << 8 | (self.e as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:109:32 [INFO] [stderr] | [INFO] [stderr] 109 | (self.d as u16) << 8 | (self.e as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.e)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | (self.h as u16) << 8 | (self.l as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.h)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:113:32 [INFO] [stderr] | [INFO] [stderr] 113 | (self.h as u16) << 8 | (self.l as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.l)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | (self.a as u16) << 8 | (self.f as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/reg.rs:117:32 [INFO] [stderr] | [INFO] [stderr] 117 | (self.a as u16) << 8 | (self.f as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(self.f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mem.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | (self.read_byte(addr) as u16) << 8 | (self.read_byte(addr + 1) as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_byte(addr))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mem.rs:11:46 [INFO] [stderr] | [INFO] [stderr] 11 | (self.read_byte(addr) as u16) << 8 | (self.read_byte(addr + 1) as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_byte(addr + 1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:43:23 [INFO] [stderr] | [INFO] [stderr] 43 | let nn: u16 = (memory.read_byte(self.reg.pc + 1) as u16) << 8 | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(memory.read_byte(self.reg.pc + 1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:44:23 [INFO] [stderr] | [INFO] [stderr] 44 | (memory.read_byte(self.reg.pc + 2) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(memory.read_byte(self.reg.pc + 2))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:448:35 [INFO] [stderr] | [INFO] [stderr] 448 | self.call(memory, (y*8) as u16); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(y*8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:554:30 [INFO] [stderr] | [INFO] [stderr] 554 | self.reg.set_flag(0, (left + right) as u16 > 255); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(left + right)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:576:30 [INFO] [stderr] | [INFO] [stderr] 576 | self.reg.set_flag(0, (left + right) as u16 > 255); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(left + right)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:626:30 [INFO] [stderr] | [INFO] [stderr] 626 | self.reg.set_flag(0, (left + right) as u16 > 255); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(left + right)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/cpu/mod.rs:686:9 [INFO] [stderr] | [INFO] [stderr] 686 | / let mut mask_shift = 0; [INFO] [stderr] 687 | | // if it is a right shift, the 0th bit should be carried to [INFO] [stderr] 688 | | // the 7th bit, not the other way around [INFO] [stderr] 689 | | if right { [INFO] [stderr] 690 | | mask_shift = 7; [INFO] [stderr] 691 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let mask_shift = if right { 7 } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:786:24 [INFO] [stderr] | [INFO] [stderr] 786 | let mut word = self.pop_stack(mem) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.pop_stack(mem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:787:17 [INFO] [stderr] | [INFO] [stderr] 787 | word |= (self.pop_stack(mem) as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.pop_stack(mem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:808:24 [INFO] [stderr] | [INFO] [stderr] 808 | let mut left = left as i8 as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(left as i8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:809:21 [INFO] [stderr] | [INFO] [stderr] 809 | let right = right as i8 as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(right as i8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:818:24 [INFO] [stderr] | [INFO] [stderr] 818 | let mut left = left as i8 as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(left as i8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cpu/mod.rs:819:21 [INFO] [stderr] | [INFO] [stderr] 819 | let right = right as i8 as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(right as i8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.77s [INFO] running `"docker" "inspect" "9794c8db8ed7f1cb354ac6c3460422cd406e26a5803877338ad13c1e40089933"` [INFO] running `"docker" "rm" "-f" "9794c8db8ed7f1cb354ac6c3460422cd406e26a5803877338ad13c1e40089933"` [INFO] [stdout] 9794c8db8ed7f1cb354ac6c3460422cd406e26a5803877338ad13c1e40089933