[INFO] updating cached repository VictorVP/viceRazer [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/VictorVP/viceRazer [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/VictorVP/viceRazer" "work/ex/clippy-test-run/sources/stable/gh/VictorVP/viceRazer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/VictorVP/viceRazer'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/VictorVP/viceRazer" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/VictorVP/viceRazer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/VictorVP/viceRazer'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 2a872d7ab900979ba4d821812f9022c16a977b4c [INFO] sha for GitHub repo VictorVP/viceRazer: 2a872d7ab900979ba4d821812f9022c16a977b4c [INFO] validating manifest of VictorVP/viceRazer 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 VictorVP/viceRazer 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 VictorVP/viceRazer [INFO] finished frobbing VictorVP/viceRazer [INFO] frobbed toml for VictorVP/viceRazer written to work/ex/clippy-test-run/sources/stable/gh/VictorVP/viceRazer/Cargo.toml [INFO] started frobbing VictorVP/viceRazer [INFO] finished frobbing VictorVP/viceRazer [INFO] frobbed toml for VictorVP/viceRazer written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/VictorVP/viceRazer/Cargo.toml [INFO] crate VictorVP/viceRazer has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting VictorVP/viceRazer against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/VictorVP/viceRazer:/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] ec8328290faed0bde5a9d431fb77ad24ef806f71e553f2783b69543cacfdc6dc [INFO] running `"docker" "start" "-a" "ec8328290faed0bde5a9d431fb77ad24ef806f71e553f2783b69543cacfdc6dc"` [INFO] [stderr] Checking z80 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/z80.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | out [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/z80.rs:67:19 [INFO] [stderr] | [INFO] [stderr] 67 | let out = Z80 { [INFO] [stderr] | ___________________^ [INFO] [stderr] 68 | | halt: false, [INFO] [stderr] 69 | | pc: 0, [INFO] [stderr] 70 | | sp: 0xFFFF, [INFO] [stderr] ... | [INFO] [stderr] 106 | | .unwrap(), [INFO] [stderr] 107 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/z80.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | result [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/z80.rs:113:22 [INFO] [stderr] | [INFO] [stderr] 113 | let result = match eval { [INFO] [stderr] | ______________________^ [INFO] [stderr] 114 | | true => 1, [INFO] [stderr] 115 | | false => 0, [INFO] [stderr] 116 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/z80.rs:204:9 [INFO] [stderr] | [INFO] [stderr] 204 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/z80.rs:199:19 [INFO] [stderr] | [INFO] [stderr] 199 | let res = match self.opcode_prefix { [INFO] [stderr] | ___________________^ [INFO] [stderr] 200 | | OpCodePrefix::DD | OpCodePrefix::DdCb => self.ix_h, [INFO] [stderr] 201 | | OpCodePrefix::FD | OpCodePrefix::FdCb => self.iy_h, [INFO] [stderr] 202 | | _ => self.h, [INFO] [stderr] 203 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/z80.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/z80.rs:207:19 [INFO] [stderr] | [INFO] [stderr] 207 | let res = match self.opcode_prefix { [INFO] [stderr] | ___________________^ [INFO] [stderr] 208 | | OpCodePrefix::DD | OpCodePrefix::DdCb => self.ix_l, [INFO] [stderr] 209 | | OpCodePrefix::FD | OpCodePrefix::FdCb => self.iy_l, [INFO] [stderr] 210 | | _ => self.l, [INFO] [stderr] 211 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/z80.rs:3108:22 [INFO] [stderr] | [INFO] [stderr] 3108 | let result = r >> 1 + new_bit_8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `r >> (1 + new_bit_8)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/z80.rs:3161:22 [INFO] [stderr] | [INFO] [stderr] 3161 | let result = r >> 1 + 1; [INFO] [stderr] | ^^^^^^^^^^ help: consider parenthesizing your expression: `r >> (1 + 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/memory.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | pub const ROM_48K: &'static [u8; 16 * 1024] = include_bytes!("48.rom"); [INFO] [stderr] | -^^^^^^^---------------- help: consider removing `'static`: `&[u8; 16 * 1024]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/z80.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | out [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/z80.rs:67:19 [INFO] [stderr] | [INFO] [stderr] 67 | let out = Z80 { [INFO] [stderr] | ___________________^ [INFO] [stderr] 68 | | halt: false, [INFO] [stderr] 69 | | pc: 0, [INFO] [stderr] 70 | | sp: 0xFFFF, [INFO] [stderr] ... | [INFO] [stderr] 106 | | .unwrap(), [INFO] [stderr] 107 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/z80.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | result [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/z80.rs:113:22 [INFO] [stderr] | [INFO] [stderr] 113 | let result = match eval { [INFO] [stderr] | ______________________^ [INFO] [stderr] 114 | | true => 1, [INFO] [stderr] 115 | | false => 0, [INFO] [stderr] 116 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/z80.rs:204:9 [INFO] [stderr] | [INFO] [stderr] 204 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/z80.rs:199:19 [INFO] [stderr] | [INFO] [stderr] 199 | let res = match self.opcode_prefix { [INFO] [stderr] | ___________________^ [INFO] [stderr] 200 | | OpCodePrefix::DD | OpCodePrefix::DdCb => self.ix_h, [INFO] [stderr] 201 | | OpCodePrefix::FD | OpCodePrefix::FdCb => self.iy_h, [INFO] [stderr] 202 | | _ => self.h, [INFO] [stderr] 203 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/z80.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/z80.rs:207:19 [INFO] [stderr] | [INFO] [stderr] 207 | let res = match self.opcode_prefix { [INFO] [stderr] | ___________________^ [INFO] [stderr] 208 | | OpCodePrefix::DD | OpCodePrefix::DdCb => self.ix_l, [INFO] [stderr] 209 | | OpCodePrefix::FD | OpCodePrefix::FdCb => self.iy_l, [INFO] [stderr] 210 | | _ => self.l, [INFO] [stderr] 211 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/z80.rs:3108:22 [INFO] [stderr] | [INFO] [stderr] 3108 | let result = r >> 1 + new_bit_8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `r >> (1 + new_bit_8)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/z80.rs:3161:22 [INFO] [stderr] | [INFO] [stderr] 3161 | let result = r >> 1 + 1; [INFO] [stderr] | ^^^^^^^^^^ help: consider parenthesizing your expression: `r >> (1 + 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/memory.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | pub const ROM_48K: &'static [u8; 16 * 1024] = include_bytes!("48.rom"); [INFO] [stderr] | -^^^^^^^---------------- help: consider removing `'static`: `&[u8; 16 * 1024]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/z80.rs:139:20 [INFO] [stderr] | [INFO] [stderr] 139 | if let Err(e) = writeln!( [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/z80.rs:162:20 [INFO] [stderr] | [INFO] [stderr] 162 | if let Err(e) = writeln!(self.list_file, "{} {}", format!("{0:01$x}", self.pc, 4), msg) { [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/z80.rs:113:22 [INFO] [stderr] | [INFO] [stderr] 113 | let result = match eval { [INFO] [stderr] | ______________________^ [INFO] [stderr] 114 | | true => 1, [INFO] [stderr] 115 | | false => 0, [INFO] [stderr] 116 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if eval { 1 } else { 0 }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:174:10 [INFO] [stderr] | [INFO] [stderr] 174 | ((hi as u16) << 8) + (lo as u16) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(hi)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:174:30 [INFO] [stderr] | [INFO] [stderr] 174 | ((hi as u16) << 8) + (lo as u16) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(lo)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/z80.rs:189:13 [INFO] [stderr] | [INFO] [stderr] 189 | partial = partial >> 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `partial >>= 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:195:17 [INFO] [stderr] | [INFO] [stderr] 195 | let s = reg as u16; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(reg)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:235:25 [INFO] [stderr] | [INFO] [stderr] 235 | addr += self.read_bus(mem) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_bus(mem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/z80.rs:139:20 [INFO] [stderr] | [INFO] [stderr] 139 | if let Err(e) = writeln!( [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/z80.rs:162:20 [INFO] [stderr] | [INFO] [stderr] 162 | if let Err(e) = writeln!(self.list_file, "{} {}", format!("{0:01$x}", self.pc, 4), msg) { [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:897:17 [INFO] [stderr] | [INFO] [stderr] 897 | addr += byte as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(byte)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/z80.rs:1073:9 [INFO] [stderr] | [INFO] [stderr] 1073 | self.a = self.a ^ value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a ^= value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/z80.rs:1133:9 [INFO] [stderr] | [INFO] [stderr] 1133 | self.a = self.a | value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a |= value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `self.d` and `self.h` manually [INFO] [stderr] --> src/z80.rs:1297:9 [INFO] [stderr] | [INFO] [stderr] 1297 | / let old_d = self.d; [INFO] [stderr] 1298 | | self.d = self.h; [INFO] [stderr] 1299 | | self.h = old_d; [INFO] [stderr] | |______________________^ help: try: `std::mem::swap(&mut self.d, &mut self.h)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_swap)] on by default [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `self.e` and `self.l` manually [INFO] [stderr] --> src/z80.rs:1301:9 [INFO] [stderr] | [INFO] [stderr] 1301 | / let old_e = self.e; [INFO] [stderr] 1302 | | self.e = self.l; [INFO] [stderr] 1303 | | self.l = old_e; [INFO] [stderr] | |______________________^ help: try: `std::mem::swap(&mut self.e, &mut self.l)` [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1307:23 [INFO] [stderr] | [INFO] [stderr] 1307 | let hl: u32 = self.get_hl() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.get_hl())` [INFO] [stderr] | [INFO] [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1317:18 [INFO] [stderr] | [INFO] [stderr] 1317 | let bc = Z80::get_word(self.b, self.c) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(Z80::get_word(self.b, self.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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1322:18 [INFO] [stderr] | [INFO] [stderr] 1322 | let de = Z80::get_word(self.d, self.e) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(Z80::get_word(self.d, self.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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1327:23 [INFO] [stderr] | [INFO] [stderr] 1327 | let hl: u32 = self.get_hl() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.get_hl())` [INFO] [stderr] | [INFO] [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1332:18 [INFO] [stderr] | [INFO] [stderr] 1332 | let sp = self.sp as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u32::from(self.sp)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1337:19 [INFO] [stderr] | [INFO] [stderr] 1337 | let sum = (self.a as i16) + (other as i16); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i16::from(self.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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1337:37 [INFO] [stderr] | [INFO] [stderr] 1337 | let sum = (self.a as i16) + (other as i16); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i16::from(other)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1388:17 [INFO] [stderr] | [INFO] [stderr] 1388 | let c = (self.f & C) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.f & 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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1389:19 [INFO] [stderr] | [INFO] [stderr] 1389 | let sum = self.a as i16 + other as i16 + c; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i16::from(self.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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1389:35 [INFO] [stderr] | [INFO] [stderr] 1389 | let sum = self.a as i16 + other as i16 + c; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i16::from(other)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1446:20 [INFO] [stderr] | [INFO] [stderr] 1446 | let diff = self.a as i16 - other as i16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i16::from(self.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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1446:36 [INFO] [stderr] | [INFO] [stderr] 1446 | let diff = self.a as i16 - other as i16; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i16::from(other)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1507:20 [INFO] [stderr] | [INFO] [stderr] 1507 | let diff = self.a as i16 - other as i16 - c as i16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i16::from(self.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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1507:36 [INFO] [stderr] | [INFO] [stderr] 1507 | let diff = self.a as i16 - other as i16 - c as i16; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i16::from(other)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1507:51 [INFO] [stderr] | [INFO] [stderr] 1507 | let diff = self.a as i16 - other as i16 - c as i16; [INFO] [stderr] | ^^^^^^^^ help: try: `i16::from(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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1621:24 [INFO] [stderr] | [INFO] [stderr] 1621 | let inc: u16 = self.b as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1699:24 [INFO] [stderr] | [INFO] [stderr] 1699 | let inc: u16 = self.c as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1706:24 [INFO] [stderr] | [INFO] [stderr] 1706 | let inc: u16 = self.d as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1713:24 [INFO] [stderr] | [INFO] [stderr] 1713 | let inc: u16 = self.e as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1720:24 [INFO] [stderr] | [INFO] [stderr] 1720 | let inc: u16 = self.get_h() as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.get_h())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1728:24 [INFO] [stderr] | [INFO] [stderr] 1728 | let inc: u16 = init as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(init)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1734:24 [INFO] [stderr] | [INFO] [stderr] 1734 | let inc: u16 = self.a as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1741:24 [INFO] [stderr] | [INFO] [stderr] 1741 | let inc: u16 = self.b as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1748:24 [INFO] [stderr] | [INFO] [stderr] 1748 | let inc: u16 = self.c as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1755:24 [INFO] [stderr] | [INFO] [stderr] 1755 | let inc: u16 = self.d as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1762:24 [INFO] [stderr] | [INFO] [stderr] 1762 | let inc: u16 = self.e as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1769:24 [INFO] [stderr] | [INFO] [stderr] 1769 | let inc: u16 = self.get_h() as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.get_h())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1777:24 [INFO] [stderr] | [INFO] [stderr] 1777 | let inc: u16 = init as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(init)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1783:24 [INFO] [stderr] | [INFO] [stderr] 1783 | let inc: u16 = self.a as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 i8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1815:35 [INFO] [stderr] | [INFO] [stderr] 1815 | let x2 = self.pc as i16 + x1 as i16; [INFO] [stderr] | ^^^^^^^^^ help: try: `i16::from(x1)` [INFO] [stderr] | [INFO] [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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1824:35 [INFO] [stderr] | [INFO] [stderr] 1824 | let x2 = self.pc as i16 + x1 as i16; [INFO] [stderr] | ^^^^^^^^^ help: try: `i16::from(x1)` [INFO] [stderr] | [INFO] [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1840:27 [INFO] [stderr] | [INFO] [stderr] 1840 | let mut hl: u32 = Z80::get_word(self.get_h(), self.get_l()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(Z80::get_word(self.get_h(), self.get_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 i8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1859:19 [INFO] [stderr] | [INFO] [stderr] 1859 | let res = (value as i16) - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i16::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1883:20 [INFO] [stderr] | [INFO] [stderr] 1883 | let dir = ((x2 as u16) << 8) + (x1 as u16); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(x2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1883:40 [INFO] [stderr] | [INFO] [stderr] 1883 | let dir = ((x2 as u16) << 8) + (x1 as u16); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(x1)` [INFO] [stderr] | [INFO] [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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2160:48 [INFO] [stderr] | [INFO] [stderr] 2160 | let x2 = (self.pc as i16).wrapping_add(x1 as i16); [INFO] [stderr] | ^^^^^^^^^ help: try: `i16::from(x1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2168:18 [INFO] [stderr] | [INFO] [stderr] 2168 | let x1 = self.read_bus(mem) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.read_bus(mem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2189:20 [INFO] [stderr] | [INFO] [stderr] 2189 | let diff = (self.a as i16) - (other as i16); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i16::from(self.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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2189:38 [INFO] [stderr] | [INFO] [stderr] 2189 | let diff = (self.a as i16) - (other as i16); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i16::from(other)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2265:24 [INFO] [stderr] | [INFO] [stderr] 2265 | self.pc += e as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2273:24 [INFO] [stderr] | [INFO] [stderr] 2273 | self.pc += e as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(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: this looks like you are swapping `self.b` and `self.b_alt` manually [INFO] [stderr] --> src/z80.rs:2289:9 [INFO] [stderr] | [INFO] [stderr] 2289 | / let mut swap = self.b; [INFO] [stderr] 2290 | | self.b = self.b_alt; [INFO] [stderr] 2291 | | self.b_alt = swap; [INFO] [stderr] | |_________________________^ help: try: `std::mem::swap(&mut self.b, &mut self.b_alt)` [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2441:17 [INFO] [stderr] | [INFO] [stderr] 2441 | let c = (self.f & 0x01) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.f & 0x01)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2443:20 [INFO] [stderr] | [INFO] [stderr] 2443 | let diff = (hl as i32) - (r as i32) - (c as i32); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(hl)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2443:34 [INFO] [stderr] | [INFO] [stderr] 2443 | let diff = (hl as i32) - (r as i32) - (c as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2443:47 [INFO] [stderr] | [INFO] [stderr] 2443 | let diff = (hl as i32) - (r as i32) - (c as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2480:17 [INFO] [stderr] | [INFO] [stderr] 2480 | let c = self.get_flag(C) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.get_flag(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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2747:24 [INFO] [stderr] | [INFO] [stderr] 2747 | let sum: i16 = (self.a as i16) + (n as i16); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i16::from(self.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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2747:42 [INFO] [stderr] | [INFO] [stderr] 2747 | let sum: i16 = (self.a as i16) + (n as i16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i16::from(n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/z80.rs:113:22 [INFO] [stderr] | [INFO] [stderr] 113 | let result = match eval { [INFO] [stderr] | ______________________^ [INFO] [stderr] 114 | | true => 1, [INFO] [stderr] 115 | | false => 0, [INFO] [stderr] 116 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if eval { 1 } else { 0 }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:174:10 [INFO] [stderr] | [INFO] [stderr] 174 | ((hi as u16) << 8) + (lo as u16) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(hi)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:174:30 [INFO] [stderr] | [INFO] [stderr] 174 | ((hi as u16) << 8) + (lo as u16) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(lo)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/z80.rs:189:13 [INFO] [stderr] | [INFO] [stderr] 189 | partial = partial >> 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `partial >>= 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:195:17 [INFO] [stderr] | [INFO] [stderr] 195 | let s = reg as u16; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(reg)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:235:25 [INFO] [stderr] | [INFO] [stderr] 235 | addr += self.read_bus(mem) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_bus(mem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:897:17 [INFO] [stderr] | [INFO] [stderr] 897 | addr += byte as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(byte)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/z80.rs:1073:9 [INFO] [stderr] | [INFO] [stderr] 1073 | self.a = self.a ^ value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a ^= value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/z80.rs:1133:9 [INFO] [stderr] | [INFO] [stderr] 1133 | self.a = self.a | value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a |= value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `self.d` and `self.h` manually [INFO] [stderr] --> src/z80.rs:1297:9 [INFO] [stderr] | [INFO] [stderr] 1297 | / let old_d = self.d; [INFO] [stderr] 1298 | | self.d = self.h; [INFO] [stderr] 1299 | | self.h = old_d; [INFO] [stderr] | |______________________^ help: try: `std::mem::swap(&mut self.d, &mut self.h)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_swap)] on by default [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `self.e` and `self.l` manually [INFO] [stderr] --> src/z80.rs:1301:9 [INFO] [stderr] | [INFO] [stderr] 1301 | / let old_e = self.e; [INFO] [stderr] 1302 | | self.e = self.l; [INFO] [stderr] 1303 | | self.l = old_e; [INFO] [stderr] | |______________________^ help: try: `std::mem::swap(&mut self.e, &mut self.l)` [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1307:23 [INFO] [stderr] | [INFO] [stderr] 1307 | let hl: u32 = self.get_hl() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.get_hl())` [INFO] [stderr] | [INFO] [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1317:18 [INFO] [stderr] | [INFO] [stderr] 1317 | let bc = Z80::get_word(self.b, self.c) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(Z80::get_word(self.b, self.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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1322:18 [INFO] [stderr] | [INFO] [stderr] 1322 | let de = Z80::get_word(self.d, self.e) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(Z80::get_word(self.d, self.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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1327:23 [INFO] [stderr] | [INFO] [stderr] 1327 | let hl: u32 = self.get_hl() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.get_hl())` [INFO] [stderr] | [INFO] [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1332:18 [INFO] [stderr] | [INFO] [stderr] 1332 | let sp = self.sp as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u32::from(self.sp)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1337:19 [INFO] [stderr] | [INFO] [stderr] 1337 | let sum = (self.a as i16) + (other as i16); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i16::from(self.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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1337:37 [INFO] [stderr] | [INFO] [stderr] 1337 | let sum = (self.a as i16) + (other as i16); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i16::from(other)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1388:17 [INFO] [stderr] | [INFO] [stderr] 1388 | let c = (self.f & C) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.f & 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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1389:19 [INFO] [stderr] | [INFO] [stderr] 1389 | let sum = self.a as i16 + other as i16 + c; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i16::from(self.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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1389:35 [INFO] [stderr] | [INFO] [stderr] 1389 | let sum = self.a as i16 + other as i16 + c; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i16::from(other)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1446:20 [INFO] [stderr] | [INFO] [stderr] 1446 | let diff = self.a as i16 - other as i16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i16::from(self.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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1446:36 [INFO] [stderr] | [INFO] [stderr] 1446 | let diff = self.a as i16 - other as i16; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i16::from(other)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1507:20 [INFO] [stderr] | [INFO] [stderr] 1507 | let diff = self.a as i16 - other as i16 - c as i16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i16::from(self.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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1507:36 [INFO] [stderr] | [INFO] [stderr] 1507 | let diff = self.a as i16 - other as i16 - c as i16; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i16::from(other)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1507:51 [INFO] [stderr] | [INFO] [stderr] 1507 | let diff = self.a as i16 - other as i16 - c as i16; [INFO] [stderr] | ^^^^^^^^ help: try: `i16::from(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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1621:24 [INFO] [stderr] | [INFO] [stderr] 1621 | let inc: u16 = self.b as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1699:24 [INFO] [stderr] | [INFO] [stderr] 1699 | let inc: u16 = self.c as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1706:24 [INFO] [stderr] | [INFO] [stderr] 1706 | let inc: u16 = self.d as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1713:24 [INFO] [stderr] | [INFO] [stderr] 1713 | let inc: u16 = self.e as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1720:24 [INFO] [stderr] | [INFO] [stderr] 1720 | let inc: u16 = self.get_h() as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.get_h())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1728:24 [INFO] [stderr] | [INFO] [stderr] 1728 | let inc: u16 = init as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(init)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1734:24 [INFO] [stderr] | [INFO] [stderr] 1734 | let inc: u16 = self.a as u16 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1741:24 [INFO] [stderr] | [INFO] [stderr] 1741 | let inc: u16 = self.b as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1748:24 [INFO] [stderr] | [INFO] [stderr] 1748 | let inc: u16 = self.c as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1755:24 [INFO] [stderr] | [INFO] [stderr] 1755 | let inc: u16 = self.d as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1762:24 [INFO] [stderr] | [INFO] [stderr] 1762 | let inc: u16 = self.e as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1769:24 [INFO] [stderr] | [INFO] [stderr] 1769 | let inc: u16 = self.get_h() as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.get_h())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1777:24 [INFO] [stderr] | [INFO] [stderr] 1777 | let inc: u16 = init as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(init)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1783:24 [INFO] [stderr] | [INFO] [stderr] 1783 | let inc: u16 = self.a as u16 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.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 i8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1815:35 [INFO] [stderr] | [INFO] [stderr] 1815 | let x2 = self.pc as i16 + x1 as i16; [INFO] [stderr] | ^^^^^^^^^ help: try: `i16::from(x1)` [INFO] [stderr] | [INFO] [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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1824:35 [INFO] [stderr] | [INFO] [stderr] 1824 | let x2 = self.pc as i16 + x1 as i16; [INFO] [stderr] | ^^^^^^^^^ help: try: `i16::from(x1)` [INFO] [stderr] | [INFO] [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1840:27 [INFO] [stderr] | [INFO] [stderr] 1840 | let mut hl: u32 = Z80::get_word(self.get_h(), self.get_l()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(Z80::get_word(self.get_h(), self.get_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 i8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1859:19 [INFO] [stderr] | [INFO] [stderr] 1859 | let res = (value as i16) - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i16::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1883:20 [INFO] [stderr] | [INFO] [stderr] 1883 | let dir = ((x2 as u16) << 8) + (x1 as u16); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(x2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:1883:40 [INFO] [stderr] | [INFO] [stderr] 1883 | let dir = ((x2 as u16) << 8) + (x1 as u16); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(x1)` [INFO] [stderr] | [INFO] [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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2160:48 [INFO] [stderr] | [INFO] [stderr] 2160 | let x2 = (self.pc as i16).wrapping_add(x1 as i16); [INFO] [stderr] | ^^^^^^^^^ help: try: `i16::from(x1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2168:18 [INFO] [stderr] | [INFO] [stderr] 2168 | let x1 = self.read_bus(mem) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.read_bus(mem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2189:20 [INFO] [stderr] | [INFO] [stderr] 2189 | let diff = (self.a as i16) - (other as i16); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i16::from(self.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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2189:38 [INFO] [stderr] | [INFO] [stderr] 2189 | let diff = (self.a as i16) - (other as i16); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i16::from(other)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2265:24 [INFO] [stderr] | [INFO] [stderr] 2265 | self.pc += e as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(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 u16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2273:24 [INFO] [stderr] | [INFO] [stderr] 2273 | self.pc += e as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(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: this looks like you are swapping `self.b` and `self.b_alt` manually [INFO] [stderr] --> src/z80.rs:2289:9 [INFO] [stderr] | [INFO] [stderr] 2289 | / let mut swap = self.b; [INFO] [stderr] 2290 | | self.b = self.b_alt; [INFO] [stderr] 2291 | | self.b_alt = swap; [INFO] [stderr] | |_________________________^ help: try: `std::mem::swap(&mut self.b, &mut self.b_alt)` [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2441:17 [INFO] [stderr] | [INFO] [stderr] 2441 | let c = (self.f & 0x01) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.f & 0x01)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2443:20 [INFO] [stderr] | [INFO] [stderr] 2443 | let diff = (hl as i32) - (r as i32) - (c as i32); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(hl)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2443:34 [INFO] [stderr] | [INFO] [stderr] 2443 | let diff = (hl as i32) - (r as i32) - (c as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2443:47 [INFO] [stderr] | [INFO] [stderr] 2443 | let diff = (hl as i32) - (r as i32) - (c as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2480:17 [INFO] [stderr] | [INFO] [stderr] 2480 | let c = self.get_flag(C) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.get_flag(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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2747:24 [INFO] [stderr] | [INFO] [stderr] 2747 | let sum: i16 = (self.a as i16) + (n as i16); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i16::from(self.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 i16 may become silently lossy if types change [INFO] [stderr] --> src/z80.rs:2747:42 [INFO] [stderr] | [INFO] [stderr] 2747 | let sum: i16 = (self.a as i16) + (n as i16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i16::from(n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.62s [INFO] running `"docker" "inspect" "ec8328290faed0bde5a9d431fb77ad24ef806f71e553f2783b69543cacfdc6dc"` [INFO] running `"docker" "rm" "-f" "ec8328290faed0bde5a9d431fb77ad24ef806f71e553f2783b69543cacfdc6dc"` [INFO] [stdout] ec8328290faed0bde5a9d431fb77ad24ef806f71e553f2783b69543cacfdc6dc