[INFO] updating cached repository evgendn/rusty_nes [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/evgendn/rusty_nes [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/evgendn/rusty_nes" "work/ex/clippy-test-run/sources/stable/gh/evgendn/rusty_nes"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/evgendn/rusty_nes'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/evgendn/rusty_nes" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/evgendn/rusty_nes"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/evgendn/rusty_nes'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 4fb968742970a288a7dfe8da9580b728179dc9cf [INFO] sha for GitHub repo evgendn/rusty_nes: 4fb968742970a288a7dfe8da9580b728179dc9cf [INFO] validating manifest of evgendn/rusty_nes 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 evgendn/rusty_nes 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 evgendn/rusty_nes [INFO] finished frobbing evgendn/rusty_nes [INFO] frobbed toml for evgendn/rusty_nes written to work/ex/clippy-test-run/sources/stable/gh/evgendn/rusty_nes/Cargo.toml [INFO] started frobbing evgendn/rusty_nes [INFO] finished frobbing evgendn/rusty_nes [INFO] frobbed toml for evgendn/rusty_nes written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/evgendn/rusty_nes/Cargo.toml [INFO] crate evgendn/rusty_nes 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 evgendn/rusty_nes against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/evgendn/rusty_nes:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dclippy::into_iter_on_array" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 96f7b9b8fcd718d696a9586f8b80393a278e33408cb93d2219d293a9ccd57f80 [INFO] running `"docker" "start" "-a" "96f7b9b8fcd718d696a9586f8b80393a278e33408cb93d2219d293a9ccd57f80"` [INFO] [stderr] Checking rusty_nes v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rom.rs:171:13 [INFO] [stderr] | [INFO] [stderr] 171 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [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/rom.rs:172:13 [INFO] [stderr] | [INFO] [stderr] 172 | mirroring: mirroring, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mirroring` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpu/cpu.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | ram: ram, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ram` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rom.rs:171:13 [INFO] [stderr] | [INFO] [stderr] 171 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [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/rom.rs:172:13 [INFO] [stderr] | [INFO] [stderr] 172 | mirroring: mirroring, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mirroring` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cpu/cpu.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | ram: ram, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ram` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/cpu/mod.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub mod cpu; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/cpu/mod.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub mod cpu; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/cpu/instructions.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn lda(cpu: &mut cpu::CPU, address: u8) { [INFO] [stderr] | ^^^ help: consider using `_cpu` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `address` [INFO] [stderr] --> src/cpu/instructions.rs:5:32 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn lda(cpu: &mut cpu::CPU, address: u8) { [INFO] [stderr] | ^^^^^^^ help: consider using `_address` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prg_ram_size_bytes` [INFO] [stderr] --> src/rom.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | let prg_ram_size_bytes = (header.prg_ram_size as u32) * 8 * KB; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using `_prg_ram_size_bytes` instead [INFO] [stderr] [INFO] [stderr] warning: function is never used: `toggle_bit` [INFO] [stderr] --> src/utils.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn toggle_bit(byte: &mut u8, i: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `clear_bit` [INFO] [stderr] --> src/utils.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn clear_bit(byte: &mut u8, i: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InterruptFlag` [INFO] [stderr] --> src/cpu/cpu.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | InterruptFlag = 2, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DecimalMode` [INFO] [stderr] --> src/cpu/cpu.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | DecimalMode = 3, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Breakpoint` [INFO] [stderr] --> src/cpu/cpu.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | Breakpoint = 4, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_zero_flag` [INFO] [stderr] --> src/cpu/cpu.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn get_zero_flag(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_interrupt_flag` [INFO] [stderr] --> src/cpu/cpu.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn get_interrupt_flag(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_decimal_flag` [INFO] [stderr] --> src/cpu/cpu.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn get_decimal_flag(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_breakpoint` [INFO] [stderr] --> src/cpu/cpu.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn get_breakpoint(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_overflow_flag` [INFO] [stderr] --> src/cpu/cpu.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn get_overflow_flag(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_negative_flag` [INFO] [stderr] --> src/cpu/cpu.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn get_negative_flag(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_interrupt_flag` [INFO] [stderr] --> src/cpu/cpu.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | pub fn set_interrupt_flag(&mut self, value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_decimal_flag` [INFO] [stderr] --> src/cpu/cpu.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn set_decimal_flag(&mut self, value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_breakpoint` [INFO] [stderr] --> src/cpu/cpu.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn set_breakpoint(&mut self, value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `reset` [INFO] [stderr] --> src/cpu/cpu.rs:133:5 [INFO] [stderr] | [INFO] [stderr] 133 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write` [INFO] [stderr] --> src/ram.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn write(&mut self, address: u16, byte: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rom.rs:163:34 [INFO] [stderr] | [INFO] [stderr] 163 | let prg_rom_size_bytes = (header.prg_rom_size as u32) * 16 * KB; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(header.prg_rom_size)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/rom.rs:164:34 [INFO] [stderr] | [INFO] [stderr] 164 | let chr_rom_size_bytes = (header.chr_rom_size as u32) * 8 * KB; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(header.chr_rom_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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rom.rs:165:34 [INFO] [stderr] | [INFO] [stderr] 165 | let prg_ram_size_bytes = (header.prg_ram_size as u32) * 8 * KB; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(header.prg_ram_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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils.rs:1:22 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn get_bit(byte: &u8, i: u8) -> u8 { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/utils.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | / match value { [INFO] [stderr] 15 | | true => *byte |= 1u8 << i, [INFO] [stderr] 16 | | false => *byte &= !(1u8 << i), [INFO] [stderr] 17 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if value { *byte |= 1u8 << i } else { *byte &= !(1u8 << i) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:150:44 [INFO] [stderr] | [INFO] [stderr] 150 | AddressingMode::Accumulator => self.fetching_accumulator() as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.fetching_accumulator())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:151:42 [INFO] [stderr] | [INFO] [stderr] 151 | AddressingMode::Immediate => self.fetch_immidiate() as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.fetch_immidiate())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:158:41 [INFO] [stderr] | [INFO] [stderr] 158 | AddressingMode::Relative => self.fetch_relative() as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.fetch_relative())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | address as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:184:10 [INFO] [stderr] | [INFO] [stderr] 184 | (address as u16 + self.x_reg as u16) & 0xff as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:184:27 [INFO] [stderr] | [INFO] [stderr] 184 | (address as u16 + self.x_reg as u16) & 0xff as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.x_reg)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:190:10 [INFO] [stderr] | [INFO] [stderr] 190 | (address as u16 + self.y_reg as u16) & 0xff as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:190:27 [INFO] [stderr] | [INFO] [stderr] 190 | (address as u16 + self.y_reg as u16) & 0xff as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.y_reg)` [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: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] --> src/cpu/cpu.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | address & 0xffff [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: the operation is ineffective. Consider reducing it to `(address + self.x_reg as u16)` [INFO] [stderr] --> src/cpu/cpu.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | (address + self.x_reg as u16) & 0xffff [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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/cpu/cpu.rs:212:20 [INFO] [stderr] | [INFO] [stderr] 212 | (address + self.x_reg as u16) & 0xffff [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.x_reg)` [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: the operation is ineffective. Consider reducing it to `(address + self.y_reg as u16)` [INFO] [stderr] --> src/cpu/cpu.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | (address + self.y_reg as u16) & 0xffff [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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/cpu/cpu.rs:218:20 [INFO] [stderr] | [INFO] [stderr] 218 | (address + self.y_reg as u16) & 0xffff [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.y_reg)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:223:19 [INFO] [stderr] | [INFO] [stderr] 223 | let tmp = ((address + self.x_reg) & 0xff) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from((address + self.x_reg) & 0xff)` [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: the operation is ineffective. Consider reducing it to `(address + self.x_reg)` [INFO] [stderr] --> src/cpu/cpu.rs:223:19 [INFO] [stderr] | [INFO] [stderr] 223 | let tmp = ((address + self.x_reg) & 0xff) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(base as u16 + self.y_reg as u16)` [INFO] [stderr] --> src/cpu/cpu.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | (base as u16 + self.y_reg as u16) & 0xffff [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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/cpu/cpu.rs:235:24 [INFO] [stderr] | [INFO] [stderr] 235 | (base as u16 + self.y_reg as u16) & 0xffff [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.y_reg)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/instructions.rs:12:37 [INFO] [stderr] | [INFO] [stderr] 12 | let fetched = cpu.ram.read_byte(address as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/instructions.rs:13:22 [INFO] [stderr] | [INFO] [stderr] 13 | let mut result = cpu.a_reg as u16 + fetched as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.a_reg)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/instructions.rs:13:41 [INFO] [stderr] | [INFO] [stderr] 13 | let mut result = cpu.a_reg as u16 + fetched as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(fetched)` [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/ram.rs:24:26 [INFO] [stderr] | [INFO] [stderr] 24 | let upper_byte = self.data[address as usize + 1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.data[address as usize + 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/ram.rs:25:26 [INFO] [stderr] | [INFO] [stderr] 25 | let lower_byte = self.data[address as usize] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.data[address 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: unused variable: `cpu` [INFO] [stderr] --> src/cpu/instructions.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn lda(cpu: &mut cpu::CPU, address: u8) { [INFO] [stderr] | ^^^ help: consider using `_cpu` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `address` [INFO] [stderr] --> src/cpu/instructions.rs:5:32 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn lda(cpu: &mut cpu::CPU, address: u8) { [INFO] [stderr] | ^^^^^^^ help: consider using `_address` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prg_ram_size_bytes` [INFO] [stderr] --> src/rom.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | let prg_ram_size_bytes = (header.prg_ram_size as u32) * 8 * KB; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using `_prg_ram_size_bytes` instead [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InterruptFlag` [INFO] [stderr] --> src/cpu/cpu.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | InterruptFlag = 2, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DecimalMode` [INFO] [stderr] --> src/cpu/cpu.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | DecimalMode = 3, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Breakpoint` [INFO] [stderr] --> src/cpu/cpu.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | Breakpoint = 4, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_zero_flag` [INFO] [stderr] --> src/cpu/cpu.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn get_zero_flag(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_interrupt_flag` [INFO] [stderr] --> src/cpu/cpu.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn get_interrupt_flag(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_decimal_flag` [INFO] [stderr] --> src/cpu/cpu.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn get_decimal_flag(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_breakpoint` [INFO] [stderr] --> src/cpu/cpu.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn get_breakpoint(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_overflow_flag` [INFO] [stderr] --> src/cpu/cpu.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn get_overflow_flag(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_negative_flag` [INFO] [stderr] --> src/cpu/cpu.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn get_negative_flag(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_interrupt_flag` [INFO] [stderr] --> src/cpu/cpu.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | pub fn set_interrupt_flag(&mut self, value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_decimal_flag` [INFO] [stderr] --> src/cpu/cpu.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn set_decimal_flag(&mut self, value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_breakpoint` [INFO] [stderr] --> src/cpu/cpu.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn set_breakpoint(&mut self, value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `reset` [INFO] [stderr] --> src/cpu/cpu.rs:133:5 [INFO] [stderr] | [INFO] [stderr] 133 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write` [INFO] [stderr] --> src/ram.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn write(&mut self, address: u16, byte: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rom.rs:163:34 [INFO] [stderr] | [INFO] [stderr] 163 | let prg_rom_size_bytes = (header.prg_rom_size as u32) * 16 * KB; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(header.prg_rom_size)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/rom.rs:164:34 [INFO] [stderr] | [INFO] [stderr] 164 | let chr_rom_size_bytes = (header.chr_rom_size as u32) * 8 * KB; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(header.chr_rom_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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rom.rs:165:34 [INFO] [stderr] | [INFO] [stderr] 165 | let prg_ram_size_bytes = (header.prg_ram_size as u32) * 8 * KB; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(header.prg_ram_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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils.rs:1:22 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn get_bit(byte: &u8, i: u8) -> u8 { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/utils.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | / match value { [INFO] [stderr] 15 | | true => *byte |= 1u8 << i, [INFO] [stderr] 16 | | false => *byte &= !(1u8 << i), [INFO] [stderr] 17 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if value { *byte |= 1u8 << i } else { *byte &= !(1u8 << i) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:150:44 [INFO] [stderr] | [INFO] [stderr] 150 | AddressingMode::Accumulator => self.fetching_accumulator() as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.fetching_accumulator())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:151:42 [INFO] [stderr] | [INFO] [stderr] 151 | AddressingMode::Immediate => self.fetch_immidiate() as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.fetch_immidiate())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:158:41 [INFO] [stderr] | [INFO] [stderr] 158 | AddressingMode::Relative => self.fetch_relative() as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.fetch_relative())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | address as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:184:10 [INFO] [stderr] | [INFO] [stderr] 184 | (address as u16 + self.x_reg as u16) & 0xff as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:184:27 [INFO] [stderr] | [INFO] [stderr] 184 | (address as u16 + self.x_reg as u16) & 0xff as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.x_reg)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:190:10 [INFO] [stderr] | [INFO] [stderr] 190 | (address as u16 + self.y_reg as u16) & 0xff as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:190:27 [INFO] [stderr] | [INFO] [stderr] 190 | (address as u16 + self.y_reg as u16) & 0xff as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.y_reg)` [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: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] --> src/cpu/cpu.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | address & 0xffff [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: the operation is ineffective. Consider reducing it to `(address + self.x_reg as u16)` [INFO] [stderr] --> src/cpu/cpu.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | (address + self.x_reg as u16) & 0xffff [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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/cpu/cpu.rs:212:20 [INFO] [stderr] | [INFO] [stderr] 212 | (address + self.x_reg as u16) & 0xffff [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.x_reg)` [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: the operation is ineffective. Consider reducing it to `(address + self.y_reg as u16)` [INFO] [stderr] --> src/cpu/cpu.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | (address + self.y_reg as u16) & 0xffff [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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/cpu/cpu.rs:218:20 [INFO] [stderr] | [INFO] [stderr] 218 | (address + self.y_reg as u16) & 0xffff [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.y_reg)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/cpu.rs:223:19 [INFO] [stderr] | [INFO] [stderr] 223 | let tmp = ((address + self.x_reg) & 0xff) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from((address + self.x_reg) & 0xff)` [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: the operation is ineffective. Consider reducing it to `(address + self.x_reg)` [INFO] [stderr] --> src/cpu/cpu.rs:223:19 [INFO] [stderr] | [INFO] [stderr] 223 | let tmp = ((address + self.x_reg) & 0xff) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(base as u16 + self.y_reg as u16)` [INFO] [stderr] --> src/cpu/cpu.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | (base as u16 + self.y_reg as u16) & 0xffff [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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/cpu/cpu.rs:235:24 [INFO] [stderr] | [INFO] [stderr] 235 | (base as u16 + self.y_reg as u16) & 0xffff [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.y_reg)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/instructions.rs:12:37 [INFO] [stderr] | [INFO] [stderr] 12 | let fetched = cpu.ram.read_byte(address as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(address)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/instructions.rs:13:22 [INFO] [stderr] | [INFO] [stderr] 13 | let mut result = cpu.a_reg as u16 + fetched as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.a_reg)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu/instructions.rs:13:41 [INFO] [stderr] | [INFO] [stderr] 13 | let mut result = cpu.a_reg as u16 + fetched as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(fetched)` [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/ram.rs:24:26 [INFO] [stderr] | [INFO] [stderr] 24 | let upper_byte = self.data[address as usize + 1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.data[address as usize + 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/ram.rs:25:26 [INFO] [stderr] | [INFO] [stderr] 25 | let lower_byte = self.data[address as usize] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.data[address 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] Finished dev [unoptimized + debuginfo] target(s) in 1.11s [INFO] running `"docker" "inspect" "96f7b9b8fcd718d696a9586f8b80393a278e33408cb93d2219d293a9ccd57f80"` [INFO] running `"docker" "rm" "-f" "96f7b9b8fcd718d696a9586f8b80393a278e33408cb93d2219d293a9ccd57f80"` [INFO] [stdout] 96f7b9b8fcd718d696a9586f8b80393a278e33408cb93d2219d293a9ccd57f80