[INFO] crate rz80 0.1.1 is already in cache [INFO] extracting crate rz80 0.1.1 into work/ex/clippy-test-run/sources/stable/reg/rz80/0.1.1 [INFO] extracting crate rz80 0.1.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rz80/0.1.1 [INFO] validating manifest of rz80-0.1.1 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 rz80-0.1.1 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 rz80-0.1.1 [INFO] finished frobbing rz80-0.1.1 [INFO] frobbed toml for rz80-0.1.1 written to work/ex/clippy-test-run/sources/stable/reg/rz80/0.1.1/Cargo.toml [INFO] started frobbing rz80-0.1.1 [INFO] finished frobbing rz80-0.1.1 [INFO] frobbed toml for rz80-0.1.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rz80/0.1.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 rz80-0.1.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rz80/0.1.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 1ab64140b2c661d9ea0386d7cefc8eed16c4994d7a3a2b47ca855d2cd682102a [INFO] running `"docker" "start" "-a" "1ab64140b2c661d9ea0386d7cefc8eed16c4994d7a3a2b47ca855d2cd682102a"` [INFO] [stderr] Checking rz80 v0.1.1 (/opt/crater/workdir) [INFO] [stderr] Compiling minifb v0.8.4 [INFO] [stderr] Checking dylib v0.0.1 [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:276:21 [INFO] [stderr] | [INFO] [stderr] 276 | let v = self.reg.r8i(z); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:284:21 [INFO] [stderr] | [INFO] [stderr] 284 | let v = self.mem.r8(a); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:344:21 [INFO] [stderr] | [INFO] [stderr] 344 | let q = y & 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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:362:21 [INFO] [stderr] | [INFO] [stderr] 362 | let q = y & 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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:367:29 [INFO] [stderr] | [INFO] [stderr] 367 | let v = self.reg.r16sp(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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:375:29 [INFO] [stderr] | [INFO] [stderr] 375 | let a = self.reg.a(); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:387:29 [INFO] [stderr] | [INFO] [stderr] 387 | let a = self.reg.a(); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:426:21 [INFO] [stderr] | [INFO] [stderr] 426 | let q = y & 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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:440:21 [INFO] [stderr] | [INFO] [stderr] 440 | let w = self.inc8(v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:447:21 [INFO] [stderr] | [INFO] [stderr] 447 | let w = self.inc8(v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:455:21 [INFO] [stderr] | [INFO] [stderr] 455 | let w = self.dec8(v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:462:21 [INFO] [stderr] | [INFO] [stderr] 462 | let w = self.dec8(v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:507:21 [INFO] [stderr] | [INFO] [stderr] 507 | let q = y & 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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:529:29 [INFO] [stderr] | [INFO] [stderr] 529 | let v = self.reg.r16sp(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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:535:29 [INFO] [stderr] | [INFO] [stderr] 535 | let v = self.reg.r16sp(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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:611:21 [INFO] [stderr] | [INFO] [stderr] 611 | let q = y & 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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:615:29 [INFO] [stderr] | [INFO] [stderr] 615 | let v = self.reg.r16af(p); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:718:21 [INFO] [stderr] | [INFO] [stderr] 718 | let f = flags_szp(v) | (self.reg.f() & CF); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:727:21 [INFO] [stderr] | [INFO] [stderr] 727 | let f = flags_szp(v) | (self.reg.f() & CF); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:747:21 [INFO] [stderr] | [INFO] [stderr] 747 | let q = y & 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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:761:21 [INFO] [stderr] | [INFO] [stderr] 761 | let q = y & 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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:812:21 [INFO] [stderr] | [INFO] [stderr] 812 | let f = flags_sziff2(i, self.iff2) | (self.reg.f() & CF); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:820:21 [INFO] [stderr] | [INFO] [stderr] 820 | let f = flags_sziff2(r, self.iff2) | (self.reg.f() & CF); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:861:25 [INFO] [stderr] | [INFO] [stderr] 861 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:862:25 [INFO] [stderr] | [INFO] [stderr] 862 | let v = self.mem.r8(a); [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/cpu.rs:863:25 [INFO] [stderr] | [INFO] [stderr] 863 | let w = self.rot(y, v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:869:25 [INFO] [stderr] | [INFO] [stderr] 869 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:870:25 [INFO] [stderr] | [INFO] [stderr] 870 | let v = self.mem.r8(a); [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/cpu.rs:871:25 [INFO] [stderr] | [INFO] [stderr] 871 | let w = self.rot(y, v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:877:25 [INFO] [stderr] | [INFO] [stderr] 877 | let v = self.reg.r8i(z); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:878:25 [INFO] [stderr] | [INFO] [stderr] 878 | let w = self.rot(y, v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:887:25 [INFO] [stderr] | [INFO] [stderr] 887 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:888:25 [INFO] [stderr] | [INFO] [stderr] 888 | let v = self.mem.r8(a); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:893:25 [INFO] [stderr] | [INFO] [stderr] 893 | let v = self.reg.r8i(z); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:902:25 [INFO] [stderr] | [INFO] [stderr] 902 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:903:25 [INFO] [stderr] | [INFO] [stderr] 903 | let v = self.mem.r8(a) & !(1 << y); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:909:25 [INFO] [stderr] | [INFO] [stderr] 909 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:910:25 [INFO] [stderr] | [INFO] [stderr] 910 | let v = self.mem.r8(a) & !(1 << y); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:916:25 [INFO] [stderr] | [INFO] [stderr] 916 | let v = self.reg.r8i(z) & !(1 << y); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:925:25 [INFO] [stderr] | [INFO] [stderr] 925 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:926:25 [INFO] [stderr] | [INFO] [stderr] 926 | let v = self.mem.r8(a) | 1 << y; [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:932:25 [INFO] [stderr] | [INFO] [stderr] 932 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:933:25 [INFO] [stderr] | [INFO] [stderr] 933 | let v = self.mem.r8(a) | 1 << y; [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:939:25 [INFO] [stderr] | [INFO] [stderr] 939 | let v = self.reg.r8i(z) | 1 << y; [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/pio.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ctc.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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: unnecessary parentheses around method argument [INFO] [stderr] --> src/memory.rs:140:32 [INFO] [stderr] | [INFO] [stderr] 140 | mem.map(0, 0, 0, true, (1 << 16)); [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/ctc.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | / if (ctrl & (CTC_RESET | CTC_CONSTANT_FOLLOWS)) == 0 { [INFO] [stderr] 148 | | if (ctrl & CTC_MODE_BIT) == CTC_MODE_TIMER && !waiting { [INFO] [stderr] 149 | | self.chn[chn].down_counter -= cycles as RegT; [INFO] [stderr] 150 | | while self.chn[chn].down_counter <= 0 { [INFO] [stderr] ... | [INFO] [stderr] 154 | | } [INFO] [stderr] 155 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 147 | if (ctrl & (CTC_RESET | CTC_CONSTANT_FOLLOWS)) == 0 && (ctrl & CTC_MODE_BIT) == CTC_MODE_TIMER && !waiting { [INFO] [stderr] 148 | self.chn[chn].down_counter -= cycles as RegT; [INFO] [stderr] 149 | while self.chn[chn].down_counter <= 0 { [INFO] [stderr] 150 | self.down_counter_trigger(bus, chn); [INFO] [stderr] 151 | self.chn[chn].down_counter += CTC::down_counter_initial(&self.chn[chn]); [INFO] [stderr] 152 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/registers.rs:4:22 [INFO] [stderr] | [INFO] [stderr] 4 | pub const CF: RegT = 1 << 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `registers::Registers` [INFO] [stderr] --> src/registers.rs:122:5 [INFO] [stderr] | [INFO] [stderr] 122 | / pub fn new() -> Registers { [INFO] [stderr] 123 | | Registers { [INFO] [stderr] 124 | | reg: [0; NUM_REGS], [INFO] [stderr] 125 | | r_pc: 0, [INFO] [stderr] ... | [INFO] [stderr] 133 | | } [INFO] [stderr] 134 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 106 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | self.reg[A] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[A])` [INFO] [stderr] Checking x11-dl v2.2.1 [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | self.reg[F] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[F])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | self.reg[B] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[B])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | self.reg[C] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[C])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | self.reg[D] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[D])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:173:9 [INFO] [stderr] | [INFO] [stderr] 173 | self.reg[E] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[E])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | self.reg[H] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[H])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | self.reg[L] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[L])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:188:9 [INFO] [stderr] | [INFO] [stderr] 188 | self.reg[WZH] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[WZH])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | (self.reg[A] as RegT) << 8 | self.reg[F] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[A])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:235:38 [INFO] [stderr] | [INFO] [stderr] 235 | (self.reg[A] as RegT) << 8 | self.reg[F] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[F])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | (self.reg[B] as RegT) << 8 | self.reg[C] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[B])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:240:38 [INFO] [stderr] | [INFO] [stderr] 240 | (self.reg[B] as RegT) << 8 | self.reg[C] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[C])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:245:9 [INFO] [stderr] | [INFO] [stderr] 245 | (self.reg[D] as RegT) << 8 | self.reg[E] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[D])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:245:38 [INFO] [stderr] | [INFO] [stderr] 245 | (self.reg[D] as RegT) << 8 | self.reg[E] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[E])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | (self.reg[H] as RegT) << 8 | self.reg[L] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[H])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:250:38 [INFO] [stderr] | [INFO] [stderr] 250 | (self.reg[H] as RegT) << 8 | self.reg[L] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[L])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | (self.reg[IXH] as RegT) << 8 | self.reg[IXL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[IXH])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:255:40 [INFO] [stderr] | [INFO] [stderr] 255 | (self.reg[IXH] as RegT) << 8 | self.reg[IXL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[IXL])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:260:9 [INFO] [stderr] | [INFO] [stderr] 260 | (self.reg[IYH] as RegT) << 8 | self.reg[IYL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[IYH])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:260:40 [INFO] [stderr] | [INFO] [stderr] 260 | (self.reg[IYH] as RegT) << 8 | self.reg[IYL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[IYL])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:265:9 [INFO] [stderr] | [INFO] [stderr] 265 | (self.reg[SPH] as RegT) << 8 | self.reg[SPL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[SPH])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:265:40 [INFO] [stderr] | [INFO] [stderr] 265 | (self.reg[SPH] as RegT) << 8 | self.reg[SPL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[SPL])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:270:9 [INFO] [stderr] | [INFO] [stderr] 270 | (self.reg[WZH] as RegT) << 8 | self.reg[WZL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[WZH])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:270:40 [INFO] [stderr] | [INFO] [stderr] 270 | (self.reg[WZH] as RegT) << 8 | self.reg[WZL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[WZL])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:275:9 [INFO] [stderr] | [INFO] [stderr] 275 | (self.reg[A_] as RegT) << 8 | self.reg[F_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[A_])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:275:39 [INFO] [stderr] | [INFO] [stderr] 275 | (self.reg[A_] as RegT) << 8 | self.reg[F_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[F_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:280:9 [INFO] [stderr] | [INFO] [stderr] 280 | (self.reg[B_] as RegT) << 8 | self.reg[C_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[B_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:280:39 [INFO] [stderr] | [INFO] [stderr] 280 | (self.reg[B_] as RegT) << 8 | self.reg[C_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[C_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:285:9 [INFO] [stderr] | [INFO] [stderr] 285 | (self.reg[D_] as RegT) << 8 | self.reg[E_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[D_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:285:39 [INFO] [stderr] | [INFO] [stderr] 285 | (self.reg[D_] as RegT) << 8 | self.reg[E_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[E_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | (self.reg[H_] as RegT) << 8 | self.reg[L_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[H_])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:290:39 [INFO] [stderr] | [INFO] [stderr] 290 | (self.reg[H_] as RegT) << 8 | self.reg[L_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[L_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:295:9 [INFO] [stderr] | [INFO] [stderr] 295 | (self.reg[WZH_] as RegT) << 8 | self.reg[WZL_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[WZH_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | (self.reg[WZH_] as RegT) << 8 | self.reg[WZL_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[WZL_])` [INFO] [stderr] | [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 u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:300:9 [INFO] [stderr] | [INFO] [stderr] 300 | self.r_pc as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.r_pc)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:402:9 [INFO] [stderr] | [INFO] [stderr] 402 | self.reg[self.m_r[r]] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[self.m_r[r]])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:414:9 [INFO] [stderr] | [INFO] [stderr] 414 | self.reg[self.m_r2[r]] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[self.m_r2[r]])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:426:9 [INFO] [stderr] | [INFO] [stderr] 426 | (self.reg[i] as RegT) << 8 | self.reg[i + 1] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[i])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:426:38 [INFO] [stderr] | [INFO] [stderr] 426 | (self.reg[i] as RegT) << 8 | self.reg[i + 1] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[i + 1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `memory::Memory` [INFO] [stderr] --> src/memory.rs:129:5 [INFO] [stderr] | [INFO] [stderr] 129 | / pub fn new() -> Memory { [INFO] [stderr] 130 | | Memory { [INFO] [stderr] 131 | | pages: [Page::new(); NUM_PAGES], [INFO] [stderr] 132 | | layers: [[Page::new(); NUM_PAGES]; NUM_LAYERS], [INFO] [stderr] 133 | | heap: [0; HEAP_SIZE], [INFO] [stderr] 134 | | } [INFO] [stderr] 135 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 127 | impl Default for memory::Memory { [INFO] [stderr] 128 | fn default() -> Self { [INFO] [stderr] 129 | Self::new() [INFO] [stderr] 130 | } [INFO] [stderr] 131 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/memory.rs:237:13 [INFO] [stderr] | [INFO] [stderr] 237 | self.heap[heap_offset] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.heap[heap_offset])` [INFO] [stderr] | [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 i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/memory.rs:250:13 [INFO] [stderr] | [INFO] [stderr] 250 | self.heap[heap_offset] as i8 as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.heap[heap_offset] as i8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the variable `offset` is used as a loop counter. Consider using `for (offset, item) in data.enumerate()` or similar iterators [INFO] [stderr] --> src/memory.rs:297:18 [INFO] [stderr] | [INFO] [stderr] 297 | for b in data { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/memory.rs:298:37 [INFO] [stderr] | [INFO] [stderr] 298 | self.w8f(addr + offset, *b as RegT); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(*b)` [INFO] [stderr] | [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/cpu.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | (if (res & 0xFF) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `res.trailing_zeros() >= 8` [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] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/cpu.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | (if (res & 0xFF) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `res.trailing_zeros() >= 8` [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] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/cpu.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | (if (res & 0xFF) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `res.trailing_zeros() >= 8` [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] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/cpu.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | (if (val & 0xFF) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `val.trailing_zeros() >= 8` [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] warning: you should consider adding a `Default` implementation for `cpu::CPU` [INFO] [stderr] --> src/cpu.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | / pub fn new() -> CPU { [INFO] [stderr] 110 | | CPU { [INFO] [stderr] 111 | | reg: Registers::new(), [INFO] [stderr] 112 | | halt: false, [INFO] [stderr] ... | [INFO] [stderr] 119 | | } [INFO] [stderr] 120 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 107 | impl Default for cpu::CPU { [INFO] [stderr] 108 | fn default() -> Self { [INFO] [stderr] 109 | Self::new() [INFO] [stderr] 110 | } [INFO] [stderr] 111 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/cpu.rs:1316:28 [INFO] [stderr] | [INFO] [stderr] 1316 | (if (res & 0xFFFF) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `res.trailing_zeros() >= 16` [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] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/cpu.rs:1330:28 [INFO] [stderr] | [INFO] [stderr] 1330 | (if (res & 0xFFFF) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `res.trailing_zeros() >= 16` [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] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/pio.rs:146:9 [INFO] [stderr] | [INFO] [stderr] 146 | ((self.chn[PIO_A].int_control & 0xC0) | (self.chn[PIO_B].int_control >> 4)) as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((self.chn[PIO_A].int_control & 0xC0) | (self.chn[PIO_B].int_control >> 4))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/pio.rs:188:29 [INFO] [stderr] | [INFO] [stderr] 188 | Mode::Output => self.chn[chn].output as RegT, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.chn[chn].output)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/pio.rs:195:17 [INFO] [stderr] | [INFO] [stderr] 195 | self.chn[chn].input as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.chn[chn].input)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/pio.rs:200:17 [INFO] [stderr] | [INFO] [stderr] 200 | self.chn[chn].input as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.chn[chn].input)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/pio.rs:205:17 [INFO] [stderr] | [INFO] [stderr] 205 | ((c.input & c.io_select) | (c.output & !c.io_select)) as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((c.input & c.io_select) | (c.output & !c.io_select))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/pio.rs:219:26 [INFO] [stderr] | [INFO] [stderr] 219 | let bmatch = ((ictrl == 0x00) && (val != mask)) || ((ictrl == 0x20) && (val != 0)) || [INFO] [stderr] | __________________________^ [INFO] [stderr] 220 | | ((ictrl == 0x40) && (val == 0)) || [INFO] [stderr] 221 | | ((ictrl == 0x60) && (val == mask)); [INFO] [stderr] | |___________________________________________________________^ help: try: `(ictrl == 0x00) && (val != mask) || (ictrl == 0x20) && (val != 0) || (ictrl == 0x40) && val == 0 || (ictrl == 0x60) && val == mask` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/pio.rs:224:43 [INFO] [stderr] | [INFO] [stderr] 224 | bus.pio_irq(self.id, chn, c.int_vector as RegT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(c.int_vector)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/ctc.rs:38:33 [INFO] [stderr] | [INFO] [stderr] 38 | pub const CTC_CONTROL_BIT: u8 = 1 << 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ctc.rs:169:32 [INFO] [stderr] | [INFO] [stderr] 169 | fn down_counter_initial(c: &Channel) -> RegT { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `Channel` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ctc.rs:173:13 [INFO] [stderr] | [INFO] [stderr] 173 | c.constant as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(c.constant)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/ctc.rs:184:39 [INFO] [stderr] | [INFO] [stderr] 184 | bus.ctc_irq(self.id, chn, self.chn[chn].int_vector as RegT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.chn[chn].int_vector)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `daisychain::Controller` [INFO] [stderr] --> src/daisychain.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> Controller { [INFO] [stderr] 19 | | Controller { [INFO] [stderr] 20 | | int_enabled: true, [INFO] [stderr] 21 | | int_requested: false, [INFO] [stderr] ... | [INFO] [stderr] 24 | | } [INFO] [stderr] 25 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 10 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/daisychain.rs:85:24 [INFO] [stderr] | [INFO] [stderr] 85 | return ctrl.int_vec as RegT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(ctrl.int_vec)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:276:21 [INFO] [stderr] | [INFO] [stderr] 276 | let v = self.reg.r8i(z); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:284:21 [INFO] [stderr] | [INFO] [stderr] 284 | let v = self.mem.r8(a); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:344:21 [INFO] [stderr] | [INFO] [stderr] 344 | let q = y & 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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:362:21 [INFO] [stderr] | [INFO] [stderr] 362 | let q = y & 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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:367:29 [INFO] [stderr] | [INFO] [stderr] 367 | let v = self.reg.r16sp(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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:375:29 [INFO] [stderr] | [INFO] [stderr] 375 | let a = self.reg.a(); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:387:29 [INFO] [stderr] | [INFO] [stderr] 387 | let a = self.reg.a(); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:426:21 [INFO] [stderr] | [INFO] [stderr] 426 | let q = y & 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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:440:21 [INFO] [stderr] | [INFO] [stderr] 440 | let w = self.inc8(v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:447:21 [INFO] [stderr] | [INFO] [stderr] 447 | let w = self.inc8(v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:455:21 [INFO] [stderr] | [INFO] [stderr] 455 | let w = self.dec8(v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:462:21 [INFO] [stderr] | [INFO] [stderr] 462 | let w = self.dec8(v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:507:21 [INFO] [stderr] | [INFO] [stderr] 507 | let q = y & 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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:529:29 [INFO] [stderr] | [INFO] [stderr] 529 | let v = self.reg.r16sp(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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:535:29 [INFO] [stderr] | [INFO] [stderr] 535 | let v = self.reg.r16sp(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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:611:21 [INFO] [stderr] | [INFO] [stderr] 611 | let q = y & 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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:615:29 [INFO] [stderr] | [INFO] [stderr] 615 | let v = self.reg.r16af(p); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:718:21 [INFO] [stderr] | [INFO] [stderr] 718 | let f = flags_szp(v) | (self.reg.f() & CF); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:727:21 [INFO] [stderr] | [INFO] [stderr] 727 | let f = flags_szp(v) | (self.reg.f() & CF); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:747:21 [INFO] [stderr] | [INFO] [stderr] 747 | let q = y & 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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:761:21 [INFO] [stderr] | [INFO] [stderr] 761 | let q = y & 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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:812:21 [INFO] [stderr] | [INFO] [stderr] 812 | let f = flags_sziff2(i, self.iff2) | (self.reg.f() & CF); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:820:21 [INFO] [stderr] | [INFO] [stderr] 820 | let f = flags_sziff2(r, self.iff2) | (self.reg.f() & CF); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:861:25 [INFO] [stderr] | [INFO] [stderr] 861 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:862:25 [INFO] [stderr] | [INFO] [stderr] 862 | let v = self.mem.r8(a); [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/cpu.rs:863:25 [INFO] [stderr] | [INFO] [stderr] 863 | let w = self.rot(y, v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:869:25 [INFO] [stderr] | [INFO] [stderr] 869 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:870:25 [INFO] [stderr] | [INFO] [stderr] 870 | let v = self.mem.r8(a); [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/cpu.rs:871:25 [INFO] [stderr] | [INFO] [stderr] 871 | let w = self.rot(y, v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:877:25 [INFO] [stderr] | [INFO] [stderr] 877 | let v = self.reg.r8i(z); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:878:25 [INFO] [stderr] | [INFO] [stderr] 878 | let w = self.rot(y, v); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:887:25 [INFO] [stderr] | [INFO] [stderr] 887 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:888:25 [INFO] [stderr] | [INFO] [stderr] 888 | let v = self.mem.r8(a); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:893:25 [INFO] [stderr] | [INFO] [stderr] 893 | let v = self.reg.r8i(z); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:902:25 [INFO] [stderr] | [INFO] [stderr] 902 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:903:25 [INFO] [stderr] | [INFO] [stderr] 903 | let v = self.mem.r8(a) & !(1 << y); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:909:25 [INFO] [stderr] | [INFO] [stderr] 909 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:910:25 [INFO] [stderr] | [INFO] [stderr] 910 | let v = self.mem.r8(a) & !(1 << y); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:916:25 [INFO] [stderr] | [INFO] [stderr] 916 | let v = self.reg.r8i(z) & !(1 << y); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:925:25 [INFO] [stderr] | [INFO] [stderr] 925 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:926:25 [INFO] [stderr] | [INFO] [stderr] 926 | let v = self.mem.r8(a) | 1 << y; [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:932:25 [INFO] [stderr] | [INFO] [stderr] 932 | let a = self.addr_d(d, ext); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:933:25 [INFO] [stderr] | [INFO] [stderr] 933 | let v = self.mem.r8(a) | 1 << y; [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: 5th binding whose name is just one char [INFO] [stderr] --> src/cpu.rs:939:25 [INFO] [stderr] | [INFO] [stderr] 939 | let v = self.reg.r8i(z) | 1 << y; [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/pio.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ctc.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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: The function/method `step` doesn't need a mutable reference [INFO] [stderr] --> tests/test_zex.rs:53:36 [INFO] [stderr] | [INFO] [stderr] 53 | num_cycles += cpu.step(&mut bus); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> examples/z1013.rs:333:29 [INFO] [stderr] | [INFO] [stderr] 333 | 0xFFFFFFFF [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> examples/z1013.rs:336:29 [INFO] [stderr] | [INFO] [stderr] 336 | 0xFF000000 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFF00_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/memory.rs:140:32 [INFO] [stderr] | [INFO] [stderr] 140 | mem.map(0, 0, 0, true, (1 << 16)); [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:302:34 [INFO] [stderr] | [INFO] [stderr] 302 | pio.write_control(PIO_A, 0b00101111); // output [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0010_1111` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:304:34 [INFO] [stderr] | [INFO] [stderr] 304 | pio.write_control(PIO_A, 0b01011111); // input [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0101_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:306:34 [INFO] [stderr] | [INFO] [stderr] 306 | pio.write_control(PIO_A, 0b10111111); // bidirectional [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1011_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:308:34 [INFO] [stderr] | [INFO] [stderr] 308 | pio.write_control(PIO_A, 0b11001111); // bitcontrol [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1100_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:311:34 [INFO] [stderr] | [INFO] [stderr] 311 | pio.write_control(PIO_A, 0b10101010); // write bitcontrol IO mask [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1010_1010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:312:17 [INFO] [stderr] | [INFO] [stderr] 312 | assert!(0b10101010 == pio.chn[PIO_A].io_select); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1010_1010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:321:34 [INFO] [stderr] | [INFO] [stderr] 321 | pio.write_control(PIO_A, 0b10100111); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1010_0111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:322:17 [INFO] [stderr] | [INFO] [stderr] 322 | assert!(0b10100000 == pio.chn[PIO_A].int_control); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1010_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:326:34 [INFO] [stderr] | [INFO] [stderr] 326 | pio.write_control(PIO_A, 0b00010111); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0001_0111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:327:17 [INFO] [stderr] | [INFO] [stderr] 327 | assert!(0b00010000 == pio.chn[PIO_A].int_control); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0001_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:330:34 [INFO] [stderr] | [INFO] [stderr] 330 | pio.write_control(PIO_A, 0b01010101); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0101_0101` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:331:17 [INFO] [stderr] | [INFO] [stderr] 331 | assert!(0b01010101 == pio.chn[PIO_A].int_mask); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0101_0101` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:335:34 [INFO] [stderr] | [INFO] [stderr] 335 | pio.write_control(PIO_A, 0b11100111); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1110_0111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:336:17 [INFO] [stderr] | [INFO] [stderr] 336 | assert!(0b11100000 == pio.chn[PIO_A].int_control); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1110_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:337:34 [INFO] [stderr] | [INFO] [stderr] 337 | pio.write_control(PIO_A, 0b00000011); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0011` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:338:17 [INFO] [stderr] | [INFO] [stderr] 338 | assert!(0b01100000 == pio.chn[PIO_A].int_control); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0110_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:339:34 [INFO] [stderr] | [INFO] [stderr] 339 | pio.write_control(PIO_A, 0b10110011); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1011_0011` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/pio.rs:340:17 [INFO] [stderr] | [INFO] [stderr] 340 | assert!(0b11100000 == pio.chn[PIO_A].int_control); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1110_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/ctc.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | / if (ctrl & (CTC_RESET | CTC_CONSTANT_FOLLOWS)) == 0 { [INFO] [stderr] 148 | | if (ctrl & CTC_MODE_BIT) == CTC_MODE_TIMER && !waiting { [INFO] [stderr] 149 | | self.chn[chn].down_counter -= cycles as RegT; [INFO] [stderr] 150 | | while self.chn[chn].down_counter <= 0 { [INFO] [stderr] ... | [INFO] [stderr] 154 | | } [INFO] [stderr] 155 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 147 | if (ctrl & (CTC_RESET | CTC_CONSTANT_FOLLOWS)) == 0 && (ctrl & CTC_MODE_BIT) == CTC_MODE_TIMER && !waiting { [INFO] [stderr] 148 | self.chn[chn].down_counter -= cycles as RegT; [INFO] [stderr] 149 | while self.chn[chn].down_counter <= 0 { [INFO] [stderr] 150 | self.down_counter_trigger(bus, chn); [INFO] [stderr] 151 | self.chn[chn].down_counter += CTC::down_counter_initial(&self.chn[chn]); [INFO] [stderr] 152 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/registers.rs:4:22 [INFO] [stderr] | [INFO] [stderr] 4 | pub const CF: RegT = 1 << 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `registers::Registers` [INFO] [stderr] --> src/registers.rs:122:5 [INFO] [stderr] | [INFO] [stderr] 122 | / pub fn new() -> Registers { [INFO] [stderr] 123 | | Registers { [INFO] [stderr] 124 | | reg: [0; NUM_REGS], [INFO] [stderr] 125 | | r_pc: 0, [INFO] [stderr] ... | [INFO] [stderr] 133 | | } [INFO] [stderr] 134 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 106 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | self.reg[A] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[A])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | self.reg[F] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[F])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | self.reg[B] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[B])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | self.reg[C] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[C])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | self.reg[D] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[D])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:173:9 [INFO] [stderr] | [INFO] [stderr] 173 | self.reg[E] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[E])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | self.reg[H] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[H])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | self.reg[L] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[L])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:188:9 [INFO] [stderr] | [INFO] [stderr] 188 | self.reg[WZH] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[WZH])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | (self.reg[A] as RegT) << 8 | self.reg[F] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[A])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:235:38 [INFO] [stderr] | [INFO] [stderr] 235 | (self.reg[A] as RegT) << 8 | self.reg[F] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[F])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | (self.reg[B] as RegT) << 8 | self.reg[C] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[B])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:240:38 [INFO] [stderr] | [INFO] [stderr] 240 | (self.reg[B] as RegT) << 8 | self.reg[C] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[C])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:245:9 [INFO] [stderr] | [INFO] [stderr] 245 | (self.reg[D] as RegT) << 8 | self.reg[E] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[D])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:245:38 [INFO] [stderr] | [INFO] [stderr] 245 | (self.reg[D] as RegT) << 8 | self.reg[E] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[E])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | (self.reg[H] as RegT) << 8 | self.reg[L] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[H])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:250:38 [INFO] [stderr] | [INFO] [stderr] 250 | (self.reg[H] as RegT) << 8 | self.reg[L] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[L])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | (self.reg[IXH] as RegT) << 8 | self.reg[IXL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[IXH])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:255:40 [INFO] [stderr] | [INFO] [stderr] 255 | (self.reg[IXH] as RegT) << 8 | self.reg[IXL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[IXL])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:260:9 [INFO] [stderr] | [INFO] [stderr] 260 | (self.reg[IYH] as RegT) << 8 | self.reg[IYL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[IYH])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:260:40 [INFO] [stderr] | [INFO] [stderr] 260 | (self.reg[IYH] as RegT) << 8 | self.reg[IYL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[IYL])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:265:9 [INFO] [stderr] | [INFO] [stderr] 265 | (self.reg[SPH] as RegT) << 8 | self.reg[SPL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[SPH])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:265:40 [INFO] [stderr] | [INFO] [stderr] 265 | (self.reg[SPH] as RegT) << 8 | self.reg[SPL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[SPL])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:270:9 [INFO] [stderr] | [INFO] [stderr] 270 | (self.reg[WZH] as RegT) << 8 | self.reg[WZL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[WZH])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:270:40 [INFO] [stderr] | [INFO] [stderr] 270 | (self.reg[WZH] as RegT) << 8 | self.reg[WZL] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[WZL])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:275:9 [INFO] [stderr] | [INFO] [stderr] 275 | (self.reg[A_] as RegT) << 8 | self.reg[F_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[A_])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:275:39 [INFO] [stderr] | [INFO] [stderr] 275 | (self.reg[A_] as RegT) << 8 | self.reg[F_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[F_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:280:9 [INFO] [stderr] | [INFO] [stderr] 280 | (self.reg[B_] as RegT) << 8 | self.reg[C_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[B_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:280:39 [INFO] [stderr] | [INFO] [stderr] 280 | (self.reg[B_] as RegT) << 8 | self.reg[C_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[C_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:285:9 [INFO] [stderr] | [INFO] [stderr] 285 | (self.reg[D_] as RegT) << 8 | self.reg[E_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[D_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:285:39 [INFO] [stderr] | [INFO] [stderr] 285 | (self.reg[D_] as RegT) << 8 | self.reg[E_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[E_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | (self.reg[H_] as RegT) << 8 | self.reg[L_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[H_])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:290:39 [INFO] [stderr] | [INFO] [stderr] 290 | (self.reg[H_] as RegT) << 8 | self.reg[L_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[L_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:295:9 [INFO] [stderr] | [INFO] [stderr] 295 | (self.reg[WZH_] as RegT) << 8 | self.reg[WZL_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[WZH_])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | (self.reg[WZH_] as RegT) << 8 | self.reg[WZL_] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[WZL_])` [INFO] [stderr] | [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 u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:300:9 [INFO] [stderr] | [INFO] [stderr] 300 | self.r_pc as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.r_pc)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:402:9 [INFO] [stderr] | [INFO] [stderr] 402 | self.reg[self.m_r[r]] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[self.m_r[r]])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:414:9 [INFO] [stderr] | [INFO] [stderr] 414 | self.reg[self.m_r2[r]] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[self.m_r2[r]])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:426:9 [INFO] [stderr] | [INFO] [stderr] 426 | (self.reg[i] as RegT) << 8 | self.reg[i + 1] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[i])` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/registers.rs:426:38 [INFO] [stderr] | [INFO] [stderr] 426 | (self.reg[i] as RegT) << 8 | self.reg[i + 1] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.reg[i + 1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/registers.rs:502:5 [INFO] [stderr] | [INFO] [stderr] 502 | / fn new() { [INFO] [stderr] 503 | | let reg = Registers::new(); [INFO] [stderr] 504 | | assert!(reg.a() == 0); [INFO] [stderr] 505 | | assert!(reg.f() == 0); [INFO] [stderr] ... | [INFO] [stderr] 528 | | assert!(reg.im == 0); [INFO] [stderr] 529 | | } [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: you should consider adding a `Default` implementation for `memory::Memory` [INFO] [stderr] --> src/memory.rs:129:5 [INFO] [stderr] | [INFO] [stderr] 129 | / pub fn new() -> Memory { [INFO] [stderr] 130 | | Memory { [INFO] [stderr] 131 | | pages: [Page::new(); NUM_PAGES], [INFO] [stderr] 132 | | layers: [[Page::new(); NUM_PAGES]; NUM_LAYERS], [INFO] [stderr] 133 | | heap: [0; HEAP_SIZE], [INFO] [stderr] 134 | | } [INFO] [stderr] 135 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 127 | impl Default for memory::Memory { [INFO] [stderr] 128 | fn default() -> Self { [INFO] [stderr] 129 | Self::new() [INFO] [stderr] 130 | } [INFO] [stderr] 131 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/memory.rs:237:13 [INFO] [stderr] | [INFO] [stderr] 237 | self.heap[heap_offset] as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.heap[heap_offset])` [INFO] [stderr] | [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 i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/memory.rs:250:13 [INFO] [stderr] | [INFO] [stderr] 250 | self.heap[heap_offset] as i8 as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.heap[heap_offset] as i8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the variable `offset` is used as a loop counter. Consider using `for (offset, item) in data.enumerate()` or similar iterators [INFO] [stderr] --> src/memory.rs:297:18 [INFO] [stderr] | [INFO] [stderr] 297 | for b in data { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/memory.rs:298:37 [INFO] [stderr] | [INFO] [stderr] 298 | self.w8f(addr + offset, *b as RegT); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(*b)` [INFO] [stderr] | [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/cpu.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | (if (res & 0xFF) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `res.trailing_zeros() >= 8` [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] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/cpu.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | (if (res & 0xFF) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `res.trailing_zeros() >= 8` [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] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/cpu.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | (if (res & 0xFF) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `res.trailing_zeros() >= 8` [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] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/cpu.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | (if (val & 0xFF) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `val.trailing_zeros() >= 8` [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] warning: you should consider adding a `Default` implementation for `cpu::CPU` [INFO] [stderr] --> src/cpu.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | / pub fn new() -> CPU { [INFO] [stderr] 110 | | CPU { [INFO] [stderr] 111 | | reg: Registers::new(), [INFO] [stderr] 112 | | halt: false, [INFO] [stderr] ... | [INFO] [stderr] 119 | | } [INFO] [stderr] 120 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 107 | impl Default for cpu::CPU { [INFO] [stderr] 108 | fn default() -> Self { [INFO] [stderr] 109 | Self::new() [INFO] [stderr] 110 | } [INFO] [stderr] 111 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/cpu.rs:1316:28 [INFO] [stderr] | [INFO] [stderr] 1316 | (if (res & 0xFFFF) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `res.trailing_zeros() >= 16` [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] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/cpu.rs:1330:28 [INFO] [stderr] | [INFO] [stderr] 1330 | (if (res & 0xFFFF) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `res.trailing_zeros() >= 16` [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] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/pio.rs:146:9 [INFO] [stderr] | [INFO] [stderr] 146 | ((self.chn[PIO_A].int_control & 0xC0) | (self.chn[PIO_B].int_control >> 4)) as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((self.chn[PIO_A].int_control & 0xC0) | (self.chn[PIO_B].int_control >> 4))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/pio.rs:188:29 [INFO] [stderr] | [INFO] [stderr] 188 | Mode::Output => self.chn[chn].output as RegT, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.chn[chn].output)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/pio.rs:195:17 [INFO] [stderr] | [INFO] [stderr] 195 | self.chn[chn].input as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.chn[chn].input)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/pio.rs:200:17 [INFO] [stderr] | [INFO] [stderr] 200 | self.chn[chn].input as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.chn[chn].input)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/pio.rs:205:17 [INFO] [stderr] | [INFO] [stderr] 205 | ((c.input & c.io_select) | (c.output & !c.io_select)) as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((c.input & c.io_select) | (c.output & !c.io_select))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/pio.rs:219:26 [INFO] [stderr] | [INFO] [stderr] 219 | let bmatch = ((ictrl == 0x00) && (val != mask)) || ((ictrl == 0x20) && (val != 0)) || [INFO] [stderr] | __________________________^ [INFO] [stderr] 220 | | ((ictrl == 0x40) && (val == 0)) || [INFO] [stderr] 221 | | ((ictrl == 0x60) && (val == mask)); [INFO] [stderr] | |___________________________________________________________^ help: try: `(ictrl == 0x00) && (val != mask) || (ictrl == 0x20) && (val != 0) || (ictrl == 0x40) && val == 0 || (ictrl == 0x60) && val == mask` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/pio.rs:224:43 [INFO] [stderr] | [INFO] [stderr] 224 | bus.pio_irq(self.id, chn, c.int_vector as RegT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(c.int_vector)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/ctc.rs:38:33 [INFO] [stderr] | [INFO] [stderr] 38 | pub const CTC_CONTROL_BIT: u8 = 1 << 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ctc.rs:169:32 [INFO] [stderr] | [INFO] [stderr] 169 | fn down_counter_initial(c: &Channel) -> RegT { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `Channel` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ctc.rs:173:13 [INFO] [stderr] | [INFO] [stderr] 173 | c.constant as RegT [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(c.constant)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/ctc.rs:184:39 [INFO] [stderr] | [INFO] [stderr] 184 | bus.ctc_irq(self.id, chn, self.chn[chn].int_vector as RegT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.chn[chn].int_vector)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/ctc.rs:278:20 [INFO] [stderr] | [INFO] [stderr] 278 | let ctrl = (CTC_CONTROL_WORD | CTC_INTERRUPT_ENABLED | CTC_MODE_COUNTER | CTC_PRESCALER_256) as RegT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(CTC_CONTROL_WORD | CTC_INTERRUPT_ENABLED | CTC_MODE_COUNTER | CTC_PRESCALER_256)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/ctc.rs:280:25 [INFO] [stderr] | [INFO] [stderr] 280 | assert!(ctrl == ctc.chn[CTC_0].control as RegT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(ctc.chn[CTC_0].control)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/ctc.rs:290:25 [INFO] [stderr] | [INFO] [stderr] 290 | let ctrl_test = (CTC_CONTROL_WORD | [INFO] [stderr] | _________________________^ [INFO] [stderr] 291 | | if with_irq {CTC_INTERRUPT_ENABLED} else {CTC_INTERRUPT_DISABLED} | [INFO] [stderr] 292 | | CTC_MODE_COUNTER | [INFO] [stderr] 293 | | CTC_PRESCALER_256) as RegT; // NOTE: in counter mode, prescale should be ignored! [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] 290 | let ctrl_test = i32::from(CTC_CONTROL_WORD | [INFO] [stderr] 291 | if with_irq {CTC_INTERRUPT_ENABLED} else {CTC_INTERRUPT_DISABLED} | [INFO] [stderr] 292 | CTC_MODE_COUNTER | [INFO] [stderr] 293 | CTC_PRESCALER_256); // NOTE: in counter mode, prescale should be ignored! [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ctc.rs:294:32 [INFO] [stderr] | [INFO] [stderr] 294 | let ctrl = ctrl_test | (CTC_CONSTANT_FOLLOWS as RegT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(CTC_CONSTANT_FOLLOWS)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/ctc.rs:298:30 [INFO] [stderr] | [INFO] [stderr] 298 | assert!(ctrl_test == ctc.chn[CTC_0].control as RegT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(ctc.chn[CTC_0].control)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/ctc.rs:337:25 [INFO] [stderr] | [INFO] [stderr] 337 | let ctrl_test = (CTC_CONTROL_WORD | [INFO] [stderr] | _________________________^ [INFO] [stderr] 338 | | if with_irq {CTC_INTERRUPT_ENABLED} else {CTC_INTERRUPT_DISABLED} | [INFO] [stderr] 339 | | CTC_MODE_TIMER | [INFO] [stderr] 340 | | CTC_PRESCALER_16) as RegT; [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] 337 | let ctrl_test = i32::from(CTC_CONTROL_WORD | [INFO] [stderr] 338 | if with_irq {CTC_INTERRUPT_ENABLED} else {CTC_INTERRUPT_DISABLED} | [INFO] [stderr] 339 | CTC_MODE_TIMER | [INFO] [stderr] 340 | CTC_PRESCALER_16); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ctc.rs:341:32 [INFO] [stderr] | [INFO] [stderr] 341 | let ctrl = ctrl_test | (CTC_CONSTANT_FOLLOWS as RegT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(CTC_CONSTANT_FOLLOWS)` [INFO] [stderr] | [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/ctc.rs:345:30 [INFO] [stderr] | [INFO] [stderr] 345 | assert!(ctrl_test == ctc.chn[CTC_0].control as RegT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(ctc.chn[CTC_0].control)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `daisychain::Controller` [INFO] [stderr] --> src/daisychain.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> Controller { [INFO] [stderr] 19 | | Controller { [INFO] [stderr] 20 | | int_enabled: true, [INFO] [stderr] 21 | | int_requested: false, [INFO] [stderr] ... | [INFO] [stderr] 24 | | } [INFO] [stderr] 25 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 10 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/daisychain.rs:85:24 [INFO] [stderr] | [INFO] [stderr] 85 | return ctrl.int_vec as RegT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(ctrl.int_vec)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> tests/test_opcodes.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | / fn test_ld_r_s() { [INFO] [stderr] 47 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 48 | | let bus = &TestBus::new(); [INFO] [stderr] 49 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 82 | | assert!(4 == cpu.step(bus)); assert!(0x13 == cpu.reg.a()); [INFO] [stderr] 83 | | } [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: the function has a cyclomatic complexity of 33 [INFO] [stderr] --> tests/test_opcodes.rs:224:5 [INFO] [stderr] | [INFO] [stderr] 224 | / fn test_ld_r_ixiy() { [INFO] [stderr] 225 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 226 | | let bus = &TestBus::new(); [INFO] [stderr] 227 | | let data = [ [INFO] [stderr] ... | [INFO] [stderr] 268 | | assert!(19==cpu.step(bus)); assert!(2 == cpu.reg.l()); [INFO] [stderr] 269 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 61 [INFO] [stderr] --> tests/test_opcodes.rs:272:5 [INFO] [stderr] | [INFO] [stderr] 272 | / fn test_ld_ixiy_r() { [INFO] [stderr] 273 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 274 | | let bus = &TestBus::new(); [INFO] [stderr] 275 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 338 | | assert!(19==cpu.step(bus)); assert!(0x18 == cpu.mem.r8(0x1000)); [INFO] [stderr] 339 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 51 [INFO] [stderr] --> tests/test_opcodes.rs:342:5 [INFO] [stderr] | [INFO] [stderr] 342 | / fn test_push_pop() { [INFO] [stderr] 343 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 344 | | let bus = &TestBus::new(); [INFO] [stderr] 345 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 386 | | assert!(14==cpu.step(bus)); assert!(0xEF00 == cpu.reg.iy()); assert!(0x0100 == cpu.reg.sp()); [INFO] [stderr] 387 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 42 [INFO] [stderr] --> tests/test_opcodes.rs:390:5 [INFO] [stderr] | [INFO] [stderr] 390 | / fn test_add_r() { [INFO] [stderr] 391 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 392 | | let bus = &TestBus::new(); [INFO] [stderr] 393 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 428 | | assert!(7==cpu.step(bus)); assert!(0x37 == cpu.reg.a()); assert!(flags(&cpu, CF)); [INFO] [stderr] 429 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 39 [INFO] [stderr] --> tests/test_opcodes.rs:459:5 [INFO] [stderr] | [INFO] [stderr] 459 | / fn test_adc_r() { [INFO] [stderr] 460 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 461 | | let bus = &TestBus::new(); [INFO] [stderr] 462 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 495 | | assert!(7==cpu.step(bus)); assert!(0x49 == cpu.reg.a()); assert!(flags(&cpu, 0)); [INFO] [stderr] 496 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 42 [INFO] [stderr] --> tests/test_opcodes.rs:527:5 [INFO] [stderr] | [INFO] [stderr] 527 | / fn test_sub_r() { [INFO] [stderr] 528 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 529 | | let bus = &TestBus::new(); [INFO] [stderr] 530 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 565 | | assert!(7==cpu.step(bus)); assert!(0x01 == cpu.reg.a()); assert!(flags(&cpu, NF)); [INFO] [stderr] 566 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 39 [INFO] [stderr] --> tests/test_opcodes.rs:569:5 [INFO] [stderr] | [INFO] [stderr] 569 | / fn test_cp_r() { [INFO] [stderr] 570 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 571 | | let bus = &TestBus::new(); [INFO] [stderr] 572 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 605 | | assert!(7==cpu.step(bus)); assert!(0x04 == cpu.reg.a()); assert!(flags(&cpu, ZF|NF)); [INFO] [stderr] 606 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 29 [INFO] [stderr] --> tests/test_opcodes.rs:661:5 [INFO] [stderr] | [INFO] [stderr] 661 | / fn test_sbc_r() { [INFO] [stderr] 662 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 663 | | let bus = &TestBus::new(); [INFO] [stderr] 664 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 695 | | assert!(7==cpu.step(bus)); assert!(0xFD == cpu.reg.a()); assert!(flags(&cpu, SF|HF|NF|CF)); [INFO] [stderr] 696 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 29 [INFO] [stderr] --> tests/test_opcodes.rs:725:5 [INFO] [stderr] | [INFO] [stderr] 725 | / fn test_or_r() { [INFO] [stderr] 726 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 727 | | let bus = &TestBus::new(); [INFO] [stderr] 728 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 759 | | assert!(7==cpu.step(bus)); assert!(0xFF == cpu.reg.a()); assert!(flags(&cpu, SF|PF)); [INFO] [stderr] 760 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 29 [INFO] [stderr] --> tests/test_opcodes.rs:763:5 [INFO] [stderr] | [INFO] [stderr] 763 | / fn test_xor_r() { [INFO] [stderr] 764 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 765 | | let bus = &TestBus::new(); [INFO] [stderr] 766 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 797 | | assert!(7==cpu.step(bus)); assert!(0xAA == cpu.reg.a()); assert!(flags(&cpu, SF|PF)); [INFO] [stderr] 798 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 47 [INFO] [stderr] --> tests/test_opcodes.rs:832:5 [INFO] [stderr] | [INFO] [stderr] 832 | / fn test_and_r() { [INFO] [stderr] 833 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 834 | | let bus = &TestBus::new(); [INFO] [stderr] 835 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 878 | | assert!(7==cpu.step(bus)); assert!(0xAA == cpu.reg.a()); assert!(flags(&cpu, SF|HF|PF)); [INFO] [stderr] 879 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 47 [INFO] [stderr] --> tests/test_opcodes.rs:908:5 [INFO] [stderr] | [INFO] [stderr] 908 | / fn test_inc_dec_r() { [INFO] [stderr] 909 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 910 | | let bus = &TestBus::new(); [INFO] [stderr] 911 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 954 | | assert!(4==cpu.step(bus)); assert!(0x23 == cpu.reg.l()); assert!(flags(&cpu, NF|CF)); [INFO] [stderr] 955 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> tests/test_opcodes.rs:989:5 [INFO] [stderr] | [INFO] [stderr] 989 | / fn test_inc_dec_ssixiy() { [INFO] [stderr] 990 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 991 | | let bus = &TestBus::new(); [INFO] [stderr] 992 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 1028 | | assert!(10==cpu.step(bus)); assert!(0x1234 == cpu.reg.iy()); [INFO] [stderr] 1029 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> tests/test_opcodes.rs:1089:5 [INFO] [stderr] | [INFO] [stderr] 1089 | / fn test_ihl_r() { [INFO] [stderr] 1090 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 1091 | | let bus = &TestBus::new(); [INFO] [stderr] 1092 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 1121 | | assert!(7 == cpu.step(bus)); assert!(0x00 == cpu.mem.r8(0x1000)); [INFO] [stderr] 1122 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 35 [INFO] [stderr] --> tests/test_opcodes.rs:1230:5 [INFO] [stderr] | [INFO] [stderr] 1230 | / fn test_daa() { [INFO] [stderr] 1231 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 1232 | | let bus = &TestBus::new(); [INFO] [stderr] 1233 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 1259 | | assert!(4==cpu.step(bus)); assert!(0x90 == cpu.reg.a()); assert!(flags(&cpu, SF|PF|NF|CF)); [INFO] [stderr] 1260 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 49 [INFO] [stderr] --> tests/test_opcodes.rs:1335:5 [INFO] [stderr] | [INFO] [stderr] 1335 | / fn test_call_cc_ret_cc() { [INFO] [stderr] 1336 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 1337 | | let bus = &TestBus::new(); [INFO] [stderr] 1338 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 1392 | | assert!(11==cpu.step(bus)); assert!(0x0228 == cpu.reg.pc()); [INFO] [stderr] 1393 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 59 [INFO] [stderr] --> tests/test_opcodes.rs:1409:5 [INFO] [stderr] | [INFO] [stderr] 1409 | / fn test_ex() { [INFO] [stderr] 1410 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 1411 | | let bus = &TestBus::new(); [INFO] [stderr] 1412 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 1461 | | assert!(23==cpu.step(bus)); assert!(0x8899 == cpu.reg.iy()); assert!(0x6677 == cpu.mem.r16(0x00FE)); [INFO] [stderr] 1462 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> tests/test_opcodes.rs:1465:5 [INFO] [stderr] | [INFO] [stderr] 1465 | / fn test_jp_cc_nn() { [INFO] [stderr] 1466 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 1467 | | let bus = &TestBus::new(); [INFO] [stderr] 1468 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 1505 | | assert!(10==cpu.step(bus)); assert!(0x022D == cpu.reg.pc()); [INFO] [stderr] 1506 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 55 [INFO] [stderr] --> tests/test_opcodes.rs:1864:5 [INFO] [stderr] | [INFO] [stderr] 1864 | / fn test_add_adc_sbc_16() { [INFO] [stderr] 1865 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 1866 | | let bus = &TestBus::new(); [INFO] [stderr] 1867 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 1910 | | assert!(15==cpu.step(bus)); assert!(0x100C == cpu.reg.iy()); assert!(flags(&cpu, 0)); [INFO] [stderr] 1911 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 29 [INFO] [stderr] --> tests/test_opcodes.rs:1942:5 [INFO] [stderr] | [INFO] [stderr] 1942 | / fn ld_inn_hlddixiy() { [INFO] [stderr] 1943 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 1944 | | let bus = &TestBus::new(); [INFO] [stderr] 1945 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 1976 | | assert!(20==cpu.step(bus)); assert!(0x8765 == cpu.mem.r16(0x100C)); [INFO] [stderr] 1977 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 86 [INFO] [stderr] --> tests/test_opcodes.rs:2042:5 [INFO] [stderr] | [INFO] [stderr] 2042 | / fn test_rlc_rl_rrc_rr_r() { [INFO] [stderr] 2043 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 2044 | | let bus = &TestBus::new(); [INFO] [stderr] 2045 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 2117 | | assert!(8==cpu.step(bus)); assert!(0x70 == cpu.reg.l()); assert!(flags(&cpu, 0)); [INFO] [stderr] 2118 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 62 [INFO] [stderr] --> tests/test_opcodes.rs:2121:5 [INFO] [stderr] | [INFO] [stderr] 2121 | / fn test_rrc_rlc_rr_rl_ihlixiy() { [INFO] [stderr] 2122 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 2123 | | let bus = &TestBus::new(); [INFO] [stderr] 2124 | | let data = [ 0x01, 0xFF, 0x11 ]; [INFO] [stderr] ... | [INFO] [stderr] 2184 | | assert!(19==cpu.step(bus)); assert!(0x11 == cpu.reg.a()); [INFO] [stderr] 2185 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 43 [INFO] [stderr] --> tests/test_opcodes.rs:2386:5 [INFO] [stderr] | [INFO] [stderr] 2386 | / fn test_rld_rrd() { [INFO] [stderr] 2387 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 2388 | | let bus = &TestBus::new(); [INFO] [stderr] 2389 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 2426 | | assert!(7 ==cpu.step(bus)); assert!(0x00 == cpu.reg.a()); [INFO] [stderr] 2427 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 41 [INFO] [stderr] --> tests/test_opcodes.rs:2430:5 [INFO] [stderr] | [INFO] [stderr] 2430 | / fn test_in() { [INFO] [stderr] 2431 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 2432 | | let bus = &TestBus::new(); [INFO] [stderr] 2433 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 2467 | | assert!(12==cpu.step(bus)); assert!(0x00 == cpu.reg.c()); assert!(flags(&cpu, ZF|PF|CF)); [INFO] [stderr] 2468 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 36 [INFO] [stderr] --> tests/test_opcodes.rs:2471:5 [INFO] [stderr] | [INFO] [stderr] 2471 | / fn test_out() { [INFO] [stderr] 2472 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 2473 | | let bus = &TestBus::new(); [INFO] [stderr] 2474 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 2503 | | assert!(12==cpu.step(bus)); assert!(0x1234 == bus.port.get()); assert!(0xCD == bus.val.get()); [INFO] [stderr] 2504 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 37 [INFO] [stderr] --> tests/test_opcodes.rs:2507:5 [INFO] [stderr] | [INFO] [stderr] 2507 | / fn test_inir_indr() { [INFO] [stderr] 2508 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 2509 | | let bus = &TestBus::new(); [INFO] [stderr] 2510 | | let prog = [ [INFO] [stderr] ... | [INFO] [stderr] 2553 | | assert!((cpu.reg.f() & ZF) != 0); [INFO] [stderr] 2554 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 43 [INFO] [stderr] --> tests/test_opcodes.rs:2557:5 [INFO] [stderr] | [INFO] [stderr] 2557 | / fn test_otir_otdr() { [INFO] [stderr] 2558 | | let mut cpu = rz80::CPU::new_64k(); [INFO] [stderr] 2559 | | let bus = &TestBus::new(); [INFO] [stderr] 2560 | | let data = [ 0x01, 0x02, 0x03, 0x04 ]; [INFO] [stderr] ... | [INFO] [stderr] 2603 | | assert!((cpu.reg.f() & ZF) != 0); [INFO] [stderr] 2604 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] Finished dev [unoptimized + debuginfo] target(s) in 13.08s [INFO] running `"docker" "inspect" "1ab64140b2c661d9ea0386d7cefc8eed16c4994d7a3a2b47ca855d2cd682102a"` [INFO] running `"docker" "rm" "-f" "1ab64140b2c661d9ea0386d7cefc8eed16c4994d7a3a2b47ca855d2cd682102a"` [INFO] [stdout] 1ab64140b2c661d9ea0386d7cefc8eed16c4994d7a3a2b47ca855d2cd682102a