[INFO] updating cached repository lars-t-hansen/z80emu [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/lars-t-hansen/z80emu [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/lars-t-hansen/z80emu" "work/ex/clippy-test-run/sources/stable/gh/lars-t-hansen/z80emu"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/lars-t-hansen/z80emu'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/lars-t-hansen/z80emu" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/lars-t-hansen/z80emu"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/lars-t-hansen/z80emu'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 22d4069945bed32b3e0a35fc2905854bc0697d19 [INFO] sha for GitHub repo lars-t-hansen/z80emu: 22d4069945bed32b3e0a35fc2905854bc0697d19 [INFO] validating manifest of lars-t-hansen/z80emu 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 lars-t-hansen/z80emu 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 lars-t-hansen/z80emu [INFO] finished frobbing lars-t-hansen/z80emu [INFO] frobbed toml for lars-t-hansen/z80emu written to work/ex/clippy-test-run/sources/stable/gh/lars-t-hansen/z80emu/Cargo.toml [INFO] started frobbing lars-t-hansen/z80emu [INFO] finished frobbing lars-t-hansen/z80emu [INFO] frobbed toml for lars-t-hansen/z80emu written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/lars-t-hansen/z80emu/Cargo.toml [INFO] crate lars-t-hansen/z80emu 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 lars-t-hansen/z80emu 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-5/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/lars-t-hansen/z80emu:/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] 0816dbac29133aa2710f696568e2fbeee609bb47e2630c7833e93e7aa3c24b6f [INFO] running `"docker" "start" "-a" "0816dbac29133aa2710f696568e2fbeee609bb47e2630c7833e93e7aa3c24b6f"` [INFO] [stderr] Checking z80emu v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/z80.rs:41:26 [INFO] [stderr] | [INFO] [stderr] 41 | mem: [0; 65536], pc: pc, sp: 0, ix: 0, iy: 0, [INFO] [stderr] | ^^^^^^ help: replace it with: `pc` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | let mut d = z80.d; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | let mut e = z80.e; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | let mut h = z80.h; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | let mut l = z80.l; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:348:27 [INFO] [stderr] | [INFO] [stderr] 348 | 0x86 => { let n = at_hl!(); add_a_r!(n); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:356:27 [INFO] [stderr] | [INFO] [stderr] 356 | 0x8E => { let n = at_hl!(); adc_a_r!(n); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:364:27 [INFO] [stderr] | [INFO] [stderr] 364 | 0xA6 => { let n = at_hl!(); and_a_r!(n); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:367:27 [INFO] [stderr] | [INFO] [stderr] 367 | 0xC6 => { let n = byte!(); add_a_r!(n); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:370:35 [INFO] [stderr] | [INFO] [stderr] 370 | 0x46 => { let n = at_hl!(); bit_b!(n, 0); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:371:35 [INFO] [stderr] | [INFO] [stderr] 371 | 0x4E => { let n = at_hl!(); bit_b!(n, 1); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:372:35 [INFO] [stderr] | [INFO] [stderr] 372 | 0x56 => { let n = at_hl!(); bit_b!(n, 2); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:373:35 [INFO] [stderr] | [INFO] [stderr] 373 | 0x5E => { let n = at_hl!(); bit_b!(n, 3); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:374:35 [INFO] [stderr] | [INFO] [stderr] 374 | 0x66 => { let n = at_hl!(); bit_b!(n, 4); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:375:35 [INFO] [stderr] | [INFO] [stderr] 375 | 0x6E => { let n = at_hl!(); bit_b!(n, 5); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:376:35 [INFO] [stderr] | [INFO] [stderr] 376 | 0x76 => { let n = at_hl!(); bit_b!(n, 6); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:377:35 [INFO] [stderr] | [INFO] [stderr] 377 | 0x7E => { let n = at_hl!(); bit_b!(n, 7); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:381:27 [INFO] [stderr] | [INFO] [stderr] 381 | 0xCE => { let n = byte!(); adc_a_r!(n); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:420:27 [INFO] [stderr] | [INFO] [stderr] 420 | 0xE6 => { let n = byte!(); and_a_r!(n); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/file_backed_spinning_disk.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | the_disk: the_disk } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `the_disk` [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/z80.rs:41:26 [INFO] [stderr] | [INFO] [stderr] 41 | mem: [0; 65536], pc: pc, sp: 0, ix: 0, iy: 0, [INFO] [stderr] | ^^^^^^ help: replace it with: `pc` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | let mut d = z80.d; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | let mut e = z80.e; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | let mut h = z80.h; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | let mut l = z80.l; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:348:27 [INFO] [stderr] | [INFO] [stderr] 348 | 0x86 => { let n = at_hl!(); add_a_r!(n); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:356:27 [INFO] [stderr] | [INFO] [stderr] 356 | 0x8E => { let n = at_hl!(); adc_a_r!(n); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:364:27 [INFO] [stderr] | [INFO] [stderr] 364 | 0xA6 => { let n = at_hl!(); and_a_r!(n); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:367:27 [INFO] [stderr] | [INFO] [stderr] 367 | 0xC6 => { let n = byte!(); add_a_r!(n); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:370:35 [INFO] [stderr] | [INFO] [stderr] 370 | 0x46 => { let n = at_hl!(); bit_b!(n, 0); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:371:35 [INFO] [stderr] | [INFO] [stderr] 371 | 0x4E => { let n = at_hl!(); bit_b!(n, 1); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:372:35 [INFO] [stderr] | [INFO] [stderr] 372 | 0x56 => { let n = at_hl!(); bit_b!(n, 2); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:373:35 [INFO] [stderr] | [INFO] [stderr] 373 | 0x5E => { let n = at_hl!(); bit_b!(n, 3); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:374:35 [INFO] [stderr] | [INFO] [stderr] 374 | 0x66 => { let n = at_hl!(); bit_b!(n, 4); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:375:35 [INFO] [stderr] | [INFO] [stderr] 375 | 0x6E => { let n = at_hl!(); bit_b!(n, 5); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:376:35 [INFO] [stderr] | [INFO] [stderr] 376 | 0x76 => { let n = at_hl!(); bit_b!(n, 6); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:377:35 [INFO] [stderr] | [INFO] [stderr] 377 | 0x7E => { let n = at_hl!(); bit_b!(n, 7); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:381:27 [INFO] [stderr] | [INFO] [stderr] 381 | 0xCE => { let n = byte!(); adc_a_r!(n); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 9th binding whose name is just one char [INFO] [stderr] --> src/z80.rs:420:27 [INFO] [stderr] | [INFO] [stderr] 420 | 0xE6 => { let n = byte!(); and_a_r!(n); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/file_backed_spinning_disk.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | the_disk: the_disk } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `the_disk` [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: unused macro definition [INFO] [stderr] --> src/z80.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | macro_rules! set_bc { ($v:ident) => { set16!(b, c, $v); } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/z80.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | macro_rules! set_de { ($v:ident) => { set16!(d, e, $v); } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/z80.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | macro_rules! set_sp { ($v:ident) => { sp_ = $v; } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/file_backed_spinning_disk.rs:11:15 [INFO] [stderr] | [INFO] [stderr] 11 | use std::io::{self, Read, Seek, SeekFrom}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/z80.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | macro_rules! set_bc { ($v:ident) => { set16!(b, c, $v); } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/z80.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | macro_rules! set_de { ($v:ident) => { set16!(d, e, $v); } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/z80.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | macro_rules! set_sp { ($v:ident) => { sp_ = $v; } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/file_backed_spinning_disk.rs:11:15 [INFO] [stderr] | [INFO] [stderr] 11 | use std::io::{self, Read, Seek, SeekFrom}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 342 | 0x80 => { add_a_r!(b); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 343 | 0x81 => { add_a_r!(c); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 344 | 0x82 => { add_a_r!(d); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 345 | 0x83 => { add_a_r!(e); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 346 | 0x84 => { add_a_r!(h); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 347 | 0x85 => { add_a_r!(l); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 348 | 0x86 => { let n = at_hl!(); add_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 349 | 0x87 => { add_a_r!(a); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 350 | 0x88 => { adc_a_r!(b); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 351 | 0x89 => { adc_a_r!(c); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 352 | 0x8A => { adc_a_r!(d); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 353 | 0x8B => { adc_a_r!(e); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 354 | 0x8C => { adc_a_r!(h); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 355 | 0x8D => { adc_a_r!(l); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 356 | 0x8E => { let n = at_hl!(); adc_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 357 | 0x8F => { adc_a_r!(a); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 358 | 0xA0 => { and_a_r!(b); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 359 | 0xA1 => { and_a_r!(c); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 360 | 0xA2 => { and_a_r!(d); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 361 | 0xA3 => { and_a_r!(e); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 362 | 0xA4 => { and_a_r!(h); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 363 | 0xA5 => { and_a_r!(l); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 364 | 0xA6 => { let n = at_hl!(); and_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 365 | 0xA7 => { and_a_r!(a); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 367 | 0xC6 => { let n = byte!(); add_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 381 | 0xCE => { let n = byte!(); adc_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 414 | 0x86 => { op_a_ixd!(add_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 415 | 0x8E => { op_a_ixd!(adc_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 416 | 0xA6 => { op_a_ixd!(and_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 420 | 0xE6 => { let n = byte!(); and_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 427 | 0x4A => { adc_hl_ss!(bc); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 428 | 0x5A => { adc_hl_ss!(de); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 429 | 0x6A => { adc_hl_ss!(hl); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 430 | 0x7A => { adc_hl_ss!(sp); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 448 | 0x86 => { op_a_iyd!(add_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 449 | 0x8E => { op_a_iyd!(adc_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 450 | 0xA6 => { op_a_iyd!(and_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mem` [INFO] [stderr] --> src/file_backed_spinning_disk.rs:143:32 [INFO] [stderr] | [INFO] [stderr] 143 | fn write_sector(&mut self, mem: &mut [u8]) { [INFO] [stderr] | ^^^ help: consider using `_mem` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 342 | 0x80 => { add_a_r!(b); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 343 | 0x81 => { add_a_r!(c); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 344 | 0x82 => { add_a_r!(d); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 345 | 0x83 => { add_a_r!(e); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 346 | 0x84 => { add_a_r!(h); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 347 | 0x85 => { add_a_r!(l); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 348 | 0x86 => { let n = at_hl!(); add_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 349 | 0x87 => { add_a_r!(a); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 350 | 0x88 => { adc_a_r!(b); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 351 | 0x89 => { adc_a_r!(c); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 352 | 0x8A => { adc_a_r!(d); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 353 | 0x8B => { adc_a_r!(e); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 354 | 0x8C => { adc_a_r!(h); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 355 | 0x8D => { adc_a_r!(l); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 356 | 0x8E => { let n = at_hl!(); adc_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 357 | 0x8F => { adc_a_r!(a); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 358 | 0xA0 => { and_a_r!(b); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 359 | 0xA1 => { and_a_r!(c); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 360 | 0xA2 => { and_a_r!(d); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 361 | 0xA3 => { and_a_r!(e); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 362 | 0xA4 => { and_a_r!(h); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 363 | 0xA5 => { and_a_r!(l); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 364 | 0xA6 => { let n = at_hl!(); and_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 365 | 0xA7 => { and_a_r!(a); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 367 | 0xC6 => { let n = byte!(); add_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 381 | 0xCE => { let n = byte!(); adc_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 414 | 0x86 => { op_a_ixd!(add_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 415 | 0x8E => { op_a_ixd!(adc_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 416 | 0xA6 => { op_a_ixd!(and_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 420 | 0xE6 => { let n = byte!(); and_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 427 | 0x4A => { adc_hl_ss!(bc); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 428 | 0x5A => { adc_hl_ss!(de); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 429 | 0x6A => { adc_hl_ss!(hl); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 430 | 0x7A => { adc_hl_ss!(sp); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 448 | 0x86 => { op_a_iyd!(add_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 449 | 0x8E => { op_a_iyd!(adc_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: value assigned to `f` is never read [INFO] [stderr] --> src/z80.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | f &= UNUSED_FLAGS; [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 450 | 0xA6 => { op_a_iyd!(and_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mem` [INFO] [stderr] --> src/file_backed_spinning_disk.rs:143:32 [INFO] [stderr] | [INFO] [stderr] 143 | fn write_sector(&mut self, mem: &mut [u8]) { [INFO] [stderr] | ^^^ help: consider using `_mem` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/z80.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | let mut sp_ = z80.sp; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NEG_FLAG` [INFO] [stderr] --> src/z80.rs:54:1 [INFO] [stderr] | [INFO] [stderr] 54 | const NEG_FLAG: u8 = 0x02; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NEG_SHIFT` [INFO] [stderr] --> src/z80.rs:55:1 [INFO] [stderr] | [INFO] [stderr] 55 | const NEG_SHIFT: u8 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `OVERFLOW_FLAG` [INFO] [stderr] --> src/z80.rs:57:1 [INFO] [stderr] | [INFO] [stderr] 57 | const OVERFLOW_FLAG: u8 = 0x04; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `OVERFLOW_SHIFT` [INFO] [stderr] --> src/z80.rs:58:1 [INFO] [stderr] | [INFO] [stderr] 58 | const OVERFLOW_SHIFT: u8 = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PARITY_SHIFT` [INFO] [stderr] --> src/z80.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | const PARITY_SHIFT: u8 = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `HALF_SHIFT` [INFO] [stderr] --> src/z80.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | const HALF_SHIFT: u8 = 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ZERO_SHIFT` [INFO] [stderr] --> src/z80.rs:67:1 [INFO] [stderr] | [INFO] [stderr] 67 | const ZERO_SHIFT: u8 = 6; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SIGN_SHIFT` [INFO] [stderr] --> src/z80.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | const SIGN_SHIFT: u8 = 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 127 [INFO] [stderr] --> src/z80.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | / pub fn run(z80: &mut Z80, mut timeslice: usize) { [INFO] [stderr] 75 | | let mem = &mut z80.mem; [INFO] [stderr] 76 | | let mut pc = z80.pc; [INFO] [stderr] 77 | | let mut sp_ = z80.sp; [INFO] [stderr] ... | [INFO] [stderr] 469 | | z80.l = l; [INFO] [stderr] 470 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/z80.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | let mut sp_ = z80.sp; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `a` and `z80.a_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut a, &mut z80.a_alt)` [INFO] [stderr] ... [INFO] [stderr] 330 | swap!(a, z80.a_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_swap)] on by default [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `f` and `z80.f_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut f, &mut z80.f_alt)` [INFO] [stderr] ... [INFO] [stderr] 331 | swap!(f, z80.f_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 333 | 0x09 => { add_rr_ss!(hl, bc); } [INFO] [stderr] | ------------------- in this macro invocation [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] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 333 | 0x09 => { add_rr_ss!(hl, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 333 | 0x09 => { add_rr_ss!(hl, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 333 | 0x09 => { add_rr_ss!(hl, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 334 | 0x19 => { add_rr_ss!(hl, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 334 | 0x19 => { add_rr_ss!(hl, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 334 | 0x19 => { add_rr_ss!(hl, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 334 | 0x19 => { add_rr_ss!(hl, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 335 | 0x29 => { add_rr_ss!(hl, hl); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 335 | 0x29 => { add_rr_ss!(hl, hl); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 335 | 0x29 => { add_rr_ss!(hl, hl); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 335 | 0x29 => { add_rr_ss!(hl, hl); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NEG_FLAG` [INFO] [stderr] --> src/z80.rs:54:1 [INFO] [stderr] | [INFO] [stderr] 54 | const NEG_FLAG: u8 = 0x02; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NEG_SHIFT` [INFO] [stderr] --> src/z80.rs:55:1 [INFO] [stderr] | [INFO] [stderr] 55 | const NEG_SHIFT: u8 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `OVERFLOW_FLAG` [INFO] [stderr] --> src/z80.rs:57:1 [INFO] [stderr] | [INFO] [stderr] 57 | const OVERFLOW_FLAG: u8 = 0x04; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `OVERFLOW_SHIFT` [INFO] [stderr] --> src/z80.rs:58:1 [INFO] [stderr] | [INFO] [stderr] 58 | const OVERFLOW_SHIFT: u8 = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PARITY_SHIFT` [INFO] [stderr] --> src/z80.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | const PARITY_SHIFT: u8 = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `HALF_SHIFT` [INFO] [stderr] --> src/z80.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | const HALF_SHIFT: u8 = 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ZERO_SHIFT` [INFO] [stderr] --> src/z80.rs:67:1 [INFO] [stderr] | [INFO] [stderr] 67 | const ZERO_SHIFT: u8 = 6; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SIGN_SHIFT` [INFO] [stderr] --> src/z80.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | const SIGN_SHIFT: u8 = 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 337 | 0x39 => { add_rr_ss!(hl, sp); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 337 | 0x39 => { add_rr_ss!(hl, sp); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 342 | 0x80 => { add_a_r!(b); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::verbose_bit_mask)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 343 | 0x81 => { add_a_r!(c); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 344 | 0x82 => { add_a_r!(d); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 345 | 0x83 => { add_a_r!(e); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 346 | 0x84 => { add_a_r!(h); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 347 | 0x85 => { add_a_r!(l); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 348 | 0x86 => { let n = at_hl!(); add_a_r!(n); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 348 | 0x86 => { let n = at_hl!(); add_a_r!(n); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 348 | 0x86 => { let n = at_hl!(); add_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 349 | 0x87 => { add_a_r!(a); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 350 | 0x88 => { adc_a_r!(b); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 127 [INFO] [stderr] --> src/z80.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | / pub fn run(z80: &mut Z80, mut timeslice: usize) { [INFO] [stderr] 75 | | let mem = &mut z80.mem; [INFO] [stderr] 76 | | let mut pc = z80.pc; [INFO] [stderr] 77 | | let mut sp_ = z80.sp; [INFO] [stderr] ... | [INFO] [stderr] 469 | | z80.l = l; [INFO] [stderr] 470 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 351 | 0x89 => { adc_a_r!(c); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 352 | 0x8A => { adc_a_r!(d); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 353 | 0x8B => { adc_a_r!(e); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 354 | 0x8C => { adc_a_r!(h); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 355 | 0x8D => { adc_a_r!(l); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 356 | 0x8E => { let n = at_hl!(); adc_a_r!(n); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 356 | 0x8E => { let n = at_hl!(); adc_a_r!(n); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 356 | 0x8E => { let n = at_hl!(); adc_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 357 | 0x8F => { adc_a_r!(a); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 358 | 0xA0 => { and_a_r!(b); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 359 | 0xA1 => { and_a_r!(c); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 360 | 0xA2 => { and_a_r!(d); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 361 | 0xA3 => { and_a_r!(e); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 362 | 0xA4 => { and_a_r!(h); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 363 | 0xA5 => { and_a_r!(l); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 364 | 0xA6 => { let n = at_hl!(); and_a_r!(n); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 364 | 0xA6 => { let n = at_hl!(); and_a_r!(n); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `a` and `z80.a_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut a, &mut z80.a_alt)` [INFO] [stderr] ... [INFO] [stderr] 330 | swap!(a, z80.a_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_swap)] on by default [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: this looks like you are swapping `f` and `z80.f_alt` manually [INFO] [stderr] ... [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] 364 | 0xA6 => { let n = at_hl!(); and_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] help: try [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut f, &mut z80.f_alt)` [INFO] [stderr] | [INFO] [stderr] ... [INFO] [stderr] 331 | swap!(f, z80.f_alt); [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 333 | 0x09 => { add_rr_ss!(hl, bc); } [INFO] [stderr] | ------------------- in this macro invocation [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] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 333 | 0x09 => { add_rr_ss!(hl, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 365 | 0xA7 => { and_a_r!(a); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 333 | 0x09 => { add_rr_ss!(hl, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 94 | } [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 95 | } [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 151 | } [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] ... [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 333 | 0x09 => { add_rr_ss!(hl, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:242:22 [INFO] [stderr] | [INFO] [stderr] 242 | let lo = mem[pc as usize] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(mem[pc as usize])` [INFO] [stderr] ... [INFO] [stderr] 366 | 0xC3 => { pc = peek_word!(); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 334 | 0x19 => { add_rr_ss!(hl, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:243:22 [INFO] [stderr] | [INFO] [stderr] 243 | let hi = mem[pc.wrapping_add(1) as usize] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(mem[pc.wrapping_add(1) as usize])` [INFO] [stderr] ... [INFO] [stderr] 366 | 0xC3 => { pc = peek_word!(); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 367 | 0xC6 => { let n = byte!(); add_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] help: try [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 95 | } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 334 | 0x19 => { add_rr_ss!(hl, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 334 | 0x19 => { add_rr_ss!(hl, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 370 | 0x46 => { let n = at_hl!(); bit_b!(n, 0); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 334 | 0x19 => { add_rr_ss!(hl, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 370 | 0x46 => { let n = at_hl!(); bit_b!(n, 0); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 370 | 0x46 => { let n = at_hl!(); bit_b!(n, 0); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 370 | 0x46 => { let n = at_hl!(); bit_b!(n, 0); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 335 | 0x29 => { add_rr_ss!(hl, hl); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 371 | 0x4E => { let n = at_hl!(); bit_b!(n, 1); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 335 | 0x29 => { add_rr_ss!(hl, hl); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 371 | 0x4E => { let n = at_hl!(); bit_b!(n, 1); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 371 | 0x4E => { let n = at_hl!(); bit_b!(n, 1); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: 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/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 335 | 0x29 => { add_rr_ss!(hl, hl); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 371 | 0x4E => { let n = at_hl!(); bit_b!(n, 1); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 372 | 0x56 => { let n = at_hl!(); bit_b!(n, 2); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 372 | 0x56 => { let n = at_hl!(); bit_b!(n, 2); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 372 | 0x56 => { let n = at_hl!(); bit_b!(n, 2); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 372 | 0x56 => { let n = at_hl!(); bit_b!(n, 2); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 373 | 0x5E => { let n = at_hl!(); bit_b!(n, 3); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 373 | 0x5E => { let n = at_hl!(); bit_b!(n, 3); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 373 | 0x5E => { let n = at_hl!(); bit_b!(n, 3); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 373 | 0x5E => { let n = at_hl!(); bit_b!(n, 3); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 374 | 0x66 => { let n = at_hl!(); bit_b!(n, 4); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 374 | 0x66 => { let n = at_hl!(); bit_b!(n, 4); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 374 | 0x66 => { let n = at_hl!(); bit_b!(n, 4); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 374 | 0x66 => { let n = at_hl!(); bit_b!(n, 4); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 375 | 0x6E => { let n = at_hl!(); bit_b!(n, 5); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 375 | 0x6E => { let n = at_hl!(); bit_b!(n, 5); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 375 | 0x6E => { let n = at_hl!(); bit_b!(n, 5); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 375 | 0x6E => { let n = at_hl!(); bit_b!(n, 5); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 376 | 0x76 => { let n = at_hl!(); bit_b!(n, 6); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 376 | 0x76 => { let n = at_hl!(); bit_b!(n, 6); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 376 | 0x76 => { let n = at_hl!(); bit_b!(n, 6); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 376 | 0x76 => { let n = at_hl!(); bit_b!(n, 6); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 377 | 0x7E => { let n = at_hl!(); bit_b!(n, 7); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 377 | 0x7E => { let n = at_hl!(); bit_b!(n, 7); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 377 | 0x7E => { let n = at_hl!(); bit_b!(n, 7); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 377 | 0x7E => { let n = at_hl!(); bit_b!(n, 7); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 381 | 0xCE => { let n = byte!(); adc_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `b` and `z80.b_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut b, &mut z80.b_alt)` [INFO] [stderr] ... [INFO] [stderr] 388 | swap!(b, z80.b_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 335 | 0x29 => { add_rr_ss!(hl, hl); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] warning: this looks like you are swapping `c` and `z80.c_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut c, &mut z80.c_alt)` [INFO] [stderr] ... [INFO] [stderr] 389 | swap!(c, z80.c_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `d` and `z80.d_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut d, &mut z80.d_alt)` [INFO] [stderr] ... [INFO] [stderr] 390 | swap!(d, z80.d_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `e` and `z80.e_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut e, &mut z80.e_alt)` [INFO] [stderr] ... [INFO] [stderr] 391 | swap!(e, z80.e_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `h` and `z80.h_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut h, &mut z80.h_alt)` [INFO] [stderr] ... [INFO] [stderr] 392 | swap!(h, z80.h_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 337 | 0x39 => { add_rr_ss!(hl, sp); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] | [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 337 | 0x39 => { add_rr_ss!(hl, sp); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `l` and `z80.l_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut l, &mut z80.l_alt)` [INFO] [stderr] ... [INFO] [stderr] 393 | swap!(l, z80.l_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 342 | 0x80 => { add_a_r!(b); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::verbose_bit_mask)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 410 | 0x09 => { add_rr_ss!(ix, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 410 | 0x09 => { add_rr_ss!(ix, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 343 | 0x81 => { add_a_r!(c); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 411 | 0x19 => { add_rr_ss!(ix, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 411 | 0x19 => { add_rr_ss!(ix, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:250:66 [INFO] [stderr] | [INFO] [stderr] 250 | macro_rules! at_ixd { ($d:ident) => { mem[ix!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 414 | 0x86 => { op_a_ixd!(add_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 250 | macro_rules! at_ixd { ($d:ident) => { mem[ix!().wrapping_add(u16::from($d as u16) as usize] } } [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] 252 | [INFO] [stderr] 253 | // Instruction macros [INFO] [stderr] 254 | [INFO] [stderr] 255 | macro_rules! adc_a_r { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 414 | 0x86 => { op_a_ixd!(add_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:250:66 [INFO] [stderr] | [INFO] [stderr] 250 | macro_rules! at_ixd { ($d:ident) => { mem[ix!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 415 | 0x8E => { op_a_ixd!(adc_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 344 | 0x82 => { add_a_r!(d); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 250 | macro_rules! at_ixd { ($d:ident) => { mem[ix!().wrapping_add(u16::from($d as u16) as usize] } } [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] 252 | [INFO] [stderr] 253 | // Instruction macros [INFO] [stderr] 254 | [INFO] [stderr] 255 | macro_rules! adc_a_r { [INFO] [stderr] ... [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 415 | 0x8E => { op_a_ixd!(adc_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] 147 | } [INFO] [stderr] | [INFO] [stderr] 148 | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] ... [INFO] [stderr] 151 | } [INFO] [stderr] 345 | 0x83 => { add_a_r!(e); } [INFO] [stderr] ... [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 346 | 0x84 => { add_a_r!(h); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:250:66 [INFO] [stderr] | [INFO] [stderr] 250 | macro_rules! at_ixd { ($d:ident) => { mem[ix!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 416 | 0xA6 => { op_a_ixd!(and_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 250 | macro_rules! at_ixd { ($d:ident) => { mem[ix!().wrapping_add(u16::from($d as u16) as usize] } } [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] 252 | [INFO] [stderr] 253 | // Instruction macros [INFO] [stderr] 254 | [INFO] [stderr] 255 | macro_rules! adc_a_r { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 416 | 0xA6 => { op_a_ixd!(and_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 347 | 0x85 => { add_a_r!(l); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] | [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 348 | 0x86 => { let n = at_hl!(); add_a_r!(n); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 348 | 0x86 => { let n = at_hl!(); add_a_r!(n); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 420 | 0xE6 => { let n = byte!(); and_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 348 | 0x86 => { let n = at_hl!(); add_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `d` and `h` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut d, &mut h)` [INFO] [stderr] ... [INFO] [stderr] 422 | swap!(d, h); [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 349 | 0x87 => { add_a_r!(a); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `e` and `l` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut e, &mut l)` [INFO] [stderr] ... [INFO] [stderr] 423 | swap!(e, l); [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 427 | 0x4A => { adc_hl_ss!(bc); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 350 | 0x88 => { adc_a_r!(b); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] | [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 427 | 0x4A => { adc_hl_ss!(bc); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 427 | 0x4A => { adc_hl_ss!(bc); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 351 | 0x89 => { adc_a_r!(c); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 427 | 0x4A => { adc_hl_ss!(bc); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 352 | 0x8A => { adc_a_r!(d); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:201:33 [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 427 | 0x4A => { adc_hl_ss!(bc); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 202 | } [INFO] [stderr] 203 | [INFO] [stderr] 204 | macro_rules! cf16 { [INFO] [stderr] 205 | ($result:ident) => { if $result & 0x10000 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 206 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 353 | 0x8B => { adc_a_r!(e); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 428 | 0x5A => { adc_hl_ss!(de); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 428 | 0x5A => { adc_hl_ss!(de); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 428 | 0x5A => { adc_hl_ss!(de); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 354 | 0x8C => { adc_a_r!(h); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] | [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 428 | 0x5A => { adc_hl_ss!(de); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 355 | 0x8D => { adc_a_r!(l); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:201:33 [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 428 | 0x5A => { adc_hl_ss!(de); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 202 | } [INFO] [stderr] 203 | [INFO] [stderr] 204 | macro_rules! cf16 { [INFO] [stderr] 205 | ($result:ident) => { if $result & 0x10000 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 206 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 429 | 0x6A => { adc_hl_ss!(hl); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 429 | 0x6A => { adc_hl_ss!(hl); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 429 | 0x6A => { adc_hl_ss!(hl); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 429 | 0x6A => { adc_hl_ss!(hl); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:201:33 [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 429 | 0x6A => { adc_hl_ss!(hl); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 202 | } [INFO] [stderr] 203 | [INFO] [stderr] 204 | macro_rules! cf16 { [INFO] [stderr] 205 | ($result:ident) => { if $result & 0x10000 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 206 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 430 | 0x7A => { adc_hl_ss!(sp); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 430 | 0x7A => { adc_hl_ss!(sp); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:201:33 [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 430 | 0x7A => { adc_hl_ss!(sp); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 202 | } [INFO] [stderr] 203 | [INFO] [stderr] 204 | macro_rules! cf16 { [INFO] [stderr] 205 | ($result:ident) => { if $result & 0x10000 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 206 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 444 | 0x09 => { add_rr_ss!(iy, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 444 | 0x09 => { add_rr_ss!(iy, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 445 | 0x19 => { add_rr_ss!(iy, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 445 | 0x19 => { add_rr_ss!(iy, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:251:66 [INFO] [stderr] | [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 448 | 0x86 => { op_a_iyd!(add_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add(u16::from($d as u16) as usize] } } [INFO] [stderr] 252 | [INFO] [stderr] 253 | // Instruction macros [INFO] [stderr] 254 | [INFO] [stderr] 255 | macro_rules! adc_a_r { [INFO] [stderr] 256 | ($r:ident) => {{ [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 448 | 0x86 => { op_a_iyd!(add_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:251:66 [INFO] [stderr] | [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 449 | 0x8E => { op_a_iyd!(adc_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 356 | 0x8E => { let n = at_hl!(); adc_a_r!(n); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] | [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add(u16::from($d as u16) as usize] } } [INFO] [stderr] 252 | [INFO] [stderr] 253 | // Instruction macros [INFO] [stderr] 254 | [INFO] [stderr] 255 | macro_rules! adc_a_r { [INFO] [stderr] 256 | ($r:ident) => {{ [INFO] [stderr] ... [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 356 | 0x8E => { let n = at_hl!(); adc_a_r!(n); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 356 | 0x8E => { let n = at_hl!(); adc_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 449 | 0x8E => { op_a_iyd!(adc_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 357 | 0x8F => { adc_a_r!(a); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:251:66 [INFO] [stderr] | [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 450 | 0xA6 => { op_a_iyd!(and_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add(u16::from($d as u16) as usize] } } [INFO] [stderr] 252 | [INFO] [stderr] 253 | // Instruction macros [INFO] [stderr] 254 | [INFO] [stderr] 255 | macro_rules! adc_a_r { [INFO] [stderr] 256 | ($r:ident) => {{ [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 358 | 0xA0 => { and_a_r!(b); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 450 | 0xA6 => { op_a_iyd!(and_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] 151 | } [INFO] [stderr] | [INFO] [stderr] ... [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 359 | 0xA1 => { and_a_r!(c); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 360 | 0xA2 => { and_a_r!(d); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 361 | 0xA3 => { and_a_r!(e); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/file_backed_spinning_disk.rs:45:10 [INFO] [stderr] | [INFO] [stderr] 45 | .expect(&format!("Could not open `{}`", filename)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Could not open `{}`", filename))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/file_backed_spinning_disk.rs:91:33 [INFO] [stderr] | [INFO] [stderr] 91 | let sectors_per_track = self.max_sector as u32 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.max_sector)` [INFO] [stderr] | [INFO] [stderr] = help: 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/file_backed_spinning_disk.rs:92:31 [INFO] [stderr] | [INFO] [stderr] 92 | let tracks_per_head = self.max_track as u32 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.max_track)` [INFO] [stderr] | [INFO] [stderr] = help: 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/file_backed_spinning_disk.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | self.head as u32 * sectors_per_head + self.track as u32 * sectors_per_track + self.sector as u32 * sector_size [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(self.head)` [INFO] [stderr] | [INFO] [stderr] = help: 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/file_backed_spinning_disk.rs:96:47 [INFO] [stderr] | [INFO] [stderr] 96 | self.head as u32 * sectors_per_head + self.track as u32 * sectors_per_track + self.sector as u32 * sector_size [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.track)` [INFO] [stderr] | [INFO] [stderr] = help: 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/file_backed_spinning_disk.rs:96:87 [INFO] [stderr] | [INFO] [stderr] 96 | self.head as u32 * sectors_per_head + self.track as u32 * sectors_per_track + self.sector as u32 * sector_size [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.sector)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/file_backed_spinning_disk.rs:112:23 [INFO] [stderr] | [INFO] [stderr] 112 | self.offset = self.translate() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.translate())` [INFO] [stderr] | [INFO] [stderr] = help: 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/file_backed_spinning_disk.rs:128:32 [INFO] [stderr] | [INFO] [stderr] 128 | let mut dma = ((self.dma_hi as u16) << 8) | (self.dma_lo as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.dma_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/file_backed_spinning_disk.rs:128:61 [INFO] [stderr] | [INFO] [stderr] 128 | let mut dma = ((self.dma_hi as u16) << 8) | (self.dma_lo as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.dma_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] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 362 | 0xA4 => { and_a_r!(h); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/main.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | / OpenOptions::new().read(true) [INFO] [stderr] 74 | | .open("rom.bin").expect("Could not open `rom.bin`") [INFO] [stderr] 75 | | .read(mem).expect("Could not read `rom.bin`"); [INFO] [stderr] | |_____________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 363 | 0xA5 => { and_a_r!(l); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 364 | 0xA6 => { let n = at_hl!(); and_a_r!(n); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 364 | 0xA6 => { let n = at_hl!(); and_a_r!(n); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 364 | 0xA6 => { let n = at_hl!(); and_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 365 | 0xA7 => { and_a_r!(a); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:242:22 [INFO] [stderr] | [INFO] [stderr] 242 | let lo = mem[pc as usize] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(mem[pc as usize])` [INFO] [stderr] ... [INFO] [stderr] 366 | 0xC3 => { pc = peek_word!(); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:243:22 [INFO] [stderr] | [INFO] [stderr] 243 | let hi = mem[pc.wrapping_add(1) as usize] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(mem[pc.wrapping_add(1) as usize])` [INFO] [stderr] ... [INFO] [stderr] 366 | 0xC3 => { pc = peek_word!(); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 367 | 0xC6 => { let n = byte!(); add_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 370 | 0x46 => { let n = at_hl!(); bit_b!(n, 0); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 370 | 0x46 => { let n = at_hl!(); bit_b!(n, 0); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 370 | 0x46 => { let n = at_hl!(); bit_b!(n, 0); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 370 | 0x46 => { let n = at_hl!(); bit_b!(n, 0); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 371 | 0x4E => { let n = at_hl!(); bit_b!(n, 1); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 371 | 0x4E => { let n = at_hl!(); bit_b!(n, 1); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 371 | 0x4E => { let n = at_hl!(); bit_b!(n, 1); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 371 | 0x4E => { let n = at_hl!(); bit_b!(n, 1); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: Could not compile `z80emu`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 372 | 0x56 => { let n = at_hl!(); bit_b!(n, 2); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 372 | 0x56 => { let n = at_hl!(); bit_b!(n, 2); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 372 | 0x56 => { let n = at_hl!(); bit_b!(n, 2); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 372 | 0x56 => { let n = at_hl!(); bit_b!(n, 2); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 373 | 0x5E => { let n = at_hl!(); bit_b!(n, 3); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 373 | 0x5E => { let n = at_hl!(); bit_b!(n, 3); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 373 | 0x5E => { let n = at_hl!(); bit_b!(n, 3); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 373 | 0x5E => { let n = at_hl!(); bit_b!(n, 3); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 374 | 0x66 => { let n = at_hl!(); bit_b!(n, 4); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 374 | 0x66 => { let n = at_hl!(); bit_b!(n, 4); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 374 | 0x66 => { let n = at_hl!(); bit_b!(n, 4); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 374 | 0x66 => { let n = at_hl!(); bit_b!(n, 4); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 375 | 0x6E => { let n = at_hl!(); bit_b!(n, 5); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 375 | 0x6E => { let n = at_hl!(); bit_b!(n, 5); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 375 | 0x6E => { let n = at_hl!(); bit_b!(n, 5); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 375 | 0x6E => { let n = at_hl!(); bit_b!(n, 5); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 376 | 0x76 => { let n = at_hl!(); bit_b!(n, 6); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 376 | 0x76 => { let n = at_hl!(); bit_b!(n, 6); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 376 | 0x76 => { let n = at_hl!(); bit_b!(n, 6); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 376 | 0x76 => { let n = at_hl!(); bit_b!(n, 6); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 377 | 0x7E => { let n = at_hl!(); bit_b!(n, 7); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 377 | 0x7E => { let n = at_hl!(); bit_b!(n, 7); } [INFO] [stderr] | -------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | let v = $v as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from($v)` [INFO] [stderr] ... [INFO] [stderr] 377 | 0x7E => { let n = at_hl!(); bit_b!(n, 7); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 377 | 0x7E => { let n = at_hl!(); bit_b!(n, 7); } [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 381 | 0xCE => { let n = byte!(); adc_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `b` and `z80.b_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut b, &mut z80.b_alt)` [INFO] [stderr] ... [INFO] [stderr] 388 | swap!(b, z80.b_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `c` and `z80.c_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut c, &mut z80.c_alt)` [INFO] [stderr] ... [INFO] [stderr] 389 | swap!(c, z80.c_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `d` and `z80.d_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut d, &mut z80.d_alt)` [INFO] [stderr] ... [INFO] [stderr] 390 | swap!(d, z80.d_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `e` and `z80.e_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut e, &mut z80.e_alt)` [INFO] [stderr] ... [INFO] [stderr] 391 | swap!(e, z80.e_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `h` and `z80.h_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut h, &mut z80.h_alt)` [INFO] [stderr] ... [INFO] [stderr] 392 | swap!(h, z80.h_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `l` and `z80.l_alt` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut l, &mut z80.l_alt)` [INFO] [stderr] ... [INFO] [stderr] 393 | swap!(l, z80.l_alt); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 410 | 0x09 => { add_rr_ss!(ix, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 410 | 0x09 => { add_rr_ss!(ix, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 411 | 0x19 => { add_rr_ss!(ix, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 411 | 0x19 => { add_rr_ss!(ix, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:250:66 [INFO] [stderr] | [INFO] [stderr] 250 | macro_rules! at_ixd { ($d:ident) => { mem[ix!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 414 | 0x86 => { op_a_ixd!(add_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 250 | macro_rules! at_ixd { ($d:ident) => { mem[ix!().wrapping_add(u16::from($d as u16) as usize] } } [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] 252 | [INFO] [stderr] 253 | // Instruction macros [INFO] [stderr] 254 | [INFO] [stderr] 255 | macro_rules! adc_a_r { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 414 | 0x86 => { op_a_ixd!(add_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:250:66 [INFO] [stderr] | [INFO] [stderr] 250 | macro_rules! at_ixd { ($d:ident) => { mem[ix!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 415 | 0x8E => { op_a_ixd!(adc_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 250 | macro_rules! at_ixd { ($d:ident) => { mem[ix!().wrapping_add(u16::from($d as u16) as usize] } } [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] 252 | [INFO] [stderr] 253 | // Instruction macros [INFO] [stderr] 254 | [INFO] [stderr] 255 | macro_rules! adc_a_r { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 415 | 0x8E => { op_a_ixd!(adc_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:250:66 [INFO] [stderr] | [INFO] [stderr] 250 | macro_rules! at_ixd { ($d:ident) => { mem[ix!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 416 | 0xA6 => { op_a_ixd!(and_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 250 | macro_rules! at_ixd { ($d:ident) => { mem[ix!().wrapping_add(u16::from($d as u16) as usize] } } [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] 252 | [INFO] [stderr] 253 | // Instruction macros [INFO] [stderr] 254 | [INFO] [stderr] 255 | macro_rules! adc_a_r { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 416 | 0xA6 => { op_a_ixd!(and_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 420 | 0xE6 => { let n = byte!(); and_a_r!(n); } [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `d` and `h` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut d, &mut h)` [INFO] [stderr] ... [INFO] [stderr] 422 | swap!(d, h); [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `e` and `l` manually [INFO] [stderr] --> src/z80.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | / let tmp = $a; [INFO] [stderr] 315 | | $a = $b; [INFO] [stderr] 316 | | $b = tmp; [INFO] [stderr] | |____________________^ help: try: `std::mem::swap(&mut e, &mut l)` [INFO] [stderr] ... [INFO] [stderr] 423 | swap!(e, l); [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 427 | 0x4A => { adc_hl_ss!(bc); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 427 | 0x4A => { adc_hl_ss!(bc); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 427 | 0x4A => { adc_hl_ss!(bc); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 427 | 0x4A => { adc_hl_ss!(bc); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:201:33 [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 427 | 0x4A => { adc_hl_ss!(bc); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 202 | } [INFO] [stderr] 203 | [INFO] [stderr] 204 | macro_rules! cf16 { [INFO] [stderr] 205 | ($result:ident) => { if $result & 0x10000 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 206 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 428 | 0x5A => { adc_hl_ss!(de); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 428 | 0x5A => { adc_hl_ss!(de); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 428 | 0x5A => { adc_hl_ss!(de); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 428 | 0x5A => { adc_hl_ss!(de); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:201:33 [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 428 | 0x5A => { adc_hl_ss!(de); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 202 | } [INFO] [stderr] 203 | [INFO] [stderr] 204 | macro_rules! cf16 { [INFO] [stderr] 205 | ($result:ident) => { if $result & 0x10000 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 206 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 429 | 0x6A => { adc_hl_ss!(hl); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 429 | 0x6A => { adc_hl_ss!(hl); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 429 | 0x6A => { adc_hl_ss!(hl); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 429 | 0x6A => { adc_hl_ss!(hl); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:201:33 [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 429 | 0x6A => { adc_hl_ss!(hl); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 202 | } [INFO] [stderr] 203 | [INFO] [stderr] 204 | macro_rules! cf16 { [INFO] [stderr] 205 | ($result:ident) => { if $result & 0x10000 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 206 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 430 | 0x7A => { adc_hl_ss!(sp); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 430 | 0x7A => { adc_hl_ss!(sp); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:201:33 [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 430 | 0x7A => { adc_hl_ss!(sp); } [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 201 | ($result:ident) => { if $result & 0xFFFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 202 | } [INFO] [stderr] 203 | [INFO] [stderr] 204 | macro_rules! cf16 { [INFO] [stderr] 205 | ($result:ident) => { if $result & 0x10000 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 206 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 444 | 0x09 => { add_rr_ss!(iy, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 444 | 0x09 => { add_rr_ss!(iy, bc); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 445 | 0x19 => { add_rr_ss!(iy, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (u16::from($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | ($lo as u16) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 445 | 0x19 => { add_rr_ss!(iy, de); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 93 | (($hi as u16) << 8) | u16::from($lo as u16) [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] 96 | macro_rules! set16 { [INFO] [stderr] 97 | ($hi:ident, $lo:ident, $v:ident) => { [INFO] [stderr] 98 | $lo = ($v & 0xFF) as u8; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:251:66 [INFO] [stderr] | [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 448 | 0x86 => { op_a_iyd!(add_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add(u16::from($d as u16) as usize] } } [INFO] [stderr] 252 | [INFO] [stderr] 253 | // Instruction macros [INFO] [stderr] 254 | [INFO] [stderr] 255 | macro_rules! adc_a_r { [INFO] [stderr] 256 | ($r:ident) => {{ [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 448 | 0x86 => { op_a_iyd!(add_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:251:66 [INFO] [stderr] | [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 449 | 0x8E => { op_a_iyd!(adc_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add(u16::from($d as u16) as usize] } } [INFO] [stderr] 252 | [INFO] [stderr] 253 | // Instruction macros [INFO] [stderr] 254 | [INFO] [stderr] 255 | macro_rules! adc_a_r { [INFO] [stderr] 256 | ($r:ident) => {{ [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 449 | 0x8E => { op_a_iyd!(adc_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:251:66 [INFO] [stderr] | [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add($d as u16) as usize] } } [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 450 | 0xA6 => { op_a_iyd!(and_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 251 | macro_rules! at_iyd { ($d:ident) => { mem[iy!().wrapping_add(u16::from($d as u16) as usize] } } [INFO] [stderr] 252 | [INFO] [stderr] 253 | // Instruction macros [INFO] [stderr] 254 | [INFO] [stderr] 255 | macro_rules! adc_a_r { [INFO] [stderr] 256 | ($r:ident) => {{ [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/z80.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 450 | 0xA6 => { op_a_iyd!(and_a_r); } [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 146 | ($result:ident) => { if $result & 0xFF == 0 { ZERO_FLAG } else { 0 } } [INFO] [stderr] 147 | } [INFO] [stderr] 148 | [INFO] [stderr] 149 | macro_rules! cf8 { [INFO] [stderr] 150 | ($result:ident) => { if $result & 0x100 == 0 { 0 } else { CARRY_FLAG } } [INFO] [stderr] 151 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/file_backed_spinning_disk.rs:45:10 [INFO] [stderr] | [INFO] [stderr] 45 | .expect(&format!("Could not open `{}`", filename)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Could not open `{}`", filename))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/file_backed_spinning_disk.rs:91:33 [INFO] [stderr] | [INFO] [stderr] 91 | let sectors_per_track = self.max_sector as u32 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.max_sector)` [INFO] [stderr] | [INFO] [stderr] = help: 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/file_backed_spinning_disk.rs:92:31 [INFO] [stderr] | [INFO] [stderr] 92 | let tracks_per_head = self.max_track as u32 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.max_track)` [INFO] [stderr] | [INFO] [stderr] = help: 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/file_backed_spinning_disk.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | self.head as u32 * sectors_per_head + self.track as u32 * sectors_per_track + self.sector as u32 * sector_size [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(self.head)` [INFO] [stderr] | [INFO] [stderr] = help: 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/file_backed_spinning_disk.rs:96:47 [INFO] [stderr] | [INFO] [stderr] 96 | self.head as u32 * sectors_per_head + self.track as u32 * sectors_per_track + self.sector as u32 * sector_size [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.track)` [INFO] [stderr] | [INFO] [stderr] = help: 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/file_backed_spinning_disk.rs:96:87 [INFO] [stderr] | [INFO] [stderr] 96 | self.head as u32 * sectors_per_head + self.track as u32 * sectors_per_track + self.sector as u32 * sector_size [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.sector)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/file_backed_spinning_disk.rs:112:23 [INFO] [stderr] | [INFO] [stderr] 112 | self.offset = self.translate() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.translate())` [INFO] [stderr] | [INFO] [stderr] = help: 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/file_backed_spinning_disk.rs:128:32 [INFO] [stderr] | [INFO] [stderr] 128 | let mut dma = ((self.dma_hi as u16) << 8) | (self.dma_lo as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.dma_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/file_backed_spinning_disk.rs:128:61 [INFO] [stderr] | [INFO] [stderr] 128 | let mut dma = ((self.dma_hi as u16) << 8) | (self.dma_lo as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.dma_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] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/main.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | / OpenOptions::new().read(true) [INFO] [stderr] 74 | | .open("rom.bin").expect("Could not open `rom.bin`") [INFO] [stderr] 75 | | .read(mem).expect("Could not read `rom.bin`"); [INFO] [stderr] | |_____________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `z80emu`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "0816dbac29133aa2710f696568e2fbeee609bb47e2630c7833e93e7aa3c24b6f"` [INFO] running `"docker" "rm" "-f" "0816dbac29133aa2710f696568e2fbeee609bb47e2630c7833e93e7aa3c24b6f"` [INFO] [stdout] 0816dbac29133aa2710f696568e2fbeee609bb47e2630c7833e93e7aa3c24b6f