[INFO] updating cached repository WilsonGiese/JANE [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/WilsonGiese/JANE [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/WilsonGiese/JANE" "work/ex/clippy-test-run/sources/stable/gh/WilsonGiese/JANE"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/WilsonGiese/JANE'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/WilsonGiese/JANE" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/WilsonGiese/JANE"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/WilsonGiese/JANE'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 626a3c6c0371eb99750dee6ae1a66e32668fc371 [INFO] sha for GitHub repo WilsonGiese/JANE: 626a3c6c0371eb99750dee6ae1a66e32668fc371 [INFO] validating manifest of WilsonGiese/JANE 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 WilsonGiese/JANE 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 WilsonGiese/JANE [INFO] finished frobbing WilsonGiese/JANE [INFO] frobbed toml for WilsonGiese/JANE written to work/ex/clippy-test-run/sources/stable/gh/WilsonGiese/JANE/Cargo.toml [INFO] started frobbing WilsonGiese/JANE [INFO] finished frobbing WilsonGiese/JANE [INFO] frobbed toml for WilsonGiese/JANE written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/WilsonGiese/JANE/Cargo.toml [INFO] crate WilsonGiese/JANE 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 WilsonGiese/JANE 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-1/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/WilsonGiese/JANE:/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] 310a4618ac947e23890075d4dda9799a54b82a14dd4aae885f6ccc2fb6a23366 [INFO] running `"docker" "start" "-a" "310a4618ac947e23890075d4dda9799a54b82a14dd4aae885f6ccc2fb6a23366"` [INFO] [stderr] Checking jane v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpu.rs:52:4 [INFO] [stderr] | [INFO] [stderr] 52 | cartridge: cartridge [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cartridge` [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: redundant field names in struct initialization [INFO] [stderr] --> src/cpu.rs:52:4 [INFO] [stderr] | [INFO] [stderr] 52 | cartridge: cartridge [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cartridge` [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: redundant field names in struct initialization [INFO] [stderr] --> src/mapper.rs:16:4 [INFO] [stderr] | [INFO] [stderr] 16 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/mapper.rs:18:4 [INFO] [stderr] | [INFO] [stderr] 18 | is_mirroring_prg: is_mirroring_prg, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `is_mirroring_prg` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/memory.rs:23:4 [INFO] [stderr] | [INFO] [stderr] 23 | data: data [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/rom.rs:153:4 [INFO] [stderr] | [INFO] [stderr] 153 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/mapper.rs:16:4 [INFO] [stderr] | [INFO] [stderr] 16 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/mapper.rs:18:4 [INFO] [stderr] | [INFO] [stderr] 18 | is_mirroring_prg: is_mirroring_prg, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `is_mirroring_prg` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/memory.rs:23:4 [INFO] [stderr] | [INFO] [stderr] 23 | data: data [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/rom.rs:153:4 [INFO] [stderr] | [INFO] [stderr] 153 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [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: this if statement can be collapsed [INFO] [stderr] --> src/cpu.rs:404:3 [INFO] [stderr] | [INFO] [stderr] 404 | if (self.registers.a ^ value) & 0x80 == 0 { [INFO] [stderr] | _________^ [INFO] [stderr] 405 | | if (self.registers.a ^ new_a as u8) & 0x80 == 0x80 { [INFO] [stderr] 406 | | self.set_status(Flag::Overflow, true); [INFO] [stderr] 407 | | } [INFO] [stderr] 408 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 404 | if (self.registers.a ^ value) & 0x80 == 0 && (self.registers.a ^ new_a as u8) & 0x80 == 0x80 { [INFO] [stderr] 405 | self.set_status(Flag::Overflow, true); [INFO] [stderr] 406 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:823:5 [INFO] [stderr] | [INFO] [stderr] 823 | return self.cartridge.load(address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.cartridge.load(address)` [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: unneeded return statement [INFO] [stderr] --> src/cpu.rs:838:5 [INFO] [stderr] | [INFO] [stderr] 838 | return self.cartridge.store(address, value); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.cartridge.store(address, value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/cpu.rs:404:3 [INFO] [stderr] | [INFO] [stderr] 404 | if (self.registers.a ^ value) & 0x80 == 0 { [INFO] [stderr] | _________^ [INFO] [stderr] 405 | | if (self.registers.a ^ new_a as u8) & 0x80 == 0x80 { [INFO] [stderr] 406 | | self.set_status(Flag::Overflow, true); [INFO] [stderr] 407 | | } [INFO] [stderr] 408 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 404 | if (self.registers.a ^ value) & 0x80 == 0 && (self.registers.a ^ new_a as u8) & 0x80 == 0x80 { [INFO] [stderr] 405 | self.set_status(Flag::Overflow, true); [INFO] [stderr] 406 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:823:5 [INFO] [stderr] | [INFO] [stderr] 823 | return self.cartridge.load(address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.cartridge.load(address)` [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: unneeded return statement [INFO] [stderr] --> src/cpu.rs:838:5 [INFO] [stderr] | [INFO] [stderr] 838 | return self.cartridge.store(address, value); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.cartridge.store(address, value)` [INFO] [stderr] | [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 variable: `address` [INFO] [stderr] --> src/memory.rs:33:22 [INFO] [stderr] | [INFO] [stderr] 33 | fn store(&mut self, address: u16, value: u8) { [INFO] [stderr] | ^^^^^^^ help: consider using `_address` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/memory.rs:33:36 [INFO] [stderr] | [INFO] [stderr] 33 | fn store(&mut self, address: u16, value: u8) { [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NMI_VECTOR` [INFO] [stderr] --> src/cpu.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | const NMI_VECTOR: u16 = 0xFFFA; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `RESET_VECTOR` [INFO] [stderr] --> src/cpu.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | const RESET_VECTOR: u16 = 0xFFFC; // Location of first instruction in memory [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `power_up` [INFO] [stderr] --> src/cpu.rs:58:2 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn power_up(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `reset` [INFO] [stderr] --> src/cpu.rs:78:2 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `header` [INFO] [stderr] --> src/mapper.rs:7:2 [INFO] [stderr] | [INFO] [stderr] 7 | header: Header, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `NRomCHR` [INFO] [stderr] --> src/mapper.rs:45:1 [INFO] [stderr] | [INFO] [stderr] 45 | pub struct NRomCHR { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:122:3 [INFO] [stderr] | [INFO] [stderr] 122 | self.load_pc() as u16 | (self.load_pc() as u16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load_pc())` [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.rs:122:27 [INFO] [stderr] | [INFO] [stderr] 122 | self.load_pc() as u16 | (self.load_pc() as u16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load_pc())` [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.rs:136:17 [INFO] [stderr] | [INFO] [stderr] 136 | let address = (self.registers.s as u16) | 0x100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.s)` [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.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | let address = (self.registers.s as u16) | 0x100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.s)` [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.rs:157:3 [INFO] [stderr] | [INFO] [stderr] 157 | (word | self.pull()) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(word | self.pull())` [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.rs:172:20 [INFO] [stderr] | [INFO] [stderr] 172 | self.getw_pc() + self.registers.x as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.x)` [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.rs:176:20 [INFO] [stderr] | [INFO] [stderr] 176 | self.getw_pc() + self.registers.y as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.y)` [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.rs:180:3 [INFO] [stderr] | [INFO] [stderr] 180 | self.load_pc() as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load_pc())` [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.rs:184:3 [INFO] [stderr] | [INFO] [stderr] 184 | (self.load_pc() + self.registers.x) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load_pc() + self.registers.x)` [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.rs:188:3 [INFO] [stderr] | [INFO] [stderr] 188 | (self.load_pc() + self.registers.y) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load_pc() + self.registers.y)` [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.rs:193:14 [INFO] [stderr] | [INFO] [stderr] 193 | self.loadw(address as u16) // Indirect address [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [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.rs:198:14 [INFO] [stderr] | [INFO] [stderr] 198 | self.loadw(address as u16) + self.registers.y as u16 // Indirect address [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [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.rs:198:32 [INFO] [stderr] | [INFO] [stderr] 198 | self.loadw(address as u16) + self.registers.y as u16 // Indirect address [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.y)` [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.rs:204:24 [INFO] [stderr] | [INFO] [stderr] 204 | self.registers.pc - (address & 0x7F) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(address & 0x7F)` [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.rs:206:24 [INFO] [stderr] | [INFO] [stderr] 206 | self.registers.pc + address as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [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.rs:397:19 [INFO] [stderr] | [INFO] [stderr] 397 | let mut new_a = self.registers.a as u16 + value as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.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.rs:397:45 [INFO] [stderr] | [INFO] [stderr] 397 | let mut new_a = self.registers.a as u16 + value as u16; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(value)` [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: unused variable: `address` [INFO] [stderr] --> src/memory.rs:33:22 [INFO] [stderr] | [INFO] [stderr] 33 | fn store(&mut self, address: u16, value: u8) { [INFO] [stderr] | ^^^^^^^ help: consider using `_address` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/memory.rs:33:36 [INFO] [stderr] | [INFO] [stderr] 33 | fn store(&mut self, address: u16, value: u8) { [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/cpu.rs:691:3 [INFO] [stderr] | [INFO] [stderr] 691 | self.registers.a = self.registers.a >> 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.registers.a >>= 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:756:25 [INFO] [stderr] | [INFO] [stderr] 756 | let mut new_a = a as u32 - value as u32; [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(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 u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:756:36 [INFO] [stderr] | [INFO] [stderr] 756 | let mut new_a = a as u32 - value as u32; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(value)` [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: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/mapper.rs:13:34 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn new(header: Header, prg: Box>) -> NRomPRG { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::box_vec)] on by default [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/memory.rs:7:3 [INFO] [stderr] | [INFO] [stderr] 7 | self.load(address) as u16 | (self.load(address + 1) as u16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load(address))` [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/memory.rs:7:31 [INFO] [stderr] | [INFO] [stderr] 7 | self.load(address) as u16 | (self.load(address + 1) as u16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load(address + 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: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/memory.rs:17:8 [INFO] [stderr] | [INFO] [stderr] 17 | data: Box> [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/memory.rs:21:19 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(data: Box>) -> ReadOnlyMemory { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/rom.rs:77:15 [INFO] [stderr] | [INFO] [stderr] 77 | fn new(data: &u8) -> Flags6 { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/rom.rs:104:15 [INFO] [stderr] | [INFO] [stderr] 104 | fn new(data: &u8) -> Flags7 { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/rom.rs:118:11 [INFO] [stderr] | [INFO] [stderr] 118 | pub prg: Box>, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/rom.rs:119:11 [INFO] [stderr] | [INFO] [stderr] 119 | pub chr: Box> [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [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/rom.rs:128:3 [INFO] [stderr] | [INFO] [stderr] 128 | match file.read_exact(&mut header_data) { [INFO] [stderr] | _________^ [INFO] [stderr] 129 | | Err(_) => return Err(Error::new(ErrorKind::Other, "Failed to read header!")), [INFO] [stderr] 130 | | _ => () [INFO] [stderr] 131 | | } [INFO] [stderr] | |_________^ help: try this: `if let Err(_) = file.read_exact(&mut header_data) { return Err(Error::new(ErrorKind::Other, "Failed to read header!")) }` [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: constant item is never used: `NMI_VECTOR` [INFO] [stderr] --> src/cpu.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | const NMI_VECTOR: u16 = 0xFFFA; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `RESET_VECTOR` [INFO] [stderr] --> src/cpu.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | const RESET_VECTOR: u16 = 0xFFFC; // Location of first instruction in memory [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `power_up` [INFO] [stderr] --> src/cpu.rs:58:2 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn power_up(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `reset` [INFO] [stderr] --> src/cpu.rs:78:2 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `header` [INFO] [stderr] --> src/mapper.rs:7:2 [INFO] [stderr] | [INFO] [stderr] 7 | header: Header, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `NRomCHR` [INFO] [stderr] --> src/mapper.rs:45:1 [INFO] [stderr] | [INFO] [stderr] 45 | pub struct NRomCHR { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:122:3 [INFO] [stderr] | [INFO] [stderr] 122 | self.load_pc() as u16 | (self.load_pc() as u16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load_pc())` [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.rs:122:27 [INFO] [stderr] | [INFO] [stderr] 122 | self.load_pc() as u16 | (self.load_pc() as u16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load_pc())` [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.rs:136:17 [INFO] [stderr] | [INFO] [stderr] 136 | let address = (self.registers.s as u16) | 0x100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.s)` [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.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | let address = (self.registers.s as u16) | 0x100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.s)` [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.rs:157:3 [INFO] [stderr] | [INFO] [stderr] 157 | (word | self.pull()) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(word | self.pull())` [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.rs:172:20 [INFO] [stderr] | [INFO] [stderr] 172 | self.getw_pc() + self.registers.x as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.x)` [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.rs:176:20 [INFO] [stderr] | [INFO] [stderr] 176 | self.getw_pc() + self.registers.y as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.y)` [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.rs:180:3 [INFO] [stderr] | [INFO] [stderr] 180 | self.load_pc() as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load_pc())` [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.rs:184:3 [INFO] [stderr] | [INFO] [stderr] 184 | (self.load_pc() + self.registers.x) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load_pc() + self.registers.x)` [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.rs:188:3 [INFO] [stderr] | [INFO] [stderr] 188 | (self.load_pc() + self.registers.y) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load_pc() + self.registers.y)` [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.rs:193:14 [INFO] [stderr] | [INFO] [stderr] 193 | self.loadw(address as u16) // Indirect address [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [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.rs:198:14 [INFO] [stderr] | [INFO] [stderr] 198 | self.loadw(address as u16) + self.registers.y as u16 // Indirect address [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [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.rs:198:32 [INFO] [stderr] | [INFO] [stderr] 198 | self.loadw(address as u16) + self.registers.y as u16 // Indirect address [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.y)` [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.rs:204:24 [INFO] [stderr] | [INFO] [stderr] 204 | self.registers.pc - (address & 0x7F) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(address & 0x7F)` [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.rs:206:24 [INFO] [stderr] | [INFO] [stderr] 206 | self.registers.pc + address as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [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.rs:397:19 [INFO] [stderr] | [INFO] [stderr] 397 | let mut new_a = self.registers.a as u16 + value as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.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.rs:397:45 [INFO] [stderr] | [INFO] [stderr] 397 | let mut new_a = self.registers.a as u16 + value as u16; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(value)` [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: manual implementation of an assign operation [INFO] [stderr] --> src/cpu.rs:691:3 [INFO] [stderr] | [INFO] [stderr] 691 | self.registers.a = self.registers.a >> 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.registers.a >>= 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:756:25 [INFO] [stderr] | [INFO] [stderr] 756 | let mut new_a = a as u32 - value as u32; [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(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 u32 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:756:36 [INFO] [stderr] | [INFO] [stderr] 756 | let mut new_a = a as u32 - value as u32; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(value)` [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: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/mapper.rs:13:34 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn new(header: Header, prg: Box>) -> NRomPRG { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::box_vec)] on by default [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/memory.rs:7:3 [INFO] [stderr] | [INFO] [stderr] 7 | self.load(address) as u16 | (self.load(address + 1) as u16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load(address))` [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/memory.rs:7:31 [INFO] [stderr] | [INFO] [stderr] 7 | self.load(address) as u16 | (self.load(address + 1) as u16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.load(address + 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: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/memory.rs:17:8 [INFO] [stderr] | [INFO] [stderr] 17 | data: Box> [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/memory.rs:21:19 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(data: Box>) -> ReadOnlyMemory { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/rom.rs:77:15 [INFO] [stderr] | [INFO] [stderr] 77 | fn new(data: &u8) -> Flags6 { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/rom.rs:104:15 [INFO] [stderr] | [INFO] [stderr] 104 | fn new(data: &u8) -> Flags7 { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/rom.rs:118:11 [INFO] [stderr] | [INFO] [stderr] 118 | pub prg: Box>, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/rom.rs:119:11 [INFO] [stderr] | [INFO] [stderr] 119 | pub chr: Box> [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [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/rom.rs:128:3 [INFO] [stderr] | [INFO] [stderr] 128 | match file.read_exact(&mut header_data) { [INFO] [stderr] | _________^ [INFO] [stderr] 129 | | Err(_) => return Err(Error::new(ErrorKind::Other, "Failed to read header!")), [INFO] [stderr] 130 | | _ => () [INFO] [stderr] 131 | | } [INFO] [stderr] | |_________^ help: try this: `if let Err(_) = file.read_exact(&mut header_data) { return Err(Error::new(ErrorKind::Other, "Failed to read header!")) }` [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] Finished dev [unoptimized + debuginfo] target(s) in 1.11s [INFO] running `"docker" "inspect" "310a4618ac947e23890075d4dda9799a54b82a14dd4aae885f6ccc2fb6a23366"` [INFO] running `"docker" "rm" "-f" "310a4618ac947e23890075d4dda9799a54b82a14dd4aae885f6ccc2fb6a23366"` [INFO] [stdout] 310a4618ac947e23890075d4dda9799a54b82a14dd4aae885f6ccc2fb6a23366