[INFO] updating cached repository nekronos/gbc_rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/nekronos/gbc_rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/nekronos/gbc_rs" "work/ex/clippy-test-run/sources/stable/gh/nekronos/gbc_rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/nekronos/gbc_rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/nekronos/gbc_rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/nekronos/gbc_rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/nekronos/gbc_rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 2728ecbdd352f041f192f72bc6f0ef7575808600 [INFO] sha for GitHub repo nekronos/gbc_rs: 2728ecbdd352f041f192f72bc6f0ef7575808600 [INFO] validating manifest of nekronos/gbc_rs 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 nekronos/gbc_rs 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 nekronos/gbc_rs [INFO] finished frobbing nekronos/gbc_rs [INFO] frobbed toml for nekronos/gbc_rs written to work/ex/clippy-test-run/sources/stable/gh/nekronos/gbc_rs/Cargo.toml [INFO] started frobbing nekronos/gbc_rs [INFO] finished frobbing nekronos/gbc_rs [INFO] frobbed toml for nekronos/gbc_rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/nekronos/gbc_rs/Cargo.toml [INFO] crate nekronos/gbc_rs 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 nekronos/gbc_rs against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/nekronos/gbc_rs:/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] 98efad7ea95fe07579ac4396ecd6699a5f57b3c8d7128cbe0bb759c78b36edf2 [INFO] running `"docker" "start" "-a" "98efad7ea95fe07579ac4396ecd6699a5f57b3c8d7128cbe0bb759c78b36edf2"` [INFO] [stderr] Compiling gcc v0.3.39 [INFO] [stderr] Checking libc v0.1.12 [INFO] [stderr] Checking dylib v0.0.1 [INFO] [stderr] Checking time v0.1.35 [INFO] [stderr] Checking x11-dl v2.2.1 [INFO] [stderr] Compiling minifb v0.9.0 [INFO] [stderr] Checking gbc_rs v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/cart.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | bytes: bytes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/cart.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | mbc: mbc, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mbc` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/cpu.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | interconnect: interconnect, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `interconnect` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/ppu.rs:246:13 [INFO] [stderr] | [INFO] [stderr] 246 | framebuffer_channel: framebuffer_channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `framebuffer_channel` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/interconnect.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | gameboy_type: gameboy_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `gameboy_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/interconnect.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | cart: cart, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cart` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/interconnect.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | ppu: ppu, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ppu` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/interconnect.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | spu: spu, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `spu` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/interconnect.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | gamepad: gamepad, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `gamepad` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/gamepad.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | button: button, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `button` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/gamepad.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/gamepad.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | input: input, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `input` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mbc1.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | ram: ram, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ram` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mbc3.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | rtc: rtc, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `rtc` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mbc3.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | ram: ram, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ram` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mbc5.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | ram: ram, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ram` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mod.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mod.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | bank_count: bank_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bank_count` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mod.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | mbc_type: mbc_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `mbc_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mod.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | ram_info: ram_info, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `ram_info` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mod.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | has_batt: has_batt, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `has_batt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/cart.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | bytes: bytes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/cart.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | mbc: mbc, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mbc` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/cpu.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | interconnect: interconnect, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `interconnect` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/ppu.rs:246:13 [INFO] [stderr] | [INFO] [stderr] 246 | framebuffer_channel: framebuffer_channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `framebuffer_channel` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/interconnect.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | gameboy_type: gameboy_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `gameboy_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/interconnect.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | cart: cart, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cart` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/interconnect.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | ppu: ppu, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ppu` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/interconnect.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | spu: spu, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `spu` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/interconnect.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | gamepad: gamepad, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `gamepad` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/gamepad.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | button: button, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `button` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/gamepad.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/gamepad.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | input: input, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `input` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mbc1.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | ram: ram, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ram` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mbc3.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | rtc: rtc, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `rtc` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mbc3.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | ram: ram, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ram` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mbc5.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | ram: ram, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ram` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mod.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mod.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | bank_count: bank_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bank_count` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mod.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | mbc_type: mbc_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `mbc_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mod.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | ram_info: ram_info, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `ram_info` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gbc/mbc/mod.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | has_batt: has_batt, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `has_batt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/gbc/ppu.rs:389:16 [INFO] [stderr] | [INFO] [stderr] 389 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 390 | | if self.mode_cycles >= CLKS_SCREEN_REFRESH { [INFO] [stderr] 391 | | self.mode_cycles -= CLKS_SCREEN_REFRESH [INFO] [stderr] 392 | | } [INFO] [stderr] 393 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 389 | } else if self.mode_cycles >= CLKS_SCREEN_REFRESH { [INFO] [stderr] 390 | self.mode_cycles -= CLKS_SCREEN_REFRESH [INFO] [stderr] 391 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/gbc/ppu.rs:439:16 [INFO] [stderr] | [INFO] [stderr] 439 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 440 | | if self.lcdc.bg_tile_map_display_select { [INFO] [stderr] 441 | | 0x9c00 [INFO] [stderr] 442 | | } else { [INFO] [stderr] 443 | | 0x9800 [INFO] [stderr] 444 | | } [INFO] [stderr] 445 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 439 | } else if self.lcdc.bg_tile_map_display_select { [INFO] [stderr] 440 | 0x9c00 [INFO] [stderr] 441 | } else { [INFO] [stderr] 442 | 0x9800 [INFO] [stderr] 443 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/gbc/opcode.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | pub const OPCODE_NAME_LUT: &'static [&'static str] = &["NOP", [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/gbc/opcode.rs:48:39 [INFO] [stderr] | [INFO] [stderr] 48 | pub const OPCODE_NAME_LUT: &'static [&'static str] = &["NOP", [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/gbc/opcode.rs:305:32 [INFO] [stderr] | [INFO] [stderr] 305 | pub const CB_OPCODE_NAME_LUT: &'static [&'static str] = &["RLC B", [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]` [INFO] [stderr] | [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/gbc/opcode.rs:305:42 [INFO] [stderr] | [INFO] [stderr] 305 | pub const CB_OPCODE_NAME_LUT: &'static [&'static str] = &["RLC B", [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/gbc/ppu.rs:389:16 [INFO] [stderr] | [INFO] [stderr] 389 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 390 | | if self.mode_cycles >= CLKS_SCREEN_REFRESH { [INFO] [stderr] 391 | | self.mode_cycles -= CLKS_SCREEN_REFRESH [INFO] [stderr] 392 | | } [INFO] [stderr] 393 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 389 | } else if self.mode_cycles >= CLKS_SCREEN_REFRESH { [INFO] [stderr] 390 | self.mode_cycles -= CLKS_SCREEN_REFRESH [INFO] [stderr] 391 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/gbc/ppu.rs:439:16 [INFO] [stderr] | [INFO] [stderr] 439 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 440 | | if self.lcdc.bg_tile_map_display_select { [INFO] [stderr] 441 | | 0x9c00 [INFO] [stderr] 442 | | } else { [INFO] [stderr] 443 | | 0x9800 [INFO] [stderr] 444 | | } [INFO] [stderr] 445 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 439 | } else if self.lcdc.bg_tile_map_display_select { [INFO] [stderr] 440 | 0x9c00 [INFO] [stderr] 441 | } else { [INFO] [stderr] 442 | 0x9800 [INFO] [stderr] 443 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/gbc/opcode.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | pub const OPCODE_NAME_LUT: &'static [&'static str] = &["NOP", [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/gbc/opcode.rs:48:39 [INFO] [stderr] | [INFO] [stderr] 48 | pub const OPCODE_NAME_LUT: &'static [&'static str] = &["NOP", [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/gbc/opcode.rs:305:32 [INFO] [stderr] | [INFO] [stderr] 305 | pub const CB_OPCODE_NAME_LUT: &'static [&'static str] = &["RLC B", [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]` [INFO] [stderr] | [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/gbc/opcode.rs:305:42 [INFO] [stderr] | [INFO] [stderr] 305 | pub const CB_OPCODE_NAME_LUT: &'static [&'static str] = &["RLC B", [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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: `cycle_count` [INFO] [stderr] --> src/gbc/gamepad.rs:90:35 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn cycle_flush(&mut self, cycle_count: u32) -> Interrupts { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_cycle_count` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cycle_count` [INFO] [stderr] --> src/gbc/gamepad.rs:90:35 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn cycle_flush(&mut self, cycle_count: u32) -> Interrupts { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_cycle_count` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `gameboy_type` [INFO] [stderr] --> src/gbc/interconnect.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | gameboy_type: GameboyType, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Mbc2` [INFO] [stderr] --> src/gbc/mbc/mod.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | Mbc2, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/gbc/cart.rs:45:28 [INFO] [stderr] | [INFO] [stderr] 45 | fn get_mbc_info(bytes: &Box<[u8]>) -> MbcInfo { [INFO] [stderr] | ^^^^^^^^^^ help: try: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/gbc/cart.rs:85:28 [INFO] [stderr] | [INFO] [stderr] 85 | fn get_ram_size(bytes: &Box<[u8]>) -> u32 { [INFO] [stderr] | ^^^^^^^^^^ help: try: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/gbc/cart.rs:101:34 [INFO] [stderr] | [INFO] [stderr] 101 | fn get_ram_bank_count(bytes: &Box<[u8]>) -> u32 { [INFO] [stderr] | ^^^^^^^^^^ help: try: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: methods called `is_*` usually take self by reference or no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/gbc/cpu.rs:34:16 [INFO] [stderr] | [INFO] [stderr] 34 | fn is_true(self, cpu: &Cpu) -> bool { [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:100:22 [INFO] [stderr] | [INFO] [stderr] 100 | let offset = imm.read(cpu) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(imm.read(cpu))` [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/gbc/cpu.rs:109:22 [INFO] [stderr] | [INFO] [stderr] 109 | let offset = imm.read(cpu) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(imm.read(cpu))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:118:22 [INFO] [stderr] | [INFO] [stderr] 118 | let offset = reg.read(cpu) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(reg.read(cpu))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:127:22 [INFO] [stderr] | [INFO] [stderr] 127 | let offset = reg.read(cpu) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(reg.read(cpu))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:492:32 [INFO] [stderr] | [INFO] [stderr] 492 | Timing::Default => OPCODE_TIMES[opcode as usize] as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(OPCODE_TIMES[opcode as usize])` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:493:29 [INFO] [stderr] | [INFO] [stderr] 493 | Timing::Cond => OPCODE_COND_TIMES[opcode as usize] as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(OPCODE_COND_TIMES[opcode as usize])` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:768:20 [INFO] [stderr] | [INFO] [stderr] 768 | Timing::Cb(CB_OPCODE_TIMES[opcode as usize] as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(CB_OPCODE_TIMES[opcode as usize])` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:816:23 [INFO] [stderr] | [INFO] [stderr] 816 | self.reg.pc = p as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(p)` [INFO] [stderr] | [INFO] [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/gbc/cpu.rs:849:22 [INFO] [stderr] | [INFO] [stderr] 849 | let offset = (src.read(self) as i8) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from((src.read(self) as i8))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:872:17 [INFO] [stderr] | [INFO] [stderr] 872 | let a = dst.read(self) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(dst.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:873:17 [INFO] [stderr] | [INFO] [stderr] 873 | let b = src.read(self) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(src.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:885:17 [INFO] [stderr] | [INFO] [stderr] 885 | let a = dst.read(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(dst.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:886:17 [INFO] [stderr] | [INFO] [stderr] 886 | let b = src.read(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(src.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:911:22 [INFO] [stderr] | [INFO] [stderr] 911 | let offset = (Imm8.read(self) as i8) as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((Imm8.read(self) as i8))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:912:18 [INFO] [stderr] | [INFO] [stderr] 912 | let sp = (self.reg.sp as i16) as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((self.reg.sp as i16))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:922:17 [INFO] [stderr] | [INFO] [stderr] 922 | let a = dst.read(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(dst.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:923:17 [INFO] [stderr] | [INFO] [stderr] 923 | let b = src.read(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(src.read(self))` [INFO] [stderr] | [INFO] [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/gbc/cpu.rs:935:17 [INFO] [stderr] | [INFO] [stderr] 935 | let a = dst.read(self) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(dst.read(self))` [INFO] [stderr] | [INFO] [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/gbc/cpu.rs:936:17 [INFO] [stderr] | [INFO] [stderr] 936 | let b = src.read(self) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(src.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:946:17 [INFO] [stderr] | [INFO] [stderr] 946 | let a = dst.read(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(dst.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:947:17 [INFO] [stderr] | [INFO] [stderr] 947 | let b = src.read(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(src.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:1046:21 [INFO] [stderr] | [INFO] [stderr] 1046 | let mut a = self.reg.a as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.reg.a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/gbc/cpu.rs:1060:17 [INFO] [stderr] | [INFO] [stderr] 1060 | a = a + 0x60; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `a += 0x60` [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: manual implementation of an assign operation [INFO] [stderr] --> src/gbc/cpu.rs:1064:17 [INFO] [stderr] | [INFO] [stderr] 1064 | a = a + 0x06 [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `a += 0x06` [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: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/gbc/cpu.rs:1172:31 [INFO] [stderr] | [INFO] [stderr] 1172 | self.reg.half_carry = (result & 0x0f) == 0x00; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `result.trailing_zeros() >= 4` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::verbose_bit_mask)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:1230:19 [INFO] [stderr] | [INFO] [stderr] 1230 | let low = self.fetch_u8() as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.fetch_u8())` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:1231:20 [INFO] [stderr] | [INFO] [stderr] 1231 | let high = self.fetch_u8() as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.fetch_u8())` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:1254:19 [INFO] [stderr] | [INFO] [stderr] 1254 | let low = self.pop_u8() as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.pop_u8())` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:1255:20 [INFO] [stderr] | [INFO] [stderr] 1255 | let high = self.pop_u8() as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.pop_u8())` [INFO] [stderr] | [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/gbc/ppu.rs:348:25 [INFO] [stderr] | [INFO] [stderr] 348 | self.ly = self.ly + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.ly += 1` [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/gbc/ppu.rs:361:25 [INFO] [stderr] | [INFO] [stderr] 361 | self.ly = self.ly + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.ly += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:402:9 [INFO] [stderr] | [INFO] [stderr] 402 | (self.vbk | 0x01) as u16 * 0x2000 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.vbk | 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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:453:29 [INFO] [stderr] | [INFO] [stderr] 453 | let tile_row: u16 = (y_pos / 8) as u16 * 32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(y_pos / 8)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:463:28 [INFO] [stderr] | [INFO] [stderr] 463 | let tile_col = (x_pos / 8) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(x_pos / 8)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:468:17 [INFO] [stderr] | [INFO] [stderr] 468 | self.read(tile_address) as u16 as i16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read(tile_address))` [INFO] [stderr] | [INFO] [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/gbc/ppu.rs:470:17 [INFO] [stderr] | [INFO] [stderr] 470 | self.read(tile_address) as i8 as i16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.read(tile_address) as i8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:479:25 [INFO] [stderr] | [INFO] [stderr] 479 | let line = (y_pos as u16 % 8) * 2; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(y_pos)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/gbc/ppu.rs:483:29 [INFO] [stderr] | [INFO] [stderr] 483 | let color_bit = ((x_pos as i32 % 8) - 7) * -1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:483:31 [INFO] [stderr] | [INFO] [stderr] 483 | let color_bit = ((x_pos as i32 % 8) - 7) * -1; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(x_pos)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:489:28 [INFO] [stderr] | [INFO] [stderr] 489 | self.set_pixel(pixel as u32, scanline as u32, color) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(pixel)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:489:42 [INFO] [stderr] | [INFO] [stderr] 489 | self.set_pixel(pixel as u32, scanline as u32, color) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(scanline)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:503:33 [INFO] [stderr] | [INFO] [stderr] 503 | let tile_location = self.oam[(index + 2) as usize] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.oam[(index + 2) as usize])` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:512:33 [INFO] [stderr] | [INFO] [stderr] 512 | let line: i32 = scanline as i32 - y_pos as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i32::from(scanline)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:512:51 [INFO] [stderr] | [INFO] [stderr] 512 | let line: i32 = scanline as i32 - y_pos as i32; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(y_pos)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/gbc/ppu.rs:515:21 [INFO] [stderr] | [INFO] [stderr] 515 | (line - y_size as i32) * -1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:515:29 [INFO] [stderr] | [INFO] [stderr] 515 | (line - y_size as i32) * -1 [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(y_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/gbc/ppu.rs:530:25 [INFO] [stderr] | [INFO] [stderr] 530 | (color_bit - 7) * -1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:559:43 [INFO] [stderr] | [INFO] [stderr] 559 | self.set_sprite_pixel(pixel as u32, scanline as u32, obj_to_bg_pri, color) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(pixel)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:559:57 [INFO] [stderr] | [INFO] [stderr] 559 | self.set_sprite_pixel(pixel as u32, scanline as u32, obj_to_bg_pri, color) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(scanline)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:608:18 [INFO] [stderr] | [INFO] [stderr] 608 | let c = ((color.a as u32) << 24) | ((color.r as u32) << 16) | ((color.g as u32) << 8) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(color.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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:608:45 [INFO] [stderr] | [INFO] [stderr] 608 | let c = ((color.a as u32) << 24) | ((color.r as u32) << 16) | ((color.g as u32) << 8) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(color.r)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:608:72 [INFO] [stderr] | [INFO] [stderr] 608 | let c = ((color.a as u32) << 24) | ((color.r as u32) << 16) | ((color.g as u32) << 8) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(color.g)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:609:17 [INFO] [stderr] | [INFO] [stderr] 609 | (color.b as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(color.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/gbc/interconnect.rs:144:25 [INFO] [stderr] | [INFO] [stderr] 144 | let dma_start = (self.ppu_dma as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.ppu_dma)` [INFO] [stderr] | [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/gbc/gamepad.rs:103:49 [INFO] [stderr] | [INFO] [stderr] 103 | Up | Down | Left | Right => self.input_port_1 = self.input_port_1 & mask, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.input_port_1 &= mask` [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/gbc/gamepad.rs:104:47 [INFO] [stderr] | [INFO] [stderr] 104 | A | B | Start | Select => self.input_port_2 = self.input_port_2 & mask, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.input_port_2 &= mask` [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/gbc/gamepad.rs:111:49 [INFO] [stderr] | [INFO] [stderr] 111 | Up | Down | Left | Right => self.input_port_1 = self.input_port_1 | flag, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.input_port_1 |= flag` [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/gbc/gamepad.rs:112:47 [INFO] [stderr] | [INFO] [stderr] 112 | A | B | Start | Select => self.input_port_2 = self.input_port_2 | flag, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.input_port_2 |= flag` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/disassembler.rs:11:21 [INFO] [stderr] | [INFO] [stderr] 11 | let n = interconnect.read(program_counter) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(interconnect.read(program_counter))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/disassembler.rs:16:23 [INFO] [stderr] | [INFO] [stderr] 16 | let low = interconnect.read(program_counter) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(interconnect.read(program_counter))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/disassembler.rs:17:24 [INFO] [stderr] | [INFO] [stderr] 17 | let high = interconnect.read(program_counter + 1) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(interconnect.read(program_counter + 1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/registers.rs:92:20 [INFO] [stderr] | [INFO] [stderr] 92 | AF => ((self.read_u8(A) as u16) << 8) | self.read_u8(F) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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/gbc/registers.rs:92:53 [INFO] [stderr] | [INFO] [stderr] 92 | AF => ((self.read_u8(A) as u16) << 8) | self.read_u8(F) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(F))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/registers.rs:93:20 [INFO] [stderr] | [INFO] [stderr] 93 | BC => ((self.read_u8(B) as u16) << 8) | self.read_u8(C) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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/gbc/registers.rs:93:53 [INFO] [stderr] | [INFO] [stderr] 93 | BC => ((self.read_u8(B) as u16) << 8) | self.read_u8(C) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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/gbc/registers.rs:94:20 [INFO] [stderr] | [INFO] [stderr] 94 | DE => ((self.read_u8(D) as u16) << 8) | self.read_u8(E) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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/gbc/registers.rs:94:53 [INFO] [stderr] | [INFO] [stderr] 94 | DE => ((self.read_u8(D) as u16) << 8) | self.read_u8(E) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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/gbc/registers.rs:95:20 [INFO] [stderr] | [INFO] [stderr] 95 | HL => ((self.read_u8(H) as u16) << 8) | self.read_u8(L) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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/gbc/registers.rs:95:53 [INFO] [stderr] | [INFO] [stderr] 95 | HL => ((self.read_u8(H) as u16) << 8) | self.read_u8(L) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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: field is never used: `gameboy_type` [INFO] [stderr] --> src/gbc/interconnect.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | gameboy_type: GameboyType, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Mbc2` [INFO] [stderr] --> src/gbc/mbc/mod.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | Mbc2, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/gbc/mbc/mbc3.rs:83:40 [INFO] [stderr] | [INFO] [stderr] 83 | self.latched_rtc = self.rtc.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.rtc` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/gbc/mbc/mod.rs:66:25 [INFO] [stderr] | [INFO] [stderr] 66 | fn read(&self, rom: &Box<[u8]>, addr: u16) -> u8; [INFO] [stderr] | ^^^^^^^^^^ help: try: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/gbc/cart.rs:45:28 [INFO] [stderr] | [INFO] [stderr] 45 | fn get_mbc_info(bytes: &Box<[u8]>) -> MbcInfo { [INFO] [stderr] | ^^^^^^^^^^ help: try: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/gbc/cart.rs:85:28 [INFO] [stderr] | [INFO] [stderr] 85 | fn get_ram_size(bytes: &Box<[u8]>) -> u32 { [INFO] [stderr] | ^^^^^^^^^^ help: try: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/gbc/cart.rs:101:34 [INFO] [stderr] | [INFO] [stderr] 101 | fn get_ram_bank_count(bytes: &Box<[u8]>) -> u32 { [INFO] [stderr] | ^^^^^^^^^^ help: try: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:95:19 [INFO] [stderr] | [INFO] [stderr] 95 | let (tx, rx): (Sender>, Receiver>) = mpsc::channel(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used [INFO] [stderr] --> src/main.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | / make_events(keys.clone(), prev_keys) [INFO] [stderr] 136 | | .into_iter() [INFO] [stderr] 137 | | .map(|e| gamepad_tx.send(e).unwrap()) [INFO] [stderr] 138 | | .collect::>(); [INFO] [stderr] | |_____________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: you are collect()ing an iterator and throwing away the result. Consider using an explicit for loop to exhaust the iterator [INFO] [stderr] --> src/main.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | / make_events(keys.clone(), prev_keys) [INFO] [stderr] 136 | | .into_iter() [INFO] [stderr] 137 | | .map(|e| gamepad_tx.send(e).unwrap()) [INFO] [stderr] 138 | | .collect::>(); [INFO] [stderr] | |____________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_collect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_collect [INFO] [stderr] [INFO] [stderr] warning: methods called `is_*` usually take self by reference or no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/gbc/cpu.rs:34:16 [INFO] [stderr] | [INFO] [stderr] 34 | fn is_true(self, cpu: &Cpu) -> bool { [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:100:22 [INFO] [stderr] | [INFO] [stderr] 100 | let offset = imm.read(cpu) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(imm.read(cpu))` [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/gbc/cpu.rs:109:22 [INFO] [stderr] | [INFO] [stderr] 109 | let offset = imm.read(cpu) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(imm.read(cpu))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:118:22 [INFO] [stderr] | [INFO] [stderr] 118 | let offset = reg.read(cpu) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(reg.read(cpu))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:127:22 [INFO] [stderr] | [INFO] [stderr] 127 | let offset = reg.read(cpu) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(reg.read(cpu))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:492:32 [INFO] [stderr] | [INFO] [stderr] 492 | Timing::Default => OPCODE_TIMES[opcode as usize] as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(OPCODE_TIMES[opcode as usize])` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:493:29 [INFO] [stderr] | [INFO] [stderr] 493 | Timing::Cond => OPCODE_COND_TIMES[opcode as usize] as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(OPCODE_COND_TIMES[opcode as usize])` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:768:20 [INFO] [stderr] | [INFO] [stderr] 768 | Timing::Cb(CB_OPCODE_TIMES[opcode as usize] as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(CB_OPCODE_TIMES[opcode as usize])` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:816:23 [INFO] [stderr] | [INFO] [stderr] 816 | self.reg.pc = p as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(p)` [INFO] [stderr] | [INFO] [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/gbc/cpu.rs:849:22 [INFO] [stderr] | [INFO] [stderr] 849 | let offset = (src.read(self) as i8) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from((src.read(self) as i8))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:872:17 [INFO] [stderr] | [INFO] [stderr] 872 | let a = dst.read(self) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(dst.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:873:17 [INFO] [stderr] | [INFO] [stderr] 873 | let b = src.read(self) as i16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(src.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:885:17 [INFO] [stderr] | [INFO] [stderr] 885 | let a = dst.read(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(dst.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:886:17 [INFO] [stderr] | [INFO] [stderr] 886 | let b = src.read(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(src.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:911:22 [INFO] [stderr] | [INFO] [stderr] 911 | let offset = (Imm8.read(self) as i8) as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((Imm8.read(self) as i8))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:912:18 [INFO] [stderr] | [INFO] [stderr] 912 | let sp = (self.reg.sp as i16) as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((self.reg.sp as i16))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:922:17 [INFO] [stderr] | [INFO] [stderr] 922 | let a = dst.read(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(dst.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:923:17 [INFO] [stderr] | [INFO] [stderr] 923 | let b = src.read(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(src.read(self))` [INFO] [stderr] | [INFO] [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/gbc/cpu.rs:935:17 [INFO] [stderr] | [INFO] [stderr] 935 | let a = dst.read(self) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(dst.read(self))` [INFO] [stderr] | [INFO] [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/gbc/cpu.rs:936:17 [INFO] [stderr] | [INFO] [stderr] 936 | let b = src.read(self) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(src.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:946:17 [INFO] [stderr] | [INFO] [stderr] 946 | let a = dst.read(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(dst.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:947:17 [INFO] [stderr] | [INFO] [stderr] 947 | let b = src.read(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(src.read(self))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:1046:21 [INFO] [stderr] | [INFO] [stderr] 1046 | let mut a = self.reg.a as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.reg.a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/gbc/cpu.rs:1060:17 [INFO] [stderr] | [INFO] [stderr] 1060 | a = a + 0x60; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `a += 0x60` [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: manual implementation of an assign operation [INFO] [stderr] --> src/gbc/cpu.rs:1064:17 [INFO] [stderr] | [INFO] [stderr] 1064 | a = a + 0x06 [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `a += 0x06` [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: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/gbc/cpu.rs:1172:31 [INFO] [stderr] | [INFO] [stderr] 1172 | self.reg.half_carry = (result & 0x0f) == 0x00; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `result.trailing_zeros() >= 4` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::verbose_bit_mask)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/cpu.rs:1230:19 [INFO] [stderr] | [INFO] [stderr] 1230 | let low = self.fetch_u8() as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.fetch_u8())` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:1231:20 [INFO] [stderr] | [INFO] [stderr] 1231 | let high = self.fetch_u8() as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.fetch_u8())` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:1254:19 [INFO] [stderr] | [INFO] [stderr] 1254 | let low = self.pop_u8() as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.pop_u8())` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/cpu.rs:1255:20 [INFO] [stderr] | [INFO] [stderr] 1255 | let high = self.pop_u8() as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.pop_u8())` [INFO] [stderr] | [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/gbc/ppu.rs:348:25 [INFO] [stderr] | [INFO] [stderr] 348 | self.ly = self.ly + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.ly += 1` [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/gbc/ppu.rs:361:25 [INFO] [stderr] | [INFO] [stderr] 361 | self.ly = self.ly + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.ly += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:402:9 [INFO] [stderr] | [INFO] [stderr] 402 | (self.vbk | 0x01) as u16 * 0x2000 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.vbk | 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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:453:29 [INFO] [stderr] | [INFO] [stderr] 453 | let tile_row: u16 = (y_pos / 8) as u16 * 32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(y_pos / 8)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:463:28 [INFO] [stderr] | [INFO] [stderr] 463 | let tile_col = (x_pos / 8) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(x_pos / 8)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:468:17 [INFO] [stderr] | [INFO] [stderr] 468 | self.read(tile_address) as u16 as i16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read(tile_address))` [INFO] [stderr] | [INFO] [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/gbc/ppu.rs:470:17 [INFO] [stderr] | [INFO] [stderr] 470 | self.read(tile_address) as i8 as i16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(self.read(tile_address) as i8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:479:25 [INFO] [stderr] | [INFO] [stderr] 479 | let line = (y_pos as u16 % 8) * 2; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(y_pos)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/gbc/ppu.rs:483:29 [INFO] [stderr] | [INFO] [stderr] 483 | let color_bit = ((x_pos as i32 % 8) - 7) * -1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:483:31 [INFO] [stderr] | [INFO] [stderr] 483 | let color_bit = ((x_pos as i32 % 8) - 7) * -1; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(x_pos)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:489:28 [INFO] [stderr] | [INFO] [stderr] 489 | self.set_pixel(pixel as u32, scanline as u32, color) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(pixel)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:489:42 [INFO] [stderr] | [INFO] [stderr] 489 | self.set_pixel(pixel as u32, scanline as u32, color) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(scanline)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:503:33 [INFO] [stderr] | [INFO] [stderr] 503 | let tile_location = self.oam[(index + 2) as usize] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.oam[(index + 2) as usize])` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:512:33 [INFO] [stderr] | [INFO] [stderr] 512 | let line: i32 = scanline as i32 - y_pos as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i32::from(scanline)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:512:51 [INFO] [stderr] | [INFO] [stderr] 512 | let line: i32 = scanline as i32 - y_pos as i32; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(y_pos)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/gbc/ppu.rs:515:21 [INFO] [stderr] | [INFO] [stderr] 515 | (line - y_size as i32) * -1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:515:29 [INFO] [stderr] | [INFO] [stderr] 515 | (line - y_size as i32) * -1 [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(y_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/gbc/ppu.rs:530:25 [INFO] [stderr] | [INFO] [stderr] 530 | (color_bit - 7) * -1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:559:43 [INFO] [stderr] | [INFO] [stderr] 559 | self.set_sprite_pixel(pixel as u32, scanline as u32, obj_to_bg_pri, color) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(pixel)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:559:57 [INFO] [stderr] | [INFO] [stderr] 559 | self.set_sprite_pixel(pixel as u32, scanline as u32, obj_to_bg_pri, color) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(scanline)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:608:18 [INFO] [stderr] | [INFO] [stderr] 608 | let c = ((color.a as u32) << 24) | ((color.r as u32) << 16) | ((color.g as u32) << 8) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(color.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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:608:45 [INFO] [stderr] | [INFO] [stderr] 608 | let c = ((color.a as u32) << 24) | ((color.r as u32) << 16) | ((color.g as u32) << 8) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(color.r)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gbc/ppu.rs:608:72 [INFO] [stderr] | [INFO] [stderr] 608 | let c = ((color.a as u32) << 24) | ((color.r as u32) << 16) | ((color.g as u32) << 8) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(color.g)` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/ppu.rs:609:17 [INFO] [stderr] | [INFO] [stderr] 609 | (color.b as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(color.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/gbc/interconnect.rs:144:25 [INFO] [stderr] | [INFO] [stderr] 144 | let dma_start = (self.ppu_dma as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.ppu_dma)` [INFO] [stderr] | [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/gbc/gamepad.rs:103:49 [INFO] [stderr] | [INFO] [stderr] 103 | Up | Down | Left | Right => self.input_port_1 = self.input_port_1 & mask, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.input_port_1 &= mask` [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/gbc/gamepad.rs:104:47 [INFO] [stderr] | [INFO] [stderr] 104 | A | B | Start | Select => self.input_port_2 = self.input_port_2 & mask, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.input_port_2 &= mask` [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/gbc/gamepad.rs:111:49 [INFO] [stderr] | [INFO] [stderr] 111 | Up | Down | Left | Right => self.input_port_1 = self.input_port_1 | flag, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.input_port_1 |= flag` [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/gbc/gamepad.rs:112:47 [INFO] [stderr] | [INFO] [stderr] 112 | A | B | Start | Select => self.input_port_2 = self.input_port_2 | flag, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.input_port_2 |= flag` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/disassembler.rs:11:21 [INFO] [stderr] | [INFO] [stderr] 11 | let n = interconnect.read(program_counter) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(interconnect.read(program_counter))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/disassembler.rs:16:23 [INFO] [stderr] | [INFO] [stderr] 16 | let low = interconnect.read(program_counter) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(interconnect.read(program_counter))` [INFO] [stderr] | [INFO] [stderr] = help: 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/gbc/disassembler.rs:17:24 [INFO] [stderr] | [INFO] [stderr] 17 | let high = interconnect.read(program_counter + 1) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(interconnect.read(program_counter + 1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/registers.rs:92:20 [INFO] [stderr] | [INFO] [stderr] 92 | AF => ((self.read_u8(A) as u16) << 8) | self.read_u8(F) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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/gbc/registers.rs:92:53 [INFO] [stderr] | [INFO] [stderr] 92 | AF => ((self.read_u8(A) as u16) << 8) | self.read_u8(F) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(F))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gbc/registers.rs:93:20 [INFO] [stderr] | [INFO] [stderr] 93 | BC => ((self.read_u8(B) as u16) << 8) | self.read_u8(C) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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/gbc/registers.rs:93:53 [INFO] [stderr] | [INFO] [stderr] 93 | BC => ((self.read_u8(B) as u16) << 8) | self.read_u8(C) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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/gbc/registers.rs:94:20 [INFO] [stderr] | [INFO] [stderr] 94 | DE => ((self.read_u8(D) as u16) << 8) | self.read_u8(E) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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/gbc/registers.rs:94:53 [INFO] [stderr] | [INFO] [stderr] 94 | DE => ((self.read_u8(D) as u16) << 8) | self.read_u8(E) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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/gbc/registers.rs:95:20 [INFO] [stderr] | [INFO] [stderr] 95 | HL => ((self.read_u8(H) as u16) << 8) | self.read_u8(L) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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/gbc/registers.rs:95:53 [INFO] [stderr] | [INFO] [stderr] 95 | HL => ((self.read_u8(H) as u16) << 8) | self.read_u8(L) as u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.read_u8(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: using `clone` on a `Copy` type [INFO] [stderr] --> src/gbc/mbc/mbc3.rs:83:40 [INFO] [stderr] | [INFO] [stderr] 83 | self.latched_rtc = self.rtc.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.rtc` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/gbc/mbc/mod.rs:66:25 [INFO] [stderr] | [INFO] [stderr] 66 | fn read(&self, rom: &Box<[u8]>, addr: u16) -> u8; [INFO] [stderr] | ^^^^^^^^^^ help: try: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:95:19 [INFO] [stderr] | [INFO] [stderr] 95 | let (tx, rx): (Sender>, Receiver>) = mpsc::channel(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used [INFO] [stderr] --> src/main.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | / make_events(keys.clone(), prev_keys) [INFO] [stderr] 136 | | .into_iter() [INFO] [stderr] 137 | | .map(|e| gamepad_tx.send(e).unwrap()) [INFO] [stderr] 138 | | .collect::>(); [INFO] [stderr] | |_____________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: you are collect()ing an iterator and throwing away the result. Consider using an explicit for loop to exhaust the iterator [INFO] [stderr] --> src/main.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | / make_events(keys.clone(), prev_keys) [INFO] [stderr] 136 | | .into_iter() [INFO] [stderr] 137 | | .map(|e| gamepad_tx.send(e).unwrap()) [INFO] [stderr] 138 | | .collect::>(); [INFO] [stderr] | |____________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_collect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_collect [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 8.61s [INFO] running `"docker" "inspect" "98efad7ea95fe07579ac4396ecd6699a5f57b3c8d7128cbe0bb759c78b36edf2"` [INFO] running `"docker" "rm" "-f" "98efad7ea95fe07579ac4396ecd6699a5f57b3c8d7128cbe0bb759c78b36edf2"` [INFO] [stdout] 98efad7ea95fe07579ac4396ecd6699a5f57b3c8d7128cbe0bb759c78b36edf2