[INFO] updating cached repository AlexW-GH/rust8 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/AlexW-GH/rust8 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/AlexW-GH/rust8" "work/ex/clippy-test-run/sources/stable/gh/AlexW-GH/rust8"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/AlexW-GH/rust8'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/AlexW-GH/rust8" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/AlexW-GH/rust8"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/AlexW-GH/rust8'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 940197b73b19c2e560a967950991f79a936064df [INFO] sha for GitHub repo AlexW-GH/rust8: 940197b73b19c2e560a967950991f79a936064df [INFO] validating manifest of AlexW-GH/rust8 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 AlexW-GH/rust8 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 AlexW-GH/rust8 [INFO] finished frobbing AlexW-GH/rust8 [INFO] frobbed toml for AlexW-GH/rust8 written to work/ex/clippy-test-run/sources/stable/gh/AlexW-GH/rust8/Cargo.toml [INFO] started frobbing AlexW-GH/rust8 [INFO] finished frobbing AlexW-GH/rust8 [INFO] frobbed toml for AlexW-GH/rust8 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/AlexW-GH/rust8/Cargo.toml [INFO] crate AlexW-GH/rust8 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 AlexW-GH/rust8 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/AlexW-GH/rust8:/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" "-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] be047afc0bae33087d8cad22d01f86a44ff704e29b579739a932fd6450f36210 [INFO] running `"docker" "start" "-a" "be047afc0bae33087d8cad22d01f86a44ff704e29b579739a932fd6450f36210"` [INFO] [stderr] Checking pistoncore-input v0.17.1 [INFO] [stderr] Checking arrayvec v0.3.21 [INFO] [stderr] Checking serde_yaml v0.6.2 [INFO] [stderr] Checking serde-value v0.4.0 [INFO] [stderr] Compiling target_build_utils v0.3.0 [INFO] [stderr] Checking rusttype v0.2.1 [INFO] [stderr] Checking log4rs v0.6.2 [INFO] [stderr] Compiling libloading v0.3.2 [INFO] [stderr] Checking pistoncore-window v0.26.2 [INFO] [stderr] Checking pistoncore-event_loop v0.31.4 [INFO] [stderr] Checking piston2d-opengl_graphics v0.42.1 [INFO] [stderr] Checking piston v0.31.4 [INFO] [stderr] Checking dlib v0.3.1 [INFO] [stderr] Checking wayland-sys v0.7.8 [INFO] [stderr] Checking wayland-client v0.7.8 [INFO] [stderr] Checking wayland-window v0.4.4 [INFO] [stderr] Checking wayland-kbd v0.6.3 [INFO] [stderr] Checking winit v0.5.11 [INFO] [stderr] Checking glutin v0.7.4 [INFO] [stderr] Checking pistoncore-glutin_window v0.35.1 [INFO] [stderr] Checking rust8 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | opcode: opcode, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `opcode` [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/emulator/chip8/component/opcode.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | opcode: opcode, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `opcode` [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: long literal lacking separators [INFO] [stderr] --> src/emulator/chip8/component/screen.rs:40:28 [INFO] [stderr] | [INFO] [stderr] 40 | let mask: u8 = 0b10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [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/emulator/chip8/component/registers.rs:83:64 [INFO] [stderr] | [INFO] [stderr] 83 | let lsb = if (self.data_registers[register as usize] & 0b00000001) > 0 { 1 } else { 0 }; [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/emulator/chip8/component/registers.rs:90:64 [INFO] [stderr] | [INFO] [stderr] 90 | let msb = if (self.data_registers[register as usize] & 0b10000000) > 0 { 1 } else { 0 }; [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: operator precedence can trip the unwary [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:78:34 [INFO] [stderr] | [INFO] [stderr] 78 | Opcode { opcode: 0x3000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0x3000 | (((register as u16) << 8) + value as u16)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:80:34 [INFO] [stderr] | [INFO] [stderr] 80 | Opcode { opcode: 0x4000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0x4000 | (((register as u16) << 8) + value as u16)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:84:34 [INFO] [stderr] | [INFO] [stderr] 84 | Opcode { opcode: 0x6000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0x6000 | (((register as u16) << 8) + value as u16)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:86:34 [INFO] [stderr] | [INFO] [stderr] 86 | Opcode { opcode: 0x7000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0x7000 | (((register as u16) << 8) + value as u16)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:112:34 [INFO] [stderr] | [INFO] [stderr] 112 | Opcode { opcode: 0xC000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0xC000 | (((register as u16) << 8) + value as u16)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/emulator/chip8/component/screen.rs:40:28 [INFO] [stderr] | [INFO] [stderr] 40 | let mask: u8 = 0b10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [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/emulator/chip8/component/screen.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | 0b01111110, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0111_1110` [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/emulator/chip8/component/screen.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | 0b00011000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0001_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/emulator/chip8/component/screen.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | 0b00011000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0001_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/emulator/chip8/component/screen.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | 0b00011000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0001_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/emulator/chip8/component/registers.rs:83:64 [INFO] [stderr] | [INFO] [stderr] 83 | let lsb = if (self.data_registers[register as usize] & 0b00000001) > 0 { 1 } else { 0 }; [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/emulator/chip8/component/registers.rs:90:64 [INFO] [stderr] | [INFO] [stderr] 90 | let msb = if (self.data_registers[register as usize] & 0b10000000) > 0 { 1 } else { 0 }; [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: long literal lacking separators [INFO] [stderr] --> src/emulator/chip8/component/registers.rs:307:50 [INFO] [stderr] | [INFO] [stderr] 307 | under_test.set_data_register_by_value(1, 0b00000010); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0010` [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/emulator/chip8/component/registers.rs:321:50 [INFO] [stderr] | [INFO] [stderr] 321 | under_test.set_data_register_by_value(1, 0b00000011); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0011` [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/emulator/chip8/component/registers.rs:335:50 [INFO] [stderr] | [INFO] [stderr] 335 | under_test.set_data_register_by_value(1, 0b01000000); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0100_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: long literal lacking separators [INFO] [stderr] --> src/emulator/chip8/component/registers.rs:348:50 [INFO] [stderr] | [INFO] [stderr] 348 | under_test.set_data_register_by_value(1, 0b11000000); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1100_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: operator precedence can trip the unwary [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:78:34 [INFO] [stderr] | [INFO] [stderr] 78 | Opcode { opcode: 0x3000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0x3000 | (((register as u16) << 8) + value as u16)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:80:34 [INFO] [stderr] | [INFO] [stderr] 80 | Opcode { opcode: 0x4000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0x4000 | (((register as u16) << 8) + value as u16)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:84:34 [INFO] [stderr] | [INFO] [stderr] 84 | Opcode { opcode: 0x6000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0x6000 | (((register as u16) << 8) + value as u16)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:86:34 [INFO] [stderr] | [INFO] [stderr] 86 | Opcode { opcode: 0x7000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0x7000 | (((register as u16) << 8) + value as u16)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:112:34 [INFO] [stderr] | [INFO] [stderr] 112 | Opcode { opcode: 0xC000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0xC000 | (((register as u16) << 8) + value as u16)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: method is never used: `from_asm` [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn from_asm(command: ASM) -> Opcode { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/emulator/chip8/component/screen.rs:36:47 [INFO] [stderr] | [INFO] [stderr] 36 | for (row_index, sprite_row) in sprite.into_iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/emulator/chip8/component/registers.rs:52:65 [INFO] [stderr] | [INFO] [stderr] 52 | self.data_registers[start as usize..(end + 1) as usize].into_iter().as_slice() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/emulator/chip8/component/registers.rs:56:18 [INFO] [stderr] | [INFO] [stderr] 56 | for i in 0..register + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `0..=register` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/registers.rs:57:99 [INFO] [stderr] | [INFO] [stderr] 57 | self.data_registers[i as usize] = memory.retrieve_value_from_address(address as u16 + i as u16); [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(i)` [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/emulator/chip8/component/registers.rs:97:34 [INFO] [stderr] | [INFO] [stderr] 97 | self.address_register += self.data_registers[register as usize] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.data_registers[register as usize])` [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/emulator/chip8/component/registers.rs:101:20 [INFO] [stderr] | [INFO] [stderr] 101 | let char = self.get_data_register_value(register) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.get_data_register_value(register))` [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/emulator/chip8/component/memory.rs:30:26 [INFO] [stderr] | [INFO] [stderr] 30 | if ((mem_start + size as u16) as usize) < MEM_SIZE { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(size)` [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: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/emulator/chip8/component/memory.rs:31:83 [INFO] [stderr] | [INFO] [stderr] 31 | self.memory[mem_start as usize..(mem_start + (size as u16)) as usize].into_iter().as_slice() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/memory.rs:31:58 [INFO] [stderr] | [INFO] [stderr] 31 | self.memory[mem_start as usize..(mem_start + (size as u16)) as usize].into_iter().as_slice() [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(size)` [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: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/emulator/chip8/component/memory.rs:43:36 [INFO] [stderr] | [INFO] [stderr] 43 | for (index, byte) in value.into_iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:72:34 [INFO] [stderr] | [INFO] [stderr] 72 | Opcode { opcode: 0x0000 | address, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:78:44 [INFO] [stderr] | [INFO] [stderr] 78 | Opcode { opcode: 0x3000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:78:70 [INFO] [stderr] | [INFO] [stderr] 78 | Opcode { opcode: 0x3000 | ((register as u16) << 8) + value as u16, assembler: command }, [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:80:44 [INFO] [stderr] | [INFO] [stderr] 80 | Opcode { opcode: 0x4000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:80:70 [INFO] [stderr] | [INFO] [stderr] 80 | Opcode { opcode: 0x4000 | ((register as u16) << 8) + value as u16, assembler: command }, [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:82:45 [INFO] [stderr] | [INFO] [stderr] 82 | Opcode { opcode: 0x5000 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:82:72 [INFO] [stderr] | [INFO] [stderr] 82 | Opcode { opcode: 0x5000 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:84:44 [INFO] [stderr] | [INFO] [stderr] 84 | Opcode { opcode: 0x6000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:84:70 [INFO] [stderr] | [INFO] [stderr] 84 | Opcode { opcode: 0x6000 | ((register as u16) << 8) + value as u16, assembler: command }, [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:86:44 [INFO] [stderr] | [INFO] [stderr] 86 | Opcode { opcode: 0x7000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:86:70 [INFO] [stderr] | [INFO] [stderr] 86 | Opcode { opcode: 0x7000 | ((register as u16) << 8) + value as u16, assembler: command }, [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:88:45 [INFO] [stderr] | [INFO] [stderr] 88 | Opcode { opcode: 0x8000 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:88:72 [INFO] [stderr] | [INFO] [stderr] 88 | Opcode { opcode: 0x8000 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:90:45 [INFO] [stderr] | [INFO] [stderr] 90 | Opcode { opcode: 0x8001 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:90:72 [INFO] [stderr] | [INFO] [stderr] 90 | Opcode { opcode: 0x8001 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:92:45 [INFO] [stderr] | [INFO] [stderr] 92 | Opcode { opcode: 0x8002 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:92:72 [INFO] [stderr] | [INFO] [stderr] 92 | Opcode { opcode: 0x8002 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:94:45 [INFO] [stderr] | [INFO] [stderr] 94 | Opcode { opcode: 0x8003 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:94:72 [INFO] [stderr] | [INFO] [stderr] 94 | Opcode { opcode: 0x8003 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:96:45 [INFO] [stderr] | [INFO] [stderr] 96 | Opcode { opcode: 0x8004 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:96:72 [INFO] [stderr] | [INFO] [stderr] 96 | Opcode { opcode: 0x8004 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:98:45 [INFO] [stderr] | [INFO] [stderr] 98 | Opcode { opcode: 0x8005 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:98:72 [INFO] [stderr] | [INFO] [stderr] 98 | Opcode { opcode: 0x8005 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:100:44 [INFO] [stderr] | [INFO] [stderr] 100 | Opcode { opcode: 0x8006 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:102:45 [INFO] [stderr] | [INFO] [stderr] 102 | Opcode { opcode: 0x8007 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:102:72 [INFO] [stderr] | [INFO] [stderr] 102 | Opcode { opcode: 0x8007 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:104:44 [INFO] [stderr] | [INFO] [stderr] 104 | Opcode { opcode: 0x800E | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:106:45 [INFO] [stderr] | [INFO] [stderr] 106 | Opcode { opcode: 0x9000 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:106:72 [INFO] [stderr] | [INFO] [stderr] 106 | Opcode { opcode: 0x9000 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:112:44 [INFO] [stderr] | [INFO] [stderr] 112 | Opcode { opcode: 0xC000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:112:70 [INFO] [stderr] | [INFO] [stderr] 112 | Opcode { opcode: 0xC000 | ((register as u16) << 8) + value as u16, assembler: command }, [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:114:45 [INFO] [stderr] | [INFO] [stderr] 114 | Opcode { opcode: 0xD000 | (((register_x as u16) << 8) + ((register_y as u16) << 4) + register_h as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register_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/emulator/chip8/component/opcode.rs:114:74 [INFO] [stderr] | [INFO] [stderr] 114 | Opcode { opcode: 0xD000 | (((register_x as u16) << 8) + ((register_y as u16) << 4) + register_h as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register_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/emulator/chip8/component/opcode.rs:114:102 [INFO] [stderr] | [INFO] [stderr] 114 | Opcode { opcode: 0xD000 | (((register_x as u16) << 8) + ((register_y as u16) << 4) + register_h as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register_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/emulator/chip8/component/opcode.rs:116:44 [INFO] [stderr] | [INFO] [stderr] 116 | Opcode { opcode: 0xE09E | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:118:44 [INFO] [stderr] | [INFO] [stderr] 118 | Opcode { opcode: 0xE0A1 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:120:44 [INFO] [stderr] | [INFO] [stderr] 120 | Opcode { opcode: 0xF007 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:122:44 [INFO] [stderr] | [INFO] [stderr] 122 | Opcode { opcode: 0xF00A | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:124:44 [INFO] [stderr] | [INFO] [stderr] 124 | Opcode { opcode: 0xF015 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:126:44 [INFO] [stderr] | [INFO] [stderr] 126 | Opcode { opcode: 0xF018 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:128:44 [INFO] [stderr] | [INFO] [stderr] 128 | Opcode { opcode: 0xF01E | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:130:44 [INFO] [stderr] | [INFO] [stderr] 130 | Opcode { opcode: 0xF029 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:132:44 [INFO] [stderr] | [INFO] [stderr] 132 | Opcode { opcode: 0xF033 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:134:44 [INFO] [stderr] | [INFO] [stderr] 134 | Opcode { opcode: 0xF055 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:136:44 [INFO] [stderr] | [INFO] [stderr] 136 | Opcode { opcode: 0xF065 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:169:28 [INFO] [stderr] | [INFO] [stderr] 169 | ASM::SHL(_) => self.opcode = self.opcode & 0xFF0F, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.opcode &= 0xFF0F` [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: manual implementation of an assign operation [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:170:28 [INFO] [stderr] | [INFO] [stderr] 170 | ASM::SHR(_) => self.opcode = self.opcode & 0xFF0F, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.opcode &= 0xFF0F` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:175:43 [INFO] [stderr] | [INFO] [stderr] 175 | fn retrieve_0_opcodes(&self, nibbles: &(u8, u8, u8, u8)) -> ASM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `(u8, u8, u8, 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/emulator/chip8/component/opcode.rs:187:43 [INFO] [stderr] | [INFO] [stderr] 187 | fn retrieve_5_opcodes(&self, nibbles: &(u8, u8, u8, u8)) -> ASM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `(u8, u8, u8, 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:194:43 [INFO] [stderr] | [INFO] [stderr] 194 | fn retrieve_8_opcodes(&self, nibbles: &(u8, u8, u8, u8)) -> ASM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `(u8, u8, u8, 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:209:43 [INFO] [stderr] | [INFO] [stderr] 209 | fn retrieve_9_opcodes(&self, nibbles: &(u8, u8, u8, u8)) -> ASM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `(u8, u8, u8, 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:216:43 [INFO] [stderr] | [INFO] [stderr] 216 | fn retrieve_e_opcodes(&self, nibbles: &(u8, u8, u8, u8)) -> ASM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `(u8, u8, u8, 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:230:43 [INFO] [stderr] | [INFO] [stderr] 230 | fn retrieve_f_opcodes(&self, nibbles: &(u8, u8, u8, u8)) -> ASM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `(u8, u8, u8, 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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/mod.rs:53:18 [INFO] [stderr] | [INFO] [stderr] 53 | Opcode::new(((memory.retrieve_value_from_address(address) as u16) << 8) + memory.retrieve_value_from_address(address + 1) as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(memory.retrieve_value_from_address(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/emulator/chip8/mod.rs:53:79 [INFO] [stderr] | [INFO] [stderr] 53 | Opcode::new(((memory.retrieve_value_from_address(address) as u16) << 8) + memory.retrieve_value_from_address(address + 1) as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(memory.retrieve_value_from_address(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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/mod.rs:215:23 [INFO] [stderr] | [INFO] [stderr] 215 | let address = self.registers.get_data_register_value(0x0) as u16 + value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.get_data_register_value(0x0))` [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: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/emulator/chip8/component/screen.rs:36:47 [INFO] [stderr] | [INFO] [stderr] 36 | for (row_index, sprite_row) in sprite.into_iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/emulator/chip8/component/screen.rs:124:17 [INFO] [stderr] | [INFO] [stderr] 124 | assert!(switch == false); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!switch` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/emulator/chip8/component/screen.rs:140:17 [INFO] [stderr] | [INFO] [stderr] 140 | assert!(switch == true); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try simplifying it as shown: `switch` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/emulator/chip8/component/screen.rs:161:17 [INFO] [stderr] | [INFO] [stderr] 161 | assert!(switch == false); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!switch` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/emulator/chip8/component/screen.rs:183:17 [INFO] [stderr] | [INFO] [stderr] 183 | assert!(switch == false); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!switch` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/emulator/chip8/component/registers.rs:52:65 [INFO] [stderr] | [INFO] [stderr] 52 | self.data_registers[start as usize..(end + 1) as usize].into_iter().as_slice() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/emulator/chip8/component/registers.rs:56:18 [INFO] [stderr] | [INFO] [stderr] 56 | for i in 0..register + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `0..=register` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/registers.rs:57:99 [INFO] [stderr] | [INFO] [stderr] 57 | self.data_registers[i as usize] = memory.retrieve_value_from_address(address as u16 + i as u16); [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(i)` [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/emulator/chip8/component/registers.rs:97:34 [INFO] [stderr] | [INFO] [stderr] 97 | self.address_register += self.data_registers[register as usize] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.data_registers[register as usize])` [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/emulator/chip8/component/registers.rs:101:20 [INFO] [stderr] | [INFO] [stderr] 101 | let char = self.get_data_register_value(register) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.get_data_register_value(register))` [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/emulator/chip8/component/memory.rs:30:26 [INFO] [stderr] | [INFO] [stderr] 30 | if ((mem_start + size as u16) as usize) < MEM_SIZE { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(size)` [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: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/emulator/chip8/component/memory.rs:31:83 [INFO] [stderr] | [INFO] [stderr] 31 | self.memory[mem_start as usize..(mem_start + (size as u16)) as usize].into_iter().as_slice() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/memory.rs:31:58 [INFO] [stderr] | [INFO] [stderr] 31 | self.memory[mem_start as usize..(mem_start + (size as u16)) as usize].into_iter().as_slice() [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(size)` [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: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/emulator/chip8/component/memory.rs:43:36 [INFO] [stderr] | [INFO] [stderr] 43 | for (index, byte) in value.into_iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/emulator/chip8/component/memory.rs:161:42 [INFO] [stderr] | [INFO] [stderr] 161 | under_test.store_from_address_on(&vec![1, 2, 3, 4], 0x300); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[1, 2, 3, 4]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:72:34 [INFO] [stderr] | [INFO] [stderr] 72 | Opcode { opcode: 0x0000 | address, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:78:44 [INFO] [stderr] | [INFO] [stderr] 78 | Opcode { opcode: 0x3000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:78:70 [INFO] [stderr] | [INFO] [stderr] 78 | Opcode { opcode: 0x3000 | ((register as u16) << 8) + value as u16, assembler: command }, [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:80:44 [INFO] [stderr] | [INFO] [stderr] 80 | Opcode { opcode: 0x4000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:80:70 [INFO] [stderr] | [INFO] [stderr] 80 | Opcode { opcode: 0x4000 | ((register as u16) << 8) + value as u16, assembler: command }, [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:82:45 [INFO] [stderr] | [INFO] [stderr] 82 | Opcode { opcode: 0x5000 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:82:72 [INFO] [stderr] | [INFO] [stderr] 82 | Opcode { opcode: 0x5000 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:84:44 [INFO] [stderr] | [INFO] [stderr] 84 | Opcode { opcode: 0x6000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:84:70 [INFO] [stderr] | [INFO] [stderr] 84 | Opcode { opcode: 0x6000 | ((register as u16) << 8) + value as u16, assembler: command }, [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:86:44 [INFO] [stderr] | [INFO] [stderr] 86 | Opcode { opcode: 0x7000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:86:70 [INFO] [stderr] | [INFO] [stderr] 86 | Opcode { opcode: 0x7000 | ((register as u16) << 8) + value as u16, assembler: command }, [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:88:45 [INFO] [stderr] | [INFO] [stderr] 88 | Opcode { opcode: 0x8000 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:88:72 [INFO] [stderr] | [INFO] [stderr] 88 | Opcode { opcode: 0x8000 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:90:45 [INFO] [stderr] | [INFO] [stderr] 90 | Opcode { opcode: 0x8001 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:90:72 [INFO] [stderr] | [INFO] [stderr] 90 | Opcode { opcode: 0x8001 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:92:45 [INFO] [stderr] | [INFO] [stderr] 92 | Opcode { opcode: 0x8002 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:92:72 [INFO] [stderr] | [INFO] [stderr] 92 | Opcode { opcode: 0x8002 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:94:45 [INFO] [stderr] | [INFO] [stderr] 94 | Opcode { opcode: 0x8003 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:94:72 [INFO] [stderr] | [INFO] [stderr] 94 | Opcode { opcode: 0x8003 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:96:45 [INFO] [stderr] | [INFO] [stderr] 96 | Opcode { opcode: 0x8004 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:96:72 [INFO] [stderr] | [INFO] [stderr] 96 | Opcode { opcode: 0x8004 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:98:45 [INFO] [stderr] | [INFO] [stderr] 98 | Opcode { opcode: 0x8005 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:98:72 [INFO] [stderr] | [INFO] [stderr] 98 | Opcode { opcode: 0x8005 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:100:44 [INFO] [stderr] | [INFO] [stderr] 100 | Opcode { opcode: 0x8006 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:102:45 [INFO] [stderr] | [INFO] [stderr] 102 | Opcode { opcode: 0x8007 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:102:72 [INFO] [stderr] | [INFO] [stderr] 102 | Opcode { opcode: 0x8007 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:104:44 [INFO] [stderr] | [INFO] [stderr] 104 | Opcode { opcode: 0x800E | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:106:45 [INFO] [stderr] | [INFO] [stderr] 106 | Opcode { opcode: 0x9000 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register1)` [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/emulator/chip8/component/opcode.rs:106:72 [INFO] [stderr] | [INFO] [stderr] 106 | Opcode { opcode: 0x9000 | (((register1 as u16) << 8) + (register2 << 4) as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register2 << 4)` [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/emulator/chip8/component/opcode.rs:112:44 [INFO] [stderr] | [INFO] [stderr] 112 | Opcode { opcode: 0xC000 | ((register as u16) << 8) + value as u16, assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:112:70 [INFO] [stderr] | [INFO] [stderr] 112 | Opcode { opcode: 0xC000 | ((register as u16) << 8) + value as u16, assembler: command }, [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:114:45 [INFO] [stderr] | [INFO] [stderr] 114 | Opcode { opcode: 0xD000 | (((register_x as u16) << 8) + ((register_y as u16) << 4) + register_h as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register_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/emulator/chip8/component/opcode.rs:114:74 [INFO] [stderr] | [INFO] [stderr] 114 | Opcode { opcode: 0xD000 | (((register_x as u16) << 8) + ((register_y as u16) << 4) + register_h as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(register_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/emulator/chip8/component/opcode.rs:114:102 [INFO] [stderr] | [INFO] [stderr] 114 | Opcode { opcode: 0xD000 | (((register_x as u16) << 8) + ((register_y as u16) << 4) + register_h as u16), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register_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/emulator/chip8/component/opcode.rs:116:44 [INFO] [stderr] | [INFO] [stderr] 116 | Opcode { opcode: 0xE09E | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:118:44 [INFO] [stderr] | [INFO] [stderr] 118 | Opcode { opcode: 0xE0A1 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:120:44 [INFO] [stderr] | [INFO] [stderr] 120 | Opcode { opcode: 0xF007 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:122:44 [INFO] [stderr] | [INFO] [stderr] 122 | Opcode { opcode: 0xF00A | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:124:44 [INFO] [stderr] | [INFO] [stderr] 124 | Opcode { opcode: 0xF015 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:126:44 [INFO] [stderr] | [INFO] [stderr] 126 | Opcode { opcode: 0xF018 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:128:44 [INFO] [stderr] | [INFO] [stderr] 128 | Opcode { opcode: 0xF01E | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:130:44 [INFO] [stderr] | [INFO] [stderr] 130 | Opcode { opcode: 0xF029 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:132:44 [INFO] [stderr] | [INFO] [stderr] 132 | Opcode { opcode: 0xF033 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:134:44 [INFO] [stderr] | [INFO] [stderr] 134 | Opcode { opcode: 0xF055 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:136:44 [INFO] [stderr] | [INFO] [stderr] 136 | Opcode { opcode: 0xF065 | ((register as u16) << 8), assembler: command }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(register)` [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/emulator/chip8/component/opcode.rs:169:28 [INFO] [stderr] | [INFO] [stderr] 169 | ASM::SHL(_) => self.opcode = self.opcode & 0xFF0F, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.opcode &= 0xFF0F` [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: manual implementation of an assign operation [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:170:28 [INFO] [stderr] | [INFO] [stderr] 170 | ASM::SHR(_) => self.opcode = self.opcode & 0xFF0F, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.opcode &= 0xFF0F` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:175:43 [INFO] [stderr] | [INFO] [stderr] 175 | fn retrieve_0_opcodes(&self, nibbles: &(u8, u8, u8, u8)) -> ASM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `(u8, u8, u8, 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/emulator/chip8/component/opcode.rs:187:43 [INFO] [stderr] | [INFO] [stderr] 187 | fn retrieve_5_opcodes(&self, nibbles: &(u8, u8, u8, u8)) -> ASM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `(u8, u8, u8, 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:194:43 [INFO] [stderr] | [INFO] [stderr] 194 | fn retrieve_8_opcodes(&self, nibbles: &(u8, u8, u8, u8)) -> ASM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `(u8, u8, u8, 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:209:43 [INFO] [stderr] | [INFO] [stderr] 209 | fn retrieve_9_opcodes(&self, nibbles: &(u8, u8, u8, u8)) -> ASM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `(u8, u8, u8, 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:216:43 [INFO] [stderr] | [INFO] [stderr] 216 | fn retrieve_e_opcodes(&self, nibbles: &(u8, u8, u8, u8)) -> ASM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `(u8, u8, u8, 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/emulator/chip8/component/opcode.rs:230:43 [INFO] [stderr] | [INFO] [stderr] 230 | fn retrieve_f_opcodes(&self, nibbles: &(u8, u8, u8, u8)) -> ASM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `(u8, u8, u8, 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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/mod.rs:53:18 [INFO] [stderr] | [INFO] [stderr] 53 | Opcode::new(((memory.retrieve_value_from_address(address) as u16) << 8) + memory.retrieve_value_from_address(address + 1) as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(memory.retrieve_value_from_address(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/emulator/chip8/mod.rs:53:79 [INFO] [stderr] | [INFO] [stderr] 53 | Opcode::new(((memory.retrieve_value_from_address(address) as u16) << 8) + memory.retrieve_value_from_address(address + 1) as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(memory.retrieve_value_from_address(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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/emulator/chip8/mod.rs:215:23 [INFO] [stderr] | [INFO] [stderr] 215 | let address = self.registers.get_data_register_value(0x0) as u16 + value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.registers.get_data_register_value(0x0))` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bin/io/mod.rs:73:33 [INFO] [stderr] | [INFO] [stderr] 73 | let center_width: f64 = ((args.width - ((screen_width as u32) * pixel_width)) / 2) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from((args.width - ((screen_width as u32) * pixel_width)) / 2)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bin/io/mod.rs:74:34 [INFO] [stderr] | [INFO] [stderr] 74 | let center_height: f64 = ((args.height - ((screen_height as u32) * pixel_height)) / 2) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from((args.height - ((screen_height as u32) * pixel_height)) / 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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bin/io/mod.rs:76:63 [INFO] [stderr] | [INFO] [stderr] 76 | let pixel = rectangle::rectangle_by_corners(0.0, 0.0, pixel_width as f64, pixel_height as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pixel_width)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bin/io/mod.rs:76:83 [INFO] [stderr] | [INFO] [stderr] 76 | let pixel = rectangle::rectangle_by_corners(0.0, 0.0, pixel_width as f64, pixel_height as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pixel_height)` [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: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/bin/io/mod.rs:77:63 [INFO] [stderr] | [INFO] [stderr] 77 | let iterator = self.emulator.retrieve_screen_pixels().into_iter(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bin/io/mod.rs:84:29 [INFO] [stderr] | [INFO] [stderr] 84 | let pos_x = (((index % screen_width) as u32) * pixel_width) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(((index % screen_width) as u32) * pixel_width)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bin/io/mod.rs:85:72 [INFO] [stderr] | [INFO] [stderr] 85 | let pos_y = (((index / screen_width) as f64).floor() * pixel_height as f64) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pixel_height)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/io/mod.rs:94:41 [INFO] [stderr] | [INFO] [stderr] 94 | fn handle_key_press(&mut self, key: &Key) { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `Key` [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/bin/io/mod.rs:100:43 [INFO] [stderr] | [INFO] [stderr] 100 | fn handle_key_release(&mut self, key: &Key) { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `Key` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/io/mod.rs:106:31 [INFO] [stderr] | [INFO] [stderr] 106 | fn handle_key(&self, key: &Key) -> Option { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `Key` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/io/mod.rs:128:32 [INFO] [stderr] | [INFO] [stderr] 128 | fn update(&mut self, args: &UpdateArgs) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `UpdateArgs` [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: passing a unit value to a function [INFO] [stderr] --> src/bin/rust8gui.rs:27:59 [INFO] [stderr] | [INFO] [stderr] 27 | log4rs::init_file(file, Default::default()).unwrap_or({ [INFO] [stderr] | ___________________________________________________________^ [INFO] [stderr] 28 | | let stdout = ConsoleAppender::builder().build(); [INFO] [stderr] 29 | | [INFO] [stderr] 30 | | let file = FileAppender::builder() [INFO] [stderr] ... | [INFO] [stderr] 41 | | let _ = log4rs::init_config(config); [INFO] [stderr] 42 | | }); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 27 | log4rs::init_file(file, Default::default()).unwrap_or(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bin/io/mod.rs:73:33 [INFO] [stderr] | [INFO] [stderr] 73 | let center_width: f64 = ((args.width - ((screen_width as u32) * pixel_width)) / 2) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from((args.width - ((screen_width as u32) * pixel_width)) / 2)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bin/io/mod.rs:74:34 [INFO] [stderr] | [INFO] [stderr] 74 | let center_height: f64 = ((args.height - ((screen_height as u32) * pixel_height)) / 2) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from((args.height - ((screen_height as u32) * pixel_height)) / 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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bin/io/mod.rs:76:63 [INFO] [stderr] | [INFO] [stderr] 76 | let pixel = rectangle::rectangle_by_corners(0.0, 0.0, pixel_width as f64, pixel_height as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pixel_width)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bin/io/mod.rs:76:83 [INFO] [stderr] | [INFO] [stderr] 76 | let pixel = rectangle::rectangle_by_corners(0.0, 0.0, pixel_width as f64, pixel_height as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pixel_height)` [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: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/bin/io/mod.rs:77:63 [INFO] [stderr] | [INFO] [stderr] 77 | let iterator = self.emulator.retrieve_screen_pixels().into_iter(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bin/io/mod.rs:84:29 [INFO] [stderr] | [INFO] [stderr] 84 | let pos_x = (((index % screen_width) as u32) * pixel_width) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(((index % screen_width) as u32) * pixel_width)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bin/io/mod.rs:85:72 [INFO] [stderr] | [INFO] [stderr] 85 | let pos_y = (((index / screen_width) as f64).floor() * pixel_height as f64) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pixel_height)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/io/mod.rs:94:41 [INFO] [stderr] | [INFO] [stderr] 94 | fn handle_key_press(&mut self, key: &Key) { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `Key` [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/bin/io/mod.rs:100:43 [INFO] [stderr] | [INFO] [stderr] 100 | fn handle_key_release(&mut self, key: &Key) { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `Key` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/io/mod.rs:106:31 [INFO] [stderr] | [INFO] [stderr] 106 | fn handle_key(&self, key: &Key) -> Option { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `Key` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/io/mod.rs:128:32 [INFO] [stderr] | [INFO] [stderr] 128 | fn update(&mut self, args: &UpdateArgs) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `UpdateArgs` [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: passing a unit value to a function [INFO] [stderr] --> src/bin/rust8gui.rs:27:59 [INFO] [stderr] | [INFO] [stderr] 27 | log4rs::init_file(file, Default::default()).unwrap_or({ [INFO] [stderr] | ___________________________________________________________^ [INFO] [stderr] 28 | | let stdout = ConsoleAppender::builder().build(); [INFO] [stderr] 29 | | [INFO] [stderr] 30 | | let file = FileAppender::builder() [INFO] [stderr] ... | [INFO] [stderr] 41 | | let _ = log4rs::init_config(config); [INFO] [stderr] 42 | | }); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 27 | log4rs::init_file(file, Default::default()).unwrap_or(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 28.57s [INFO] running `"docker" "inspect" "be047afc0bae33087d8cad22d01f86a44ff704e29b579739a932fd6450f36210"` [INFO] running `"docker" "rm" "-f" "be047afc0bae33087d8cad22d01f86a44ff704e29b579739a932fd6450f36210"` [INFO] [stdout] be047afc0bae33087d8cad22d01f86a44ff704e29b579739a932fd6450f36210