[INFO] updating cached repository marcovr/emu8080 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/marcovr/emu8080 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/marcovr/emu8080" "work/ex/clippy-test-run/sources/stable/gh/marcovr/emu8080"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/marcovr/emu8080'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/marcovr/emu8080" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/marcovr/emu8080"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/marcovr/emu8080'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] e772cff37fdbe9763aa780250aadae4b4ea78333 [INFO] sha for GitHub repo marcovr/emu8080: e772cff37fdbe9763aa780250aadae4b4ea78333 [INFO] validating manifest of marcovr/emu8080 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 marcovr/emu8080 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 marcovr/emu8080 [INFO] finished frobbing marcovr/emu8080 [INFO] frobbed toml for marcovr/emu8080 written to work/ex/clippy-test-run/sources/stable/gh/marcovr/emu8080/Cargo.toml [INFO] started frobbing marcovr/emu8080 [INFO] finished frobbing marcovr/emu8080 [INFO] frobbed toml for marcovr/emu8080 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/marcovr/emu8080/Cargo.toml [INFO] crate marcovr/emu8080 has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on the registry index [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting marcovr/emu8080 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/marcovr/emu8080:/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] 85c0fe4280868bc783371f01e25c182e85cb9bae5f74ac65febf71b96c8de322 [INFO] running `"docker" "start" "-a" "85c0fe4280868bc783371f01e25c182e85cb9bae5f74ac65febf71b96c8de322"` [INFO] [stderr] Compiling libloading v0.5.0 [INFO] [stderr] Checking shared_library v0.1.8 [INFO] [stderr] Checking crossbeam-epoch v0.3.1 [INFO] [stderr] Checking x11-dl v2.17.5 [INFO] [stderr] Compiling num-derive v0.2.2 [INFO] [stderr] Checking pistoncore-input v0.21.0 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking crossbeam-deque v0.2.0 [INFO] [stderr] Checking rayon-core v1.4.0 [INFO] [stderr] Checking dlib v0.4.1 [INFO] [stderr] Checking wayland-sys v0.12.5 [INFO] [stderr] Checking rayon v1.0.1 [INFO] [stderr] Checking wayland-client v0.12.5 [INFO] [stderr] Checking pistoncore-window v0.32.0 [INFO] [stderr] Checking pistoncore-event_loop v0.37.0 [INFO] [stderr] Checking wayland-protocols v0.12.5 [INFO] [stderr] Checking wayland-kbd v0.13.1 [INFO] [stderr] Checking jpeg-decoder v0.1.14 [INFO] [stderr] Checking piston v0.37.0 [INFO] [stderr] Checking image v0.19.0 [INFO] [stderr] Checking wayland-window v0.13.3 [INFO] [stderr] Checking winit v0.12.0 [INFO] [stderr] Checking glutin v0.14.0 [INFO] [stderr] Checking piston-gfx_texture v0.32.0 [INFO] [stderr] Checking piston2d-gfx_graphics v0.51.0 [INFO] [stderr] Checking pistoncore-glutin_window v0.47.0 [INFO] [stderr] Checking piston_window v0.80.0 [INFO] [stderr] Checking emu8080 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/machine.rs:105:4 [INFO] [stderr] | [INFO] [stderr] 105 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/machine.rs:105:4 [INFO] [stderr] | [INFO] [stderr] 105 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/disassemble.rs:278:2 [INFO] [stderr] | [INFO] [stderr] 278 | opbytes [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/disassemble.rs:4:16 [INFO] [stderr] | [INFO] [stderr] 4 | let opbytes = match opcode { [INFO] [stderr] | ___________________^ [INFO] [stderr] 5 | | 0x00 => {print!("NOP"); 1}, [INFO] [stderr] 6 | | 0x01 => {print!("LXI B,#${:02X}{:02X}", arg2, arg1); 3}, [INFO] [stderr] 7 | | 0x02 => {print!("STAX B"); 1}, [INFO] [stderr] ... | [INFO] [stderr] 276 | | _ => unreachable!() [INFO] [stderr] 277 | | }; [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/disassemble.rs:278:2 [INFO] [stderr] | [INFO] [stderr] 278 | opbytes [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/disassemble.rs:4:16 [INFO] [stderr] | [INFO] [stderr] 4 | let opbytes = match opcode { [INFO] [stderr] | ___________________^ [INFO] [stderr] 5 | | 0x00 => {print!("NOP"); 1}, [INFO] [stderr] 6 | | 0x01 => {print!("LXI B,#${:02X}{:02X}", arg2, arg1); 3}, [INFO] [stderr] 7 | | 0x02 => {print!("STAX B"); 1}, [INFO] [stderr] ... | [INFO] [stderr] 276 | | _ => unreachable!() [INFO] [stderr] 277 | | }; [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: use of `expect` followed by a function call [INFO] [stderr] --> src/machine.rs:114:37 [INFO] [stderr] | [INFO] [stderr] 114 | let buffer = read_file(&filename).expect(&format!("Can't read ROM file: {}", filename)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Can't read ROM file: {}", filename))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/machine.rs:125:63 [INFO] [stderr] | [INFO] [stderr] 125 | let nanos_elapsed = (elapsed.as_secs() * NANOS_PER_SEC) + (elapsed.subsec_nanos() as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(elapsed.subsec_nanos())` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/machine.rs:129:19 [INFO] [stderr] | [INFO] [stderr] 129 | let cycles = self.emulate_op(false) as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.emulate_op(false))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.h)` [INFO] [stderr] ... [INFO] [stderr] 54 | append!(self.h, self.l) [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:4:48 [INFO] [stderr] | [INFO] [stderr] 4 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.l)` [INFO] [stderr] ... [INFO] [stderr] 54 | append!(self.h, self.l) [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.b)` [INFO] [stderr] ... [INFO] [stderr] 63 | append!(self.b, self.c) [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:4:48 [INFO] [stderr] | [INFO] [stderr] 4 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.c)` [INFO] [stderr] ... [INFO] [stderr] 63 | append!(self.b, self.c) [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.d)` [INFO] [stderr] ... [INFO] [stderr] 72 | append!(self.d, self.e) [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:4:48 [INFO] [stderr] | [INFO] [stderr] 4 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.e)` [INFO] [stderr] ... [INFO] [stderr] 72 | append!(self.d, self.e) [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/cpu.rs:80:29 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn from_hl(&self, mem: &Vec) -> u8 { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/cpu.rs:80:17 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn from_hl(&self, mem: &Vec) -> u8 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | let res = (x as i32) + (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:16:26 [INFO] [stderr] | [INFO] [stderr] 16 | let res = (x as i32) + (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:17:12 [INFO] [stderr] | [INFO] [stderr] 17 | let ac = ((x & 0x0F) as i32) + ((y & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(x & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:17:34 [INFO] [stderr] | [INFO] [stderr] 17 | let ac = ((x & 0x0F) as i32) + ((y & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(y & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | let res = (x as i32) + (y as i32) + (z as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:24:26 [INFO] [stderr] | [INFO] [stderr] 24 | let res = (x as i32) + (y as i32) + (z as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:24:39 [INFO] [stderr] | [INFO] [stderr] 24 | let res = (x as i32) + (y as i32) + (z as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(z)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:25:12 [INFO] [stderr] | [INFO] [stderr] 25 | let ac = ((x & 0x0F) as i32) + ((y & 0x0F) as i32) + ((z & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(x & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:25:34 [INFO] [stderr] | [INFO] [stderr] 25 | let ac = ((x & 0x0F) as i32) + ((y & 0x0F) as i32) + ((z & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(y & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:25:56 [INFO] [stderr] | [INFO] [stderr] 25 | let ac = ((x & 0x0F) as i32) + ((y & 0x0F) as i32) + ((z & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(z & 0x0F)` [INFO] [stderr] | [INFO] [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/alu.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let res = (x as i32) + (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:32:26 [INFO] [stderr] | [INFO] [stderr] 32 | let res = (x as i32) + (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | let res = (x as i32) - (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:38:26 [INFO] [stderr] | [INFO] [stderr] 38 | let res = (x as i32) - (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:39:12 [INFO] [stderr] | [INFO] [stderr] 39 | let ac = ((x & 0x0F) as i32) - ((y & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(x & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:39:34 [INFO] [stderr] | [INFO] [stderr] 39 | let ac = ((x & 0x0F) as i32) - ((y & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(y & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | let res = (x as i32) - (y as i32) - (z as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:46:26 [INFO] [stderr] | [INFO] [stderr] 46 | let res = (x as i32) - (y as i32) - (z as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:46:39 [INFO] [stderr] | [INFO] [stderr] 46 | let res = (x as i32) - (y as i32) - (z as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(z)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 47 | let ac = ((x & 0x0F) as i32) - ((y & 0x0F) as i32) - ((z & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(x & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:47:34 [INFO] [stderr] | [INFO] [stderr] 47 | let ac = ((x & 0x0F) as i32) - ((y & 0x0F) as i32) - ((z & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(y & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:47:56 [INFO] [stderr] | [INFO] [stderr] 47 | let ac = ((x & 0x0F) as i32) - ((y & 0x0F) as i32) - ((z & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(z & 0x0F)` [INFO] [stderr] | [INFO] [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/alu.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | let res = (x as i32) - (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:54:26 [INFO] [stderr] | [INFO] [stderr] 54 | let res = (x as i32) - (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | let min = u8::min_value() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(u8::min_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 i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | let max = u8::max_value() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(u8::max_value())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | let min = u16::min_value() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(u16::min_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 u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | let max = u16::max_value() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(u16::max_value())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 33 [INFO] [stderr] --> src/operation.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | / pub fn execute(cpu: &mut CPU, alu: &mut ALU, mut mem: &mut Vec, opcode: u8, arg1: u8, arg2: u8) -> u8 { [INFO] [stderr] 22 | | macro_rules! push { [INFO] [stderr] 23 | | ($h:expr, $l:expr) => ({ [INFO] [stderr] 24 | | let sp_addr = cpu.sp as usize; [INFO] [stderr] ... | [INFO] [stderr] 526 | | CYCLES8080[opcode as usize] [INFO] [stderr] 527 | | } [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(arg2)` [INFO] [stderr] ... [INFO] [stderr] 93 | let args = append!(arg2, arg1); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(arg1)` [INFO] [stderr] ... [INFO] [stderr] 93 | let args = append!(arg2, arg1); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: The function/method `from_hl` doesn't need a mutable reference [INFO] [stderr] --> src/operation.rs:196:34 [INFO] [stderr] | [INFO] [stderr] 196 | let val = alu.add(cpu.from_hl(&mut mem), 1); [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: The function/method `from_hl` doesn't need a mutable reference [INFO] [stderr] --> src/operation.rs:202:34 [INFO] [stderr] | [INFO] [stderr] 202 | let val = alu.sub(cpu.from_hl(&mut mem), 1); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 359 | 0xC0 => {if cpu.cc.z == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 359 | 0xC0 => {if cpu.cc.z == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 373 | 0xC8 => {if cpu.cc.z == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 373 | 0xC8 => {if cpu.cc.z == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 374 | 0xC9 => {ret!(); 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 374 | 0xC9 => {ret!(); 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:393:15 [INFO] [stderr] | [INFO] [stderr] 393 | let d = mem[addr] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(mem[addr])` [INFO] [stderr] | [INFO] [stderr] = help: 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/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 410 | 0xD0 => {if cpu.cc.cy == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 410 | 0xD0 => {if cpu.cc.cy == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 424 | 0xD8 => {if cpu.cc.cy == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 424 | 0xD8 => {if cpu.cc.cy == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 425 | 0xD9 => {ret!(); 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 425 | 0xD9 => {ret!(); 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 439 | 0xE0 => {if cpu.cc.p == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 439 | 0xE0 => {if cpu.cc.p == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 458 | 0xE8 => {if cpu.cc.p == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 458 | 0xE8 => {if cpu.cc.p == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 482 | 0xF0 => {if cpu.cc.s == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 482 | 0xF0 => {if cpu.cc.s == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 507 | 0xF8 => {if cpu.cc.s == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 507 | 0xF8 => {if cpu.cc.s == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:535:15 [INFO] [stderr] | [INFO] [stderr] 535 | cpu.pc = 8 * interrupt_num as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(interrupt_num)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/machine.rs:114:37 [INFO] [stderr] | [INFO] [stderr] 114 | let buffer = read_file(&filename).expect(&format!("Can't read ROM file: {}", filename)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Can't read ROM file: {}", filename))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/machine.rs:125:63 [INFO] [stderr] | [INFO] [stderr] 125 | let nanos_elapsed = (elapsed.as_secs() * NANOS_PER_SEC) + (elapsed.subsec_nanos() as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(elapsed.subsec_nanos())` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/machine.rs:129:19 [INFO] [stderr] | [INFO] [stderr] 129 | let cycles = self.emulate_op(false) as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.emulate_op(false))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.h)` [INFO] [stderr] ... [INFO] [stderr] 54 | append!(self.h, self.l) [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:4:48 [INFO] [stderr] | [INFO] [stderr] 4 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.l)` [INFO] [stderr] ... [INFO] [stderr] 54 | append!(self.h, self.l) [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.b)` [INFO] [stderr] ... [INFO] [stderr] 63 | append!(self.b, self.c) [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:4:48 [INFO] [stderr] | [INFO] [stderr] 4 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.c)` [INFO] [stderr] ... [INFO] [stderr] 63 | append!(self.b, self.c) [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.d)` [INFO] [stderr] ... [INFO] [stderr] 72 | append!(self.d, self.e) [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:4:48 [INFO] [stderr] | [INFO] [stderr] 4 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.e)` [INFO] [stderr] ... [INFO] [stderr] 72 | append!(self.d, self.e) [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/cpu.rs:80:29 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn from_hl(&self, mem: &Vec) -> u8 { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/cpu.rs:80:17 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn from_hl(&self, mem: &Vec) -> u8 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | let res = (x as i32) + (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:16:26 [INFO] [stderr] | [INFO] [stderr] 16 | let res = (x as i32) + (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:17:12 [INFO] [stderr] | [INFO] [stderr] 17 | let ac = ((x & 0x0F) as i32) + ((y & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(x & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:17:34 [INFO] [stderr] | [INFO] [stderr] 17 | let ac = ((x & 0x0F) as i32) + ((y & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(y & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | let res = (x as i32) + (y as i32) + (z as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:24:26 [INFO] [stderr] | [INFO] [stderr] 24 | let res = (x as i32) + (y as i32) + (z as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:24:39 [INFO] [stderr] | [INFO] [stderr] 24 | let res = (x as i32) + (y as i32) + (z as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(z)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:25:12 [INFO] [stderr] | [INFO] [stderr] 25 | let ac = ((x & 0x0F) as i32) + ((y & 0x0F) as i32) + ((z & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(x & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:25:34 [INFO] [stderr] | [INFO] [stderr] 25 | let ac = ((x & 0x0F) as i32) + ((y & 0x0F) as i32) + ((z & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(y & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:25:56 [INFO] [stderr] | [INFO] [stderr] 25 | let ac = ((x & 0x0F) as i32) + ((y & 0x0F) as i32) + ((z & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(z & 0x0F)` [INFO] [stderr] | [INFO] [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/alu.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let res = (x as i32) + (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:32:26 [INFO] [stderr] | [INFO] [stderr] 32 | let res = (x as i32) + (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | let res = (x as i32) - (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:38:26 [INFO] [stderr] | [INFO] [stderr] 38 | let res = (x as i32) - (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:39:12 [INFO] [stderr] | [INFO] [stderr] 39 | let ac = ((x & 0x0F) as i32) - ((y & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(x & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:39:34 [INFO] [stderr] | [INFO] [stderr] 39 | let ac = ((x & 0x0F) as i32) - ((y & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(y & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | let res = (x as i32) - (y as i32) - (z as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:46:26 [INFO] [stderr] | [INFO] [stderr] 46 | let res = (x as i32) - (y as i32) - (z as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:46:39 [INFO] [stderr] | [INFO] [stderr] 46 | let res = (x as i32) - (y as i32) - (z as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(z)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 47 | let ac = ((x & 0x0F) as i32) - ((y & 0x0F) as i32) - ((z & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(x & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:47:34 [INFO] [stderr] | [INFO] [stderr] 47 | let ac = ((x & 0x0F) as i32) - ((y & 0x0F) as i32) - ((z & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(y & 0x0F)` [INFO] [stderr] | [INFO] [stderr] = help: 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/alu.rs:47:56 [INFO] [stderr] | [INFO] [stderr] 47 | let ac = ((x & 0x0F) as i32) - ((y & 0x0F) as i32) - ((z & 0x0F) as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(z & 0x0F)` [INFO] [stderr] | [INFO] [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/alu.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | let res = (x as i32) - (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:54:26 [INFO] [stderr] | [INFO] [stderr] 54 | let res = (x as i32) - (y as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | let min = u8::min_value() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(u8::min_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 i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | let max = u8::max_value() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(u8::max_value())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | let min = u16::min_value() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(u16::min_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 u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/alu.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | let max = u16::max_value() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(u16::max_value())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 33 [INFO] [stderr] --> src/operation.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | / pub fn execute(cpu: &mut CPU, alu: &mut ALU, mut mem: &mut Vec, opcode: u8, arg1: u8, arg2: u8) -> u8 { [INFO] [stderr] 22 | | macro_rules! push { [INFO] [stderr] 23 | | ($h:expr, $l:expr) => ({ [INFO] [stderr] 24 | | let sp_addr = cpu.sp as usize; [INFO] [stderr] ... | [INFO] [stderr] 526 | | CYCLES8080[opcode as usize] [INFO] [stderr] 527 | | } [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(arg2)` [INFO] [stderr] ... [INFO] [stderr] 93 | let args = append!(arg2, arg1); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(arg1)` [INFO] [stderr] ... [INFO] [stderr] 93 | let args = append!(arg2, arg1); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: The function/method `from_hl` doesn't need a mutable reference [INFO] [stderr] --> src/operation.rs:196:34 [INFO] [stderr] | [INFO] [stderr] 196 | let val = alu.add(cpu.from_hl(&mut mem), 1); [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: The function/method `from_hl` doesn't need a mutable reference [INFO] [stderr] --> src/operation.rs:202:34 [INFO] [stderr] | [INFO] [stderr] 202 | let val = alu.sub(cpu.from_hl(&mut mem), 1); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 359 | 0xC0 => {if cpu.cc.z == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 359 | 0xC0 => {if cpu.cc.z == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 373 | 0xC8 => {if cpu.cc.z == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 373 | 0xC8 => {if cpu.cc.z == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 374 | 0xC9 => {ret!(); 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 374 | 0xC9 => {ret!(); 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:393:15 [INFO] [stderr] | [INFO] [stderr] 393 | let d = mem[addr] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(mem[addr])` [INFO] [stderr] | [INFO] [stderr] = help: 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/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 410 | 0xD0 => {if cpu.cc.cy == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 410 | 0xD0 => {if cpu.cc.cy == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 424 | 0xD8 => {if cpu.cc.cy == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 424 | 0xD8 => {if cpu.cc.cy == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 425 | 0xD9 => {ret!(); 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 425 | 0xD9 => {ret!(); 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 439 | 0xE0 => {if cpu.cc.p == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 439 | 0xE0 => {if cpu.cc.p == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 458 | 0xE8 => {if cpu.cc.p == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 458 | 0xE8 => {if cpu.cc.p == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 482 | 0xF0 => {if cpu.cc.s == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 482 | 0xF0 => {if cpu.cc.s == 0 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr + 1])` [INFO] [stderr] ... [INFO] [stderr] 507 | 0xF8 => {if cpu.cc.s == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/operation.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | ($x:expr, $y:expr) => (((($x) as u16) << 8) | (($y) as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(mem[sp_addr])` [INFO] [stderr] ... [INFO] [stderr] 507 | 0xF8 => {if cpu.cc.s == 1 {ret!();} 0}, [INFO] [stderr] | ------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/iocontroller.rs:55:14 [INFO] [stderr] | [INFO] [stderr] 55 | let v = ((self.shift1 as u16) << 8) | self.shift0 as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.shift1)` [INFO] [stderr] | [INFO] [stderr] = help: 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/iocontroller.rs:55:43 [INFO] [stderr] | [INFO] [stderr] 55 | let v = ((self.shift1 as u16) << 8) | self.shift0 as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.shift0)` [INFO] [stderr] | [INFO] [stderr] = help: 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/operation.rs:535:15 [INFO] [stderr] | [INFO] [stderr] 535 | cpu.pc = 8 * interrupt_num as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(interrupt_num)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:53:10 [INFO] [stderr] | [INFO] [stderr] 53 | if let Some(_) = e.render_args() { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 54 | | update(&mut m, &mut img_buffer); [INFO] [stderr] 55 | | texture.update(&mut window.encoder, &img_buffer).unwrap(); [INFO] [stderr] 56 | | window.draw_2d(&e, |_, g| { [INFO] [stderr] ... | [INFO] [stderr] 59 | | }); [INFO] [stderr] 60 | | } [INFO] [stderr] | |_________- help: try this: `if e.render_args().is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:58:26 [INFO] [stderr] | [INFO] [stderr] 58 | image(&texture, [[2./WIDTH as f64, 0., -1.], [0., 2./HEIGHT as f64, -1.]], g); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(WIDTH)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:58:58 [INFO] [stderr] | [INFO] [stderr] 58 | image(&texture, [[2./WIDTH as f64, 0., -1.], [0., 2./HEIGHT as f64, -1.]], g); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(HEIGHT)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:62:10 [INFO] [stderr] | [INFO] [stderr] 62 | if let Some(_) = e.update_args() { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 63 | | m.run(); [INFO] [stderr] 64 | | } [INFO] [stderr] | |_________- help: try this: `if e.update_args().is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:84:19 [INFO] [stderr] | [INFO] [stderr] 84 | let color = if (byte >> shift) as u32 & 1 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(byte >> shift)` [INFO] [stderr] | [INFO] [stderr] = help: 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/iocontroller.rs:55:14 [INFO] [stderr] | [INFO] [stderr] 55 | let v = ((self.shift1 as u16) << 8) | self.shift0 as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.shift1)` [INFO] [stderr] | [INFO] [stderr] = help: 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/iocontroller.rs:55:43 [INFO] [stderr] | [INFO] [stderr] 55 | let v = ((self.shift1 as u16) << 8) | self.shift0 as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.shift0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:53:10 [INFO] [stderr] | [INFO] [stderr] 53 | if let Some(_) = e.render_args() { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 54 | | update(&mut m, &mut img_buffer); [INFO] [stderr] 55 | | texture.update(&mut window.encoder, &img_buffer).unwrap(); [INFO] [stderr] 56 | | window.draw_2d(&e, |_, g| { [INFO] [stderr] ... | [INFO] [stderr] 59 | | }); [INFO] [stderr] 60 | | } [INFO] [stderr] | |_________- help: try this: `if e.render_args().is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:58:26 [INFO] [stderr] | [INFO] [stderr] 58 | image(&texture, [[2./WIDTH as f64, 0., -1.], [0., 2./HEIGHT as f64, -1.]], g); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(WIDTH)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:58:58 [INFO] [stderr] | [INFO] [stderr] 58 | image(&texture, [[2./WIDTH as f64, 0., -1.], [0., 2./HEIGHT as f64, -1.]], g); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(HEIGHT)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:62:10 [INFO] [stderr] | [INFO] [stderr] 62 | if let Some(_) = e.update_args() { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 63 | | m.run(); [INFO] [stderr] 64 | | } [INFO] [stderr] | |_________- help: try this: `if e.update_args().is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:84:19 [INFO] [stderr] | [INFO] [stderr] 84 | let color = if (byte >> shift) as u32 & 1 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(byte >> shift)` [INFO] [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 39.07s [INFO] running `"docker" "inspect" "85c0fe4280868bc783371f01e25c182e85cb9bae5f74ac65febf71b96c8de322"` [INFO] running `"docker" "rm" "-f" "85c0fe4280868bc783371f01e25c182e85cb9bae5f74ac65febf71b96c8de322"` [INFO] [stdout] 85c0fe4280868bc783371f01e25c182e85cb9bae5f74ac65febf71b96c8de322