[INFO] updating cached repository stachetheoverlord/rs6502 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/stachetheoverlord/rs6502 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/stachetheoverlord/rs6502" "work/ex/clippy-test-run/sources/stable/gh/stachetheoverlord/rs6502"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/stachetheoverlord/rs6502'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/stachetheoverlord/rs6502" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/stachetheoverlord/rs6502"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/stachetheoverlord/rs6502'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 3ade3487cd93ddda597a631535bdad741b30bbcb [INFO] sha for GitHub repo stachetheoverlord/rs6502: 3ade3487cd93ddda597a631535bdad741b30bbcb [INFO] validating manifest of stachetheoverlord/rs6502 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 stachetheoverlord/rs6502 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 stachetheoverlord/rs6502 [INFO] finished frobbing stachetheoverlord/rs6502 [INFO] frobbed toml for stachetheoverlord/rs6502 written to work/ex/clippy-test-run/sources/stable/gh/stachetheoverlord/rs6502/Cargo.toml [INFO] started frobbing stachetheoverlord/rs6502 [INFO] finished frobbing stachetheoverlord/rs6502 [INFO] frobbed toml for stachetheoverlord/rs6502 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/stachetheoverlord/rs6502/Cargo.toml [INFO] crate stachetheoverlord/rs6502 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 stachetheoverlord/rs6502 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/stachetheoverlord/rs6502:/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] 03eae92190fdaf18664af41bcd4328bb6d5ef1e31dda13f029c3e12c30aab24f [INFO] running `"docker" "start" "-a" "03eae92190fdaf18664af41bcd4328bb6d5ef1e31dda13f029c3e12c30aab24f"` [INFO] [stderr] Checking nes v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hdw/cpu/mod.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | mem: mem, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mem` [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/hdw/cpu/mod.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | mem: mem, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mem` [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: unused import: `hdw::cpu::Cpu` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use hdw::cpu::Cpu; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:232:27 [INFO] [stderr] | [INFO] [stderr] 232 | let hi = (cpu.pc.wrapping_add(2) >> 8 % 256) as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `cpu.pc.wrapping_add(2) >> (8 % 256)` [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: long literal lacking separators [INFO] [stderr] --> src/hdw/cpu/mod.rs:26:20 [INFO] [stderr] | [INFO] [stderr] 26 | flags: 0b00100100u8, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0010_0100u8` [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: operator precedence can trip the unwary [INFO] [stderr] --> src/hdw/cpu/mod.rs:345:19 [INFO] [stderr] | [INFO] [stderr] 345 | self.pc = (self.mem.get(0xFFFF) as u16) << 8 + self.mem.get(0xFFFE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(self.mem.get(0xFFFF) as u16) << (8 + self.mem.get(0xFFFE))` [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/hdw/cpu/mod.rs:362:19 [INFO] [stderr] | [INFO] [stderr] 362 | self.pc = (self.mem.get(0xFFFB) as u16) << 8 + self.mem.get(0xFFFA); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(self.mem.get(0xFFFB) as u16) << (8 + self.mem.get(0xFFFA))` [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/hdw/cpu/mod.rs:370:19 [INFO] [stderr] | [INFO] [stderr] 370 | self.pc = (self.mem.get(0xFFFD) as u16) << 8 + self.mem.get(0xFFFC); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(self.mem.get(0xFFFD) as u16) << (8 + self.mem.get(0xFFFC))` [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: unused import: `hdw::Memory` [INFO] [stderr] --> src/main.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use hdw::Memory; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `hdw::cpu::Cpu` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use hdw::cpu::Cpu; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:232:27 [INFO] [stderr] | [INFO] [stderr] 232 | let hi = (cpu.pc.wrapping_add(2) >> 8 % 256) as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `cpu.pc.wrapping_add(2) >> (8 % 256)` [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: long literal lacking separators [INFO] [stderr] --> src/hdw/cpu/mod.rs:26:20 [INFO] [stderr] | [INFO] [stderr] 26 | flags: 0b00100100u8, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0010_0100u8` [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: operator precedence can trip the unwary [INFO] [stderr] --> src/hdw/cpu/mod.rs:345:19 [INFO] [stderr] | [INFO] [stderr] 345 | self.pc = (self.mem.get(0xFFFF) as u16) << 8 + self.mem.get(0xFFFE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(self.mem.get(0xFFFF) as u16) << (8 + self.mem.get(0xFFFE))` [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/hdw/cpu/mod.rs:362:19 [INFO] [stderr] | [INFO] [stderr] 362 | self.pc = (self.mem.get(0xFFFB) as u16) << 8 + self.mem.get(0xFFFA); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(self.mem.get(0xFFFB) as u16) << (8 + self.mem.get(0xFFFA))` [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/hdw/cpu/mod.rs:370:19 [INFO] [stderr] | [INFO] [stderr] 370 | self.pc = (self.mem.get(0xFFFD) as u16) << 8 + self.mem.get(0xFFFC); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(self.mem.get(0xFFFD) as u16) << (8 + self.mem.get(0xFFFC))` [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: unused import: `hdw::Memory` [INFO] [stderr] --> src/main.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use hdw::Memory; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/hdw/cpu/mod.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | 0xc8 => self.call(ops::iny, ops::modes::implied), [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `flag` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | let flag = !cpu.get_flag(7); [INFO] [stderr] | ^^^^ help: consider using `_flag` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn bpl(cpu: &mut Cpu, data: modes::data) { [INFO] [stderr] | ^^^^ help: consider using `_data` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:303:31 [INFO] [stderr] | [INFO] [stderr] 303 | pub fn pha(cpu: &mut Cpu, data: modes::data) { [INFO] [stderr] | ^^^^ help: consider using `_data` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:310:31 [INFO] [stderr] | [INFO] [stderr] 310 | pub fn php(cpu: &mut Cpu, data: modes::data) { [INFO] [stderr] | ^^^^ help: consider using `_data` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:323:31 [INFO] [stderr] | [INFO] [stderr] 323 | pub fn plp(cpu: &mut Cpu, data: modes::data) { [INFO] [stderr] | ^^^^ help: consider using `_data` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:127:26 [INFO] [stderr] | [INFO] [stderr] 127 | &data::Value(val) => unreachable!(), [INFO] [stderr] | ^^^ help: consider using `_val` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reset` [INFO] [stderr] --> src/mem.rs:17:56 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn load_file(&self, data: &str, location: u16, reset: u16) { [INFO] [stderr] | ^^^^^ help: consider using `_reset` instead [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/hdw/cpu/mod.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | 0xc8 => self.call(ops::iny, ops::modes::implied), [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `flag` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | let flag = !cpu.get_flag(7); [INFO] [stderr] | ^^^^ help: consider using `_flag` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn bpl(cpu: &mut Cpu, data: modes::data) { [INFO] [stderr] | ^^^^ help: consider using `_data` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:303:31 [INFO] [stderr] | [INFO] [stderr] 303 | pub fn pha(cpu: &mut Cpu, data: modes::data) { [INFO] [stderr] | ^^^^ help: consider using `_data` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:310:31 [INFO] [stderr] | [INFO] [stderr] 310 | pub fn php(cpu: &mut Cpu, data: modes::data) { [INFO] [stderr] | ^^^^ help: consider using `_data` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:323:31 [INFO] [stderr] | [INFO] [stderr] 323 | pub fn plp(cpu: &mut Cpu, data: modes::data) { [INFO] [stderr] | ^^^^ help: consider using `_data` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:127:26 [INFO] [stderr] | [INFO] [stderr] 127 | &data::Value(val) => unreachable!(), [INFO] [stderr] | ^^^ help: consider using `_val` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reset` [INFO] [stderr] --> src/mem.rs:17:56 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn load_file(&self, data: &str, location: u16, reset: u16) { [INFO] [stderr] | ^^^^^ help: consider using `_reset` instead [INFO] [stderr] [INFO] [stderr] warning: method is never used: `send_irq` [INFO] [stderr] --> src/hdw/cpu/mod.rs:283:5 [INFO] [stderr] | [INFO] [stderr] 283 | pub fn send_irq(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `send_nmi` [INFO] [stderr] --> src/hdw/cpu/mod.rs:287:5 [INFO] [stderr] | [INFO] [stderr] 287 | pub fn send_nmi(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `send_reset` [INFO] [stderr] --> src/hdw/cpu/mod.rs:291:5 [INFO] [stderr] | [INFO] [stderr] 291 | pub fn send_reset(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load` [INFO] [stderr] --> src/mem.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn load(&self, data: Vec, location: u16, reset: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:9:20 [INFO] [stderr] | [INFO] [stderr] 9 | let address = ((cpu.mem.get(cpu.pc.wrapping_add(2)) as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:10:11 [INFO] [stderr] | [INFO] [stderr] 10 | | (cpu.mem.get(cpu.pc.wrapping_add(1)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(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/hdw/cpu/ops/modes.rs:17:21 [INFO] [stderr] | [INFO] [stderr] 17 | let absolute = ((cpu.mem.get(cpu.pc.wrapping_add(2)) as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(2)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | | (cpu.mem.get(cpu.pc.wrapping_add(1)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(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/hdw/cpu/ops/modes.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | let absolute = ((cpu.mem.get(cpu.pc.wrapping_add(2)) as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(2)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:26:11 [INFO] [stderr] | [INFO] [stderr] 26 | | (cpu.mem.get(cpu.pc.wrapping_add(1)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(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/hdw/cpu/ops/modes.rs:45:16 [INFO] [stderr] | [INFO] [stderr] 45 | let ptr = ((cpu.mem.get(cpu.pc.wrapping_add(2)) as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(2)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:46:11 [INFO] [stderr] | [INFO] [stderr] 46 | + (cpu.mem.get(cpu.pc.wrapping_add(1)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(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/hdw/cpu/ops/modes.rs:47:20 [INFO] [stderr] | [INFO] [stderr] 47 | let address = ((cpu.mem.get(ptr + 1) as u16) << 8) | (cpu.mem.get(ptr) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(ptr + 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/hdw/cpu/ops/modes.rs:47:58 [INFO] [stderr] | [INFO] [stderr] 47 | let address = ((cpu.mem.get(ptr + 1) as u16) << 8) | (cpu.mem.get(ptr) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(ptr))` [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/hdw/cpu/ops/modes.rs:55:19 [INFO] [stderr] | [INFO] [stderr] 55 | let address = cpu.mem.get((arg + cpu.x).into()) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get((arg + cpu.x).into()))` [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/hdw/cpu/ops/modes.rs:56:12 [INFO] [stderr] | [INFO] [stderr] 56 | + ((cpu.mem.get((arg + cpu.x + 1).into()) as u16) << 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get((arg + cpu.x + 1).into()))` [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/hdw/cpu/ops/modes.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | (cpu.mem.get(arg.into()) as u16) + ((cpu.mem.get((arg + 1).into()) as u16) << 8) + (cpu.y as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(arg.into()))` [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/hdw/cpu/ops/modes.rs:65:45 [INFO] [stderr] | [INFO] [stderr] 65 | (cpu.mem.get(arg.into()) as u16) + ((cpu.mem.get((arg + 1).into()) as u16) << 8) + (cpu.y as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get((arg + 1).into()))` [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/hdw/cpu/ops/modes.rs:65:92 [INFO] [stderr] | [INFO] [stderr] 65 | (cpu.mem.get(arg.into()) as u16) + ((cpu.mem.get((arg + 1).into()) as u16) << 8) + (cpu.y as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(cpu.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/hdw/cpu/ops/modes.rs:79:19 [INFO] [stderr] | [INFO] [stderr] 79 | let result = ((hi as u16) << 8) + (lo.wrapping_add(arg) as u16); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(hi)` [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/hdw/cpu/ops/modes.rs:79:39 [INFO] [stderr] | [INFO] [stderr] 79 | let result = ((hi as u16) << 8) + (lo.wrapping_add(arg) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(lo.wrapping_add(arg))` [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: identical conversion [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | let result = arg.wrapping_add(cpu.x.into()); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `cpu.x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:101:35 [INFO] [stderr] | [INFO] [stderr] 101 | let result = arg.wrapping_add(cpu.y.into()); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `cpu.y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: type `data` should have a camel case name such as `Data` [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:107:1 [INFO] [stderr] | [INFO] [stderr] 107 | / pub enum data { [INFO] [stderr] 108 | | A, [INFO] [stderr] 109 | | Memory(u16), [INFO] [stderr] 110 | | Value(u8), [INFO] [stderr] 111 | | Implied, [INFO] [stderr] 112 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | / match self { [INFO] [stderr] 117 | | &data::A => cpu.a, [INFO] [stderr] 118 | | &data::Memory(address) => cpu.mem.get(address.clone()), [INFO] [stderr] 119 | | &data::Value(val) => val.clone(), [INFO] [stderr] 120 | | &data::Implied => 0, [INFO] [stderr] 121 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 116 | match *self { [INFO] [stderr] 117 | data::A => cpu.a, [INFO] [stderr] 118 | data::Memory(address) => cpu.mem.get(address.clone()), [INFO] [stderr] 119 | data::Value(val) => val.clone(), [INFO] [stderr] 120 | data::Implied => 0, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:118:51 [INFO] [stderr] | [INFO] [stderr] 118 | &data::Memory(address) => cpu.mem.get(address.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `address` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:119:34 [INFO] [stderr] | [INFO] [stderr] 119 | &data::Value(val) => val.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `val` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 124 | / match self { [INFO] [stderr] 125 | | &data::A => cpu.a = val, [INFO] [stderr] 126 | | &data::Memory(address) => cpu.mem.set(address.clone(), val), [INFO] [stderr] 127 | | &data::Value(val) => unreachable!(), [INFO] [stderr] 128 | | &data::Implied => unreachable!(), [INFO] [stderr] 129 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 124 | match *self { [INFO] [stderr] 125 | data::A => cpu.a = val, [INFO] [stderr] 126 | data::Memory(address) => cpu.mem.set(address.clone(), val), [INFO] [stderr] 127 | data::Value(val) => unreachable!(), [INFO] [stderr] 128 | data::Implied => unreachable!(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:126:51 [INFO] [stderr] | [INFO] [stderr] 126 | &data::Memory(address) => cpu.mem.set(address.clone(), val), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: module `Ops` should have a snake case name such as `ops` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | / pub mod Ops { [INFO] [stderr] 6 | | use hdw::cpu::Cpu; [INFO] [stderr] 7 | | use super::modes; [INFO] [stderr] 8 | | [INFO] [stderr] ... | [INFO] [stderr] 486 | | } [INFO] [stderr] 487 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | let result = cpu.a as u16 + data.get(cpu) as u16 + cpu.get_flag(0) as u16; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:10:37 [INFO] [stderr] | [INFO] [stderr] 10 | let result = cpu.a as u16 + data.get(cpu) as u16 + cpu.get_flag(0) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [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/hdw/cpu/ops/mod.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | cpu.a = cpu.a & data.get(cpu); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cpu.a &= data.get(cpu)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:37:22 [INFO] [stderr] | [INFO] [stderr] 37 | let result = (data.get(cpu) as u16) >> 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [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/hdw/cpu/ops/mod.rs:128:22 [INFO] [stderr] | [INFO] [stderr] 128 | let result = (cpu.a as u16).wrapping_sub(data.get(cpu) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(cpu.a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:128:50 [INFO] [stderr] | [INFO] [stderr] 128 | let result = (cpu.a as u16).wrapping_sub(data.get(cpu) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [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/hdw/cpu/ops/mod.rs:141:22 [INFO] [stderr] | [INFO] [stderr] 141 | let result = (cpu.x as u16).wrapping_add(!(data.get(cpu) as u16)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(cpu.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/hdw/cpu/ops/mod.rs:141:51 [INFO] [stderr] | [INFO] [stderr] 141 | let result = (cpu.x as u16).wrapping_add(!(data.get(cpu) as u16)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [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/hdw/cpu/ops/mod.rs:154:22 [INFO] [stderr] | [INFO] [stderr] 154 | let result = (cpu.y as u16).wrapping_add(!(data.get(cpu) as u16)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(cpu.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/hdw/cpu/ops/mod.rs:154:51 [INFO] [stderr] | [INFO] [stderr] 154 | let result = (cpu.y as u16).wrapping_add(!(data.get(cpu) as u16)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [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/hdw/cpu/ops/mod.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | cpu.a = cpu.a ^ data.get(cpu); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cpu.a ^= data.get(cpu)` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:217:9 [INFO] [stderr] | [INFO] [stderr] 217 | / match data { [INFO] [stderr] 218 | | modes::data::Memory(address) => { [INFO] [stderr] 219 | | cpu.pc = address; [INFO] [stderr] 220 | | [INFO] [stderr] ... | [INFO] [stderr] 223 | | _ => {} [INFO] [stderr] 224 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 217 | if let modes::data::Memory(address) = data { [INFO] [stderr] 218 | cpu.pc = address; [INFO] [stderr] 219 | [INFO] [stderr] 220 | cpu.poll_interrupt(); [INFO] [stderr] 221 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:280:22 [INFO] [stderr] | [INFO] [stderr] 280 | let result = (data.get(cpu) as u16) << 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [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/hdw/cpu/ops/mod.rs:294:9 [INFO] [stderr] | [INFO] [stderr] 294 | cpu.a = cpu.a | data.get(cpu); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cpu.a |= data.get(cpu)` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:361:19 [INFO] [stderr] | [INFO] [stderr] 361 | cpu.pc = ((hi as u16) << 8) + lo as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(hi)` [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/hdw/cpu/ops/mod.rs:361:39 [INFO] [stderr] | [INFO] [stderr] 361 | cpu.pc = ((hi as u16) << 8) + lo as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from(lo)` [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/hdw/cpu/ops/mod.rs:369:20 [INFO] [stderr] | [INFO] [stderr] 369 | cpu.pc = (((hi as u16) << 8) + lo as u16).wrapping_sub(1); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(hi)` [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/hdw/cpu/ops/mod.rs:369:40 [INFO] [stderr] | [INFO] [stderr] 369 | cpu.pc = (((hi as u16) << 8) + lo as u16).wrapping_sub(1); [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from(lo)` [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/hdw/cpu/ops/mod.rs:375:22 [INFO] [stderr] | [INFO] [stderr] 375 | let result = (cpu.a as u16) + !(data.get(cpu) as u16) + (cpu.get_flag(0) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(cpu.a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:375:40 [INFO] [stderr] | [INFO] [stderr] 375 | let result = (cpu.a as u16) + !(data.get(cpu) as u16) + (cpu.get_flag(0) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:481:13 [INFO] [stderr] | [INFO] [stderr] 481 | / match data { [INFO] [stderr] 482 | | modes::data::Memory(a) => cpu.pc = a, [INFO] [stderr] 483 | | _ => {} [INFO] [stderr] 484 | | } [INFO] [stderr] | |_____________^ help: try this: `if let modes::data::Memory(a) = data { cpu.pc = a }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: some ranges overlap [INFO] [stderr] --> src/hdw/cpu/mod.rs:214:13 [INFO] [stderr] | [INFO] [stderr] 214 | 0xc8 => self.call(ops::iny, ops::modes::implied), [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_overlapping_arm)] on by default [INFO] [stderr] note: overlaps with this [INFO] [stderr] --> src/hdw/cpu/mod.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | 0xc8 => self.call(ops::iny, ops::modes::implied), [INFO] [stderr] | ^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_overlapping_arm [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/mod.rs:299:31 [INFO] [stderr] | [INFO] [stderr] 299 | self.mem.set(0x0100 + self.s as u16, data); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.s)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/mod.rs:305:31 [INFO] [stderr] | [INFO] [stderr] 305 | self.mem.get(0x0100 + self.s as u16) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.s)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/mod.rs:345:19 [INFO] [stderr] | [INFO] [stderr] 345 | self.pc = (self.mem.get(0xFFFF) as u16) << 8 + self.mem.get(0xFFFE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.mem.get(0xFFFF))` [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/hdw/cpu/mod.rs:356:30 [INFO] [stderr] | [INFO] [stderr] 356 | let pcl = (self.pc % u8::max_value() as u16) as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(u8::max_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/hdw/cpu/mod.rs:362:19 [INFO] [stderr] | [INFO] [stderr] 362 | self.pc = (self.mem.get(0xFFFB) as u16) << 8 + self.mem.get(0xFFFA); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.mem.get(0xFFFB))` [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/hdw/cpu/mod.rs:370:19 [INFO] [stderr] | [INFO] [stderr] 370 | self.pc = (self.mem.get(0xFFFD) as u16) << 8 + self.mem.get(0xFFFC); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.mem.get(0xFFFD))` [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 loop variable `index` is used to index `data` [INFO] [stderr] --> src/mem.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | for index in 0..data.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 10 | for (index, ) in data.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/mem.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | file.read_to_end(&mut buf); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: the loop variable `index` is used to index `buf` [INFO] [stderr] --> src/mem.rs:28:22 [INFO] [stderr] | [INFO] [stderr] 28 | for index in 0..buf.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 28 | for (index, ) in buf.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `send_irq` [INFO] [stderr] --> src/hdw/cpu/mod.rs:283:5 [INFO] [stderr] | [INFO] [stderr] 283 | pub fn send_irq(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `send_nmi` [INFO] [stderr] --> src/hdw/cpu/mod.rs:287:5 [INFO] [stderr] | [INFO] [stderr] 287 | pub fn send_nmi(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `send_reset` [INFO] [stderr] --> src/hdw/cpu/mod.rs:291:5 [INFO] [stderr] | [INFO] [stderr] 291 | pub fn send_reset(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load` [INFO] [stderr] --> src/mem.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn load(&self, data: Vec, location: u16, reset: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:9:20 [INFO] [stderr] | [INFO] [stderr] 9 | let address = ((cpu.mem.get(cpu.pc.wrapping_add(2)) as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:10:11 [INFO] [stderr] | [INFO] [stderr] 10 | | (cpu.mem.get(cpu.pc.wrapping_add(1)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(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/hdw/cpu/ops/modes.rs:17:21 [INFO] [stderr] | [INFO] [stderr] 17 | let absolute = ((cpu.mem.get(cpu.pc.wrapping_add(2)) as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(2)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | | (cpu.mem.get(cpu.pc.wrapping_add(1)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(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/hdw/cpu/ops/modes.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | let absolute = ((cpu.mem.get(cpu.pc.wrapping_add(2)) as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(2)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:26:11 [INFO] [stderr] | [INFO] [stderr] 26 | | (cpu.mem.get(cpu.pc.wrapping_add(1)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(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/hdw/cpu/ops/modes.rs:45:16 [INFO] [stderr] | [INFO] [stderr] 45 | let ptr = ((cpu.mem.get(cpu.pc.wrapping_add(2)) as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(2)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:46:11 [INFO] [stderr] | [INFO] [stderr] 46 | + (cpu.mem.get(cpu.pc.wrapping_add(1)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(cpu.pc.wrapping_add(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/hdw/cpu/ops/modes.rs:47:20 [INFO] [stderr] | [INFO] [stderr] 47 | let address = ((cpu.mem.get(ptr + 1) as u16) << 8) | (cpu.mem.get(ptr) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(ptr + 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/hdw/cpu/ops/modes.rs:47:58 [INFO] [stderr] | [INFO] [stderr] 47 | let address = ((cpu.mem.get(ptr + 1) as u16) << 8) | (cpu.mem.get(ptr) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(ptr))` [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/hdw/cpu/ops/modes.rs:55:19 [INFO] [stderr] | [INFO] [stderr] 55 | let address = cpu.mem.get((arg + cpu.x).into()) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get((arg + cpu.x).into()))` [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/hdw/cpu/ops/modes.rs:56:12 [INFO] [stderr] | [INFO] [stderr] 56 | + ((cpu.mem.get((arg + cpu.x + 1).into()) as u16) << 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get((arg + cpu.x + 1).into()))` [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/hdw/cpu/ops/modes.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | (cpu.mem.get(arg.into()) as u16) + ((cpu.mem.get((arg + 1).into()) as u16) << 8) + (cpu.y as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get(arg.into()))` [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/hdw/cpu/ops/modes.rs:65:45 [INFO] [stderr] | [INFO] [stderr] 65 | (cpu.mem.get(arg.into()) as u16) + ((cpu.mem.get((arg + 1).into()) as u16) << 8) + (cpu.y as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(cpu.mem.get((arg + 1).into()))` [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/hdw/cpu/ops/modes.rs:65:92 [INFO] [stderr] | [INFO] [stderr] 65 | (cpu.mem.get(arg.into()) as u16) + ((cpu.mem.get((arg + 1).into()) as u16) << 8) + (cpu.y as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(cpu.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/hdw/cpu/ops/modes.rs:79:19 [INFO] [stderr] | [INFO] [stderr] 79 | let result = ((hi as u16) << 8) + (lo.wrapping_add(arg) as u16); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(hi)` [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/hdw/cpu/ops/modes.rs:79:39 [INFO] [stderr] | [INFO] [stderr] 79 | let result = ((hi as u16) << 8) + (lo.wrapping_add(arg) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(lo.wrapping_add(arg))` [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: identical conversion [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | let result = arg.wrapping_add(cpu.x.into()); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `cpu.x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:101:35 [INFO] [stderr] | [INFO] [stderr] 101 | let result = arg.wrapping_add(cpu.y.into()); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `cpu.y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: type `data` should have a camel case name such as `Data` [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:107:1 [INFO] [stderr] | [INFO] [stderr] 107 | / pub enum data { [INFO] [stderr] 108 | | A, [INFO] [stderr] 109 | | Memory(u16), [INFO] [stderr] 110 | | Value(u8), [INFO] [stderr] 111 | | Implied, [INFO] [stderr] 112 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | / match self { [INFO] [stderr] 117 | | &data::A => cpu.a, [INFO] [stderr] 118 | | &data::Memory(address) => cpu.mem.get(address.clone()), [INFO] [stderr] 119 | | &data::Value(val) => val.clone(), [INFO] [stderr] 120 | | &data::Implied => 0, [INFO] [stderr] 121 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 116 | match *self { [INFO] [stderr] 117 | data::A => cpu.a, [INFO] [stderr] 118 | data::Memory(address) => cpu.mem.get(address.clone()), [INFO] [stderr] 119 | data::Value(val) => val.clone(), [INFO] [stderr] 120 | data::Implied => 0, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:118:51 [INFO] [stderr] | [INFO] [stderr] 118 | &data::Memory(address) => cpu.mem.get(address.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `address` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:119:34 [INFO] [stderr] | [INFO] [stderr] 119 | &data::Value(val) => val.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `val` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 124 | / match self { [INFO] [stderr] 125 | | &data::A => cpu.a = val, [INFO] [stderr] 126 | | &data::Memory(address) => cpu.mem.set(address.clone(), val), [INFO] [stderr] 127 | | &data::Value(val) => unreachable!(), [INFO] [stderr] 128 | | &data::Implied => unreachable!(), [INFO] [stderr] 129 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 124 | match *self { [INFO] [stderr] 125 | data::A => cpu.a = val, [INFO] [stderr] 126 | data::Memory(address) => cpu.mem.set(address.clone(), val), [INFO] [stderr] 127 | data::Value(val) => unreachable!(), [INFO] [stderr] 128 | data::Implied => unreachable!(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/hdw/cpu/ops/modes.rs:126:51 [INFO] [stderr] | [INFO] [stderr] 126 | &data::Memory(address) => cpu.mem.set(address.clone(), val), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: module `Ops` should have a snake case name such as `ops` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | / pub mod Ops { [INFO] [stderr] 6 | | use hdw::cpu::Cpu; [INFO] [stderr] 7 | | use super::modes; [INFO] [stderr] 8 | | [INFO] [stderr] ... | [INFO] [stderr] 486 | | } [INFO] [stderr] 487 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | let result = cpu.a as u16 + data.get(cpu) as u16 + cpu.get_flag(0) as u16; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:10:37 [INFO] [stderr] | [INFO] [stderr] 10 | let result = cpu.a as u16 + data.get(cpu) as u16 + cpu.get_flag(0) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [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/hdw/cpu/ops/mod.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | cpu.a = cpu.a & data.get(cpu); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cpu.a &= data.get(cpu)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:37:22 [INFO] [stderr] | [INFO] [stderr] 37 | let result = (data.get(cpu) as u16) >> 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [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/hdw/cpu/ops/mod.rs:128:22 [INFO] [stderr] | [INFO] [stderr] 128 | let result = (cpu.a as u16).wrapping_sub(data.get(cpu) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(cpu.a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:128:50 [INFO] [stderr] | [INFO] [stderr] 128 | let result = (cpu.a as u16).wrapping_sub(data.get(cpu) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [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/hdw/cpu/ops/mod.rs:141:22 [INFO] [stderr] | [INFO] [stderr] 141 | let result = (cpu.x as u16).wrapping_add(!(data.get(cpu) as u16)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(cpu.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/hdw/cpu/ops/mod.rs:141:51 [INFO] [stderr] | [INFO] [stderr] 141 | let result = (cpu.x as u16).wrapping_add(!(data.get(cpu) as u16)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [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/hdw/cpu/ops/mod.rs:154:22 [INFO] [stderr] | [INFO] [stderr] 154 | let result = (cpu.y as u16).wrapping_add(!(data.get(cpu) as u16)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(cpu.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/hdw/cpu/ops/mod.rs:154:51 [INFO] [stderr] | [INFO] [stderr] 154 | let result = (cpu.y as u16).wrapping_add(!(data.get(cpu) as u16)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [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/hdw/cpu/ops/mod.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | cpu.a = cpu.a ^ data.get(cpu); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cpu.a ^= data.get(cpu)` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:217:9 [INFO] [stderr] | [INFO] [stderr] 217 | / match data { [INFO] [stderr] 218 | | modes::data::Memory(address) => { [INFO] [stderr] 219 | | cpu.pc = address; [INFO] [stderr] 220 | | [INFO] [stderr] ... | [INFO] [stderr] 223 | | _ => {} [INFO] [stderr] 224 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 217 | if let modes::data::Memory(address) = data { [INFO] [stderr] 218 | cpu.pc = address; [INFO] [stderr] 219 | [INFO] [stderr] 220 | cpu.poll_interrupt(); [INFO] [stderr] 221 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:280:22 [INFO] [stderr] | [INFO] [stderr] 280 | let result = (data.get(cpu) as u16) << 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [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/hdw/cpu/ops/mod.rs:294:9 [INFO] [stderr] | [INFO] [stderr] 294 | cpu.a = cpu.a | data.get(cpu); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cpu.a |= data.get(cpu)` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:361:19 [INFO] [stderr] | [INFO] [stderr] 361 | cpu.pc = ((hi as u16) << 8) + lo as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(hi)` [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/hdw/cpu/ops/mod.rs:361:39 [INFO] [stderr] | [INFO] [stderr] 361 | cpu.pc = ((hi as u16) << 8) + lo as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from(lo)` [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/hdw/cpu/ops/mod.rs:369:20 [INFO] [stderr] | [INFO] [stderr] 369 | cpu.pc = (((hi as u16) << 8) + lo as u16).wrapping_sub(1); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(hi)` [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/hdw/cpu/ops/mod.rs:369:40 [INFO] [stderr] | [INFO] [stderr] 369 | cpu.pc = (((hi as u16) << 8) + lo as u16).wrapping_sub(1); [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from(lo)` [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/hdw/cpu/ops/mod.rs:375:22 [INFO] [stderr] | [INFO] [stderr] 375 | let result = (cpu.a as u16) + !(data.get(cpu) as u16) + (cpu.get_flag(0) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(cpu.a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:375:40 [INFO] [stderr] | [INFO] [stderr] 375 | let result = (cpu.a as u16) + !(data.get(cpu) as u16) + (cpu.get_flag(0) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(data.get(cpu))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/hdw/cpu/ops/mod.rs:481:13 [INFO] [stderr] | [INFO] [stderr] 481 | / match data { [INFO] [stderr] 482 | | modes::data::Memory(a) => cpu.pc = a, [INFO] [stderr] 483 | | _ => {} [INFO] [stderr] 484 | | } [INFO] [stderr] | |_____________^ help: try this: `if let modes::data::Memory(a) = data { cpu.pc = a }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: some ranges overlap [INFO] [stderr] --> src/hdw/cpu/mod.rs:214:13 [INFO] [stderr] | [INFO] [stderr] 214 | 0xc8 => self.call(ops::iny, ops::modes::implied), [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_overlapping_arm)] on by default [INFO] [stderr] note: overlaps with this [INFO] [stderr] --> src/hdw/cpu/mod.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | 0xc8 => self.call(ops::iny, ops::modes::implied), [INFO] [stderr] | ^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_overlapping_arm [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/mod.rs:299:31 [INFO] [stderr] | [INFO] [stderr] 299 | self.mem.set(0x0100 + self.s as u16, data); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.s)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/mod.rs:305:31 [INFO] [stderr] | [INFO] [stderr] 305 | self.mem.get(0x0100 + self.s as u16) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.s)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/hdw/cpu/mod.rs:345:19 [INFO] [stderr] | [INFO] [stderr] 345 | self.pc = (self.mem.get(0xFFFF) as u16) << 8 + self.mem.get(0xFFFE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.mem.get(0xFFFF))` [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/hdw/cpu/mod.rs:356:30 [INFO] [stderr] | [INFO] [stderr] 356 | let pcl = (self.pc % u8::max_value() as u16) as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(u8::max_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/hdw/cpu/mod.rs:362:19 [INFO] [stderr] | [INFO] [stderr] 362 | self.pc = (self.mem.get(0xFFFB) as u16) << 8 + self.mem.get(0xFFFA); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.mem.get(0xFFFB))` [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/hdw/cpu/mod.rs:370:19 [INFO] [stderr] | [INFO] [stderr] 370 | self.pc = (self.mem.get(0xFFFD) as u16) << 8 + self.mem.get(0xFFFC); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.mem.get(0xFFFD))` [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 loop variable `index` is used to index `data` [INFO] [stderr] --> src/mem.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | for index in 0..data.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 10 | for (index, ) in data.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/mem.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | file.read_to_end(&mut buf); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: the loop variable `index` is used to index `buf` [INFO] [stderr] --> src/mem.rs:28:22 [INFO] [stderr] | [INFO] [stderr] 28 | for index in 0..buf.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 28 | for (index, ) in buf.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.92s [INFO] running `"docker" "inspect" "03eae92190fdaf18664af41bcd4328bb6d5ef1e31dda13f029c3e12c30aab24f"` [INFO] running `"docker" "rm" "-f" "03eae92190fdaf18664af41bcd4328bb6d5ef1e31dda13f029c3e12c30aab24f"` [INFO] [stdout] 03eae92190fdaf18664af41bcd4328bb6d5ef1e31dda13f029c3e12c30aab24f