[INFO] fetching crate evegfx 0.6.0... [INFO] linting evegfx-0.6.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate evegfx 0.6.0 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate evegfx 0.6.0 [INFO] finished tweaking crates.io crate evegfx 0.6.0 [INFO] tweaked toml for crates.io crate evegfx 0.6.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate evegfx 0.6.0 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 21 packages to latest compatible versions [INFO] [stderr] Adding memchr v2.3.4 (available: v2.8.0) [INFO] [stderr] Adding num_enum v0.5.11 (available: v0.7.6) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `num_enum` dependency) [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded evegfx-macros v0.3.0 [INFO] [stderr] Downloaded bitvec v0.19.6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a4df5b49f6f2bc81d9ed11eba2d85500a6634b0255747605f61acea6de073d72 [INFO] running `Command { std: "docker" "start" "-a" "a4df5b49f6f2bc81d9ed11eba2d85500a6634b0255747605f61acea6de073d72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a4df5b49f6f2bc81d9ed11eba2d85500a6634b0255747605f61acea6de073d72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a4df5b49f6f2bc81d9ed11eba2d85500a6634b0255747605f61acea6de073d72", kill_on_drop: false }` [INFO] [stdout] a4df5b49f6f2bc81d9ed11eba2d85500a6634b0255747605f61acea6de073d72 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b6f8dae5b2c2a25b07ad3c56a144e538e0445084fdd3f1e8d2ca0f42e1ea2f54 [INFO] running `Command { std: "docker" "start" "-a" "b6f8dae5b2c2a25b07ad3c56a144e538e0445084fdd3f1e8d2ca0f42e1ea2f54", kill_on_drop: false }` [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `num_enum` dependency) [INFO] [stderr] Compiling radium v0.5.3 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling lexical-core v0.7.6 [INFO] [stderr] Compiling tap v1.0.1 [INFO] [stderr] Compiling arrayvec v0.5.2 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling wyz v0.2.0 [INFO] [stderr] Compiling funty v1.1.0 [INFO] [stderr] Compiling nom v6.2.2 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling bitvec v0.19.6 [INFO] [stderr] Compiling num_enum_derive v0.5.11 [INFO] [stderr] Checking num_enum v0.5.11 [INFO] [stderr] Compiling evegfx-macros v0.3.0 [INFO] [stderr] Checking evegfx v0.6.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/coprocessor.rs:543:13 [INFO] [stdout] | [INFO] [stdout] 543 | ll: ll, [INFO] [stdout] | ^^^^^^ help: replace it with: `ll` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/coprocessor.rs:544:13 [INFO] [stdout] | [INFO] [stdout] 544 | wait: wait, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `wait` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/coprocessor.rs:587:13 [INFO] [stdout] | [INFO] [stdout] 587 | ll: ll, [INFO] [stdout] | ^^^^^^ help: replace it with: `ll` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/strfmt.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | fmt: fmt, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `fmt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/display_list/shape_builder.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | Self { builder: builder } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `builder` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/display_list.rs:760:16 [INFO] [stdout] | [INFO] [stdout] 760 | Self { w: w } [INFO] [stdout] | ^^^^ help: replace it with: `w` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/display_list.rs:1034:33 [INFO] [stdout] | [INFO] [stdout] 1034 | DLCmd::from_raw(0b00001000_000_0_1_1_100000000_011010000), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_1000_0000_1110_0000_0000_1101_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] = note: `#[warn(clippy::unusual_byte_groupings)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/display_list.rs:1035:33 [INFO] [stdout] | [INFO] [stdout] 1035 | DLCmd::from_raw(0b00101001_00000000000000000000_01_01) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0010_1001_0000_0000_0000_0000_0000_0101` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graphics/bitmap.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | width: width, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `width` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graphics/bitmap.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | height: height, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graphics/pos.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graphics/pos.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graphics/pos.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | w: w, [INFO] [stdout] | ^^^^ help: replace it with: `w` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graphics/pos.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | h: h, [INFO] [stdout] | ^^^^ help: replace it with: `h` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/coprocessor.rs:543:13 [INFO] [stdout] | [INFO] [stdout] 543 | ll: ll, [INFO] [stdout] | ^^^^^^ help: replace it with: `ll` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/coprocessor.rs:544:13 [INFO] [stdout] | [INFO] [stdout] 544 | wait: wait, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `wait` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/coprocessor.rs:587:13 [INFO] [stdout] | [INFO] [stdout] 587 | ll: ll, [INFO] [stdout] | ^^^^^^ help: replace it with: `ll` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/strfmt.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | fmt: fmt, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `fmt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/display_list/shape_builder.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | Self { builder: builder } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `builder` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/display_list.rs:760:16 [INFO] [stdout] | [INFO] [stdout] 760 | Self { w: w } [INFO] [stdout] | ^^^^ help: replace it with: `w` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graphics/bitmap.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | width: width, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `width` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graphics/bitmap.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | height: height, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graphics/pos.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graphics/pos.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graphics/pos.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | w: w, [INFO] [stdout] | ^^^^ help: replace it with: `w` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/graphics/pos.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | h: h, [INFO] [stdout] | ^^^^ help: replace it with: `h` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this attribute can only be applied to a `use` item [INFO] [stdout] --> src/lib.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | #[doc(inline)] [INFO] [stdout] | ^^^^^^ only applicable on `use` items [INFO] [stdout] 47 | pub type BT816 = BT815; [INFO] [stdout] | -------------- not a `use` item [INFO] [stdout] | [INFO] [stdout] = note: read for more information [INFO] [stdout] = note: `#[warn(invalid_doc_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this attribute can only be applied to a `use` item [INFO] [stdout] --> src/lib.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | #[doc(inline)] [INFO] [stdout] | ^^^^^^ only applicable on `use` items [INFO] [stdout] 47 | pub type BT816 = BT815; [INFO] [stdout] | -------------- not a `use` item [INFO] [stdout] | [INFO] [stdout] = note: read for more information [INFO] [stdout] = note: `#[warn(invalid_doc_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unknown `doc` attribute `hide` [INFO] [stdout] --> src/commands/coprocessor.rs:913:7 [INFO] [stdout] | [INFO] [stdout] 913 | #[doc(hide)] [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unknown `doc` attribute `hide` [INFO] [stdout] --> src/commands/coprocessor.rs:913:7 [INFO] [stdout] | [INFO] [stdout] 913 | #[doc(hide)] [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Exhaustive` is never used [INFO] [stdout] --> src/models.rs:72:21 [INFO] [stdout] | [INFO] [stdout] 72 | pub(crate) enum Exhaustive {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MainMem` is never used [INFO] [stdout] --> src/models.rs:93:21 [INFO] [stdout] | [INFO] [stdout] 93 | pub(crate) enum MainMem {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DisplayListMem` is never used [INFO] [stdout] --> src/models.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | pub(crate) enum DisplayListMem {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RegisterMem` is never used [INFO] [stdout] --> src/models.rs:115:21 [INFO] [stdout] | [INFO] [stdout] 115 | pub(crate) enum RegisterMem {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CommandMem` is never used [INFO] [stdout] --> src/models.rs:126:21 [INFO] [stdout] | [INFO] [stdout] 126 | pub(crate) enum CommandMem {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CommandErrMem` is never used [INFO] [stdout] --> src/models.rs:137:21 [INFO] [stdout] | [INFO] [stdout] 137 | pub(crate) enum CommandErrMem {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ExtFlashMem` is never used [INFO] [stdout] --> src/models.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | pub(crate) enum ExtFlashMem {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/commands/coprocessor.rs:111:37 [INFO] [stdout] | [INFO] [stdout] 111 | let delay = if delay > (core::u32::MAX as u128) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 111 - let delay = if delay > (core::u32::MAX as u128) { [INFO] [stdout] 111 + let delay = if delay > (u32::MAX as u128) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/commands/coprocessor.rs:112:17 [INFO] [stdout] | [INFO] [stdout] 112 | core::u32::MAX [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 112 - core::u32::MAX [INFO] [stdout] 112 + u32::MAX [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:116:32 [INFO] [stdout] | [INFO] [stdout] 116 | cp.write_to_buffer(0xFFFFFF02 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF02_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:126:54 [INFO] [stdout] | [INFO] [stdout] 126 | self.write_stream(4, |cp| cp.write_to_buffer(0xFFFFFF32 as u32)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF32_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:148:32 [INFO] [stdout] | [INFO] [stdout] 148 | cp.write_to_buffer(0xFFFFFF1E as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF1E_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:158:32 [INFO] [stdout] | [INFO] [stdout] 158 | cp.write_to_buffer(0xFFFFFF1A as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF1A_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:211:32 [INFO] [stdout] | [INFO] [stdout] 211 | cp.write_to_buffer(0xFFFFFF1A as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF1A_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:253:32 [INFO] [stdout] | [INFO] [stdout] 253 | cp.write_to_buffer(0xFFFFFF22 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF22_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:288:32 [INFO] [stdout] | [INFO] [stdout] 288 | cp.write_to_buffer(0xFFFFFF24 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF24_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:298:54 [INFO] [stdout] | [INFO] [stdout] 298 | self.write_stream(4, |cp| cp.write_to_buffer(0xFFFFFF61 as u32)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF61_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:302:54 [INFO] [stdout] | [INFO] [stdout] 302 | self.write_stream(4, |cp| cp.write_to_buffer(0xFFFFFF31 as u32)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF31_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:308:32 [INFO] [stdout] | [INFO] [stdout] 308 | cp.write_to_buffer(0xFFFFFF16 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF16_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:326:54 [INFO] [stdout] | [INFO] [stdout] 326 | self.write_stream(4, |cp| cp.write_to_buffer(0xFFFFFF00 as u32)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF00_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:337:54 [INFO] [stdout] | [INFO] [stdout] 337 | self.write_stream(4, |cp| cp.write_to_buffer(0xFFFFFF01 as u32)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF01_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:349:32 [INFO] [stdout] | [INFO] [stdout] 349 | cp.write_to_buffer(0xFFFFFF0D as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF0D_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:391:32 [INFO] [stdout] | [INFO] [stdout] 391 | cp.write_to_buffer(0xFFFFFF0C as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF0C_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:410:32 [INFO] [stdout] | [INFO] [stdout] 410 | cp.write_to_buffer(0xFFFFFF65 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF65_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:416:54 [INFO] [stdout] | [INFO] [stdout] 416 | self.write_stream(4, |cp| cp.write_to_buffer(0xFFFFFF42 as u32)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF42_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:461:32 [INFO] [stdout] | [INFO] [stdout] 461 | cp.write_to_buffer(0xFFFFFF19 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF19_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:463:32 [INFO] [stdout] | [INFO] [stdout] 463 | cp.write_to_buffer(0xf0f0f0f0 as u32) // space for the result to be written [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xf0f0f0f0_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:485:32 [INFO] [stdout] | [INFO] [stdout] 485 | cp.write_to_buffer(0xFFFFFF18 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:488:32 [INFO] [stdout] | [INFO] [stdout] 488 | cp.write_to_buffer(0xf0f0f0f0 as u32) // space for the result to be written [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xf0f0f0f0_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/commands/coprocessor.rs:600:9 [INFO] [stdout] | [INFO] [stdout] 600 | return Ok(self.ll.take_interface()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 600 - return Ok(self.ll.take_interface()); [INFO] [stdout] 600 + Ok(self.ll.take_interface()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/commands/coprocessor.rs:714:59 [INFO] [stdout] | [INFO] [stdout] 714 | let (ll, wait) = self.borrow_low_level_and_waiter(&stopped); [INFO] [stdout] | ^^^^^^^^ help: change this to: `stopped` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/commands/coprocessor.rs:773:42 [INFO] [stdout] | [INFO] [stdout] 773 | self.write_bytes_chunked(msg.fmt.into_iter())?; [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> src/commands/coprocessor.rs:779:51 [INFO] [stdout] | [INFO] [stdout] 779 | Int(v) => unsafe { core::mem::transmute(v) }, [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] = note: `#[warn(clippy::missing_transmute_annotations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:866:32 [INFO] [stdout] | [INFO] [stdout] 866 | cp.write_to_buffer(0xFFFFFF63 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF63_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:867:32 [INFO] [stdout] | [INFO] [stdout] 867 | cp.write_to_buffer(1 as u32) [INFO] [stdout] | ^^^^^^^^ help: try: `1_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:890:32 [INFO] [stdout] | [INFO] [stdout] 890 | cp.write_to_buffer(0xFFFFFF63 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF63_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:891:32 [INFO] [stdout] | [INFO] [stdout] 891 | cp.write_to_buffer(2 as u32) [INFO] [stdout] | ^^^^^^^^ help: try: `2_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/commands/coprocessor.rs:908:21 [INFO] [stdout] | [INFO] [stdout] 908 | pub fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 908 - pub fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stdout] 908 + pub fn as_bytes(&self) -> &[u8] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/commands/coprocessor.rs:916:17 [INFO] [stdout] | [INFO] [stdout] 916 | fn as_bytes<'a>(&'a self) -> &'a [u8]; [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 916 - fn as_bytes<'a>(&'a self) -> &'a [u8]; [INFO] [stdout] 916 + fn as_bytes(&self) -> &[u8]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/commands/coprocessor.rs:917:25 [INFO] [stdout] | [INFO] [stdout] 917 | fn as_storage_bytes<'a>(&'a mut self) -> &'a mut [u8]; [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 917 - fn as_storage_bytes<'a>(&'a mut self) -> &'a mut [u8]; [INFO] [stdout] 917 + fn as_storage_bytes(&mut self) -> &mut [u8]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/commands/coprocessor.rs:927:17 [INFO] [stdout] | [INFO] [stdout] 927 | fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 927 - fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stdout] 927 + fn as_bytes(&self) -> &[u8] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/commands/coprocessor.rs:941:25 [INFO] [stdout] | [INFO] [stdout] 941 | fn as_storage_bytes<'a>(&'a mut self) -> &'a mut [u8] { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 941 - fn as_storage_bytes<'a>(&'a mut self) -> &'a mut [u8] { [INFO] [stdout] 941 + fn as_storage_bytes(&mut self) -> &mut [u8] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/commands/options.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | / impl core::default::Default for LoadImage { [INFO] [stdout] 48 | | fn default() -> Self { [INFO] [stdout] 49 | | Self(0) [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 39 + #[derive(Default)] [INFO] [stdout] 40 | pub struct LoadImage(u32); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/commands/strfmt.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 89 | if let Some(_) = self.args { [INFO] [stdout] | -------^^^^^^^------------ help: try: `if self.args.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/commands/command_word.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | (inner + (SIZE - 1)) / SIZE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `inner.div_ceil(SIZE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/commands/command_word.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | return Some(CommandWord(raw)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 98 - return Some(CommandWord(raw)); [INFO] [stdout] 98 + Some(CommandWord(raw)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/commands/command_word.rs:87:21 [INFO] [stdout] | [INFO] [stdout] 87 | raw = raw | ((*byte as u32) << (i * 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `raw |= ((*byte as u32) << (i * 8))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/command_word.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | / match inner.1 { [INFO] [stdout] 106 | | Some(v) => Some(Self::translate_size(v)), [INFO] [stdout] 107 | | None => None, [INFO] [stdout] 108 | | }, [INFO] [stdout] | |_____________^ help: try: `inner.1.map(Self::translate_size)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/config.rs:94:24 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn pclk_spread<'a>(&'a mut self, v: bool) -> &'a mut Self { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 94 - pub fn pclk_spread<'a>(&'a mut self, v: bool) -> &'a mut Self { [INFO] [stdout] 94 + pub fn pclk_spread(&mut self, v: bool) -> &mut Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/config.rs:99:25 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn channel_bits<'a>(&'a mut self, r: u8, g: u8, b: u8) -> &'a mut Self { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 99 - pub fn channel_bits<'a>(&'a mut self, r: u8, g: u8, b: u8) -> &'a mut Self { [INFO] [stdout] 99 + pub fn channel_bits(&mut self, r: u8, g: u8, b: u8) -> &mut Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/config.rs:104:19 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn dither<'a>(&'a mut self, v: bool) -> &'a mut Self { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 104 - pub fn dither<'a>(&'a mut self, v: bool) -> &'a mut Self { [INFO] [stdout] 104 + pub fn dither(&mut self, v: bool) -> &mut Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 240 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 240 - return Ok(false); [INFO] [stdout] 240 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/display_list/options.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | (bits + 7) / 8 [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `bits.div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/display_list/options.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | / match self { [INFO] [stdout] 154 | | Self::GLFormat => true, [INFO] [stdout] 155 | | _ => false, [INFO] [stdout] 156 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 153 - match self { [INFO] [stdout] 154 - Self::GLFormat => true, [INFO] [stdout] 155 - _ => false, [INFO] [stdout] 156 - } [INFO] [stdout] 153 + matches!(self, Self::GLFormat) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `Range::contains` implementation [INFO] [stdout] --> src/display_list/options.rs:532:12 [INFO] [stdout] | [INFO] [stdout] 532 | if v < 1.0 && v >= -1.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `(-1.0..1.0).contains(&v)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/display_list.rs:195:69 [INFO] [stdout] | [INFO] [stdout] 195 | .build((color.r as u32) << 16 | (color.g as u32) << 8 | (color.b as u32) << 0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((color.b as u32))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/display_list.rs:227:69 [INFO] [stdout] | [INFO] [stdout] 227 | .build((color.r as u32) << 16 | (color.g as u32) << 8 | (color.b as u32) << 0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((color.b as u32))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> src/display_list.rs:780:1 [INFO] [stdout] | [INFO] [stdout] 780 | impl Into for DLCmd { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 780 ~ impl From for u32 { [INFO] [stdout] 781 ~ fn from(val: DLCmd) -> Self { [INFO] [stdout] 782 ~ val.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BEGIN` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:797:5 [INFO] [stdout] | [INFO] [stdout] 797 | BEGIN = 0x1F, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Begin` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CALL` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:813:5 [INFO] [stdout] | [INFO] [stdout] 813 | CALL = 0x1d, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Call` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CELL` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:814:5 [INFO] [stdout] | [INFO] [stdout] 814 | CELL = 0x06, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Cell` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CLEAR` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:815:5 [INFO] [stdout] | [INFO] [stdout] 815 | CLEAR = 0x26, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Clear` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DISPLAY` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:823:5 [INFO] [stdout] | [INFO] [stdout] 823 | DISPLAY = 0x00, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Display` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `END` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:824:5 [INFO] [stdout] | [INFO] [stdout] 824 | END = 0x21, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `End` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `JUMP` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:825:5 [INFO] [stdout] | [INFO] [stdout] 825 | JUMP = 0x1e, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Jump` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `MACRO` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:827:5 [INFO] [stdout] | [INFO] [stdout] 827 | MACRO = 0x25, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Macro` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NOP` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:828:5 [INFO] [stdout] | [INFO] [stdout] 828 | NOP = 0x2d, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Nop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RETURN` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:832:5 [INFO] [stdout] | [INFO] [stdout] 832 | RETURN = 0x24, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Return` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `TAG` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:839:5 [INFO] [stdout] | [INFO] [stdout] 839 | TAG = 0x03, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Tag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/graphics/bitmap.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | return self.height * self.stride; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return self.height * self.stride; [INFO] [stdout] 54 + self.height * self.stride [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/graphics/bitmap.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | return self.image_data.slice_length(self.byte_length()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 62 - return self.image_data.slice_length(self.byte_length()); [INFO] [stdout] 62 + self.image_data.slice_length(self.byte_length()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/interface/fake.rs:32:39 [INFO] [stdout] | [INFO] [stdout] 32 | let mut regs: [u32; 1 * KB] = [0; 1 * KB]; [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `KB` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/interface/fake.rs:32:25 [INFO] [stdout] | [INFO] [stdout] 32 | let mut regs: [u32; 1 * KB] = [0; 1 * KB]; [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `KB` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/interface/fake.rs:182:16 [INFO] [stdout] | [INFO] [stdout] 182 | if let Some(_) = self.write_addr { [INFO] [stdout] | -------^^^^^^^------------------ help: try: `if self.write_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/interface/fake.rs:185:16 [INFO] [stdout] | [INFO] [stdout] 185 | if let Some(_) = self.read_addr { [INFO] [stdout] | -------^^^^^^^----------------- help: try: `if self.read_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/interface/fake.rs:223:16 [INFO] [stdout] | [INFO] [stdout] 223 | if let Some(_) = self.write_addr { [INFO] [stdout] | -------^^^^^^^------------------ help: try: `if self.write_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/interface/fake.rs:232:16 [INFO] [stdout] | [INFO] [stdout] 232 | if let Some(_) = self.write_addr { [INFO] [stdout] | -------^^^^^^^------------------ help: try: `if self.write_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/interface/fake.rs:235:16 [INFO] [stdout] | [INFO] [stdout] 235 | if let Some(_) = self.read_addr { [INFO] [stdout] | -------^^^^^^^----------------- help: try: `if self.read_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/interface/fake.rs:273:16 [INFO] [stdout] | [INFO] [stdout] 273 | if let Some(_) = self.read_addr { [INFO] [stdout] | -------^^^^^^^----------------- help: try: `if self.read_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/commands.rs:649:26 [INFO] [stdout] | [INFO] [stdout] 649 | pub struct MockError(&'static str); [INFO] [stdout] | --------- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `MockError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/commands/coprocessor.rs:111:37 [INFO] [stdout] | [INFO] [stdout] 111 | let delay = if delay > (core::u32::MAX as u128) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 111 - let delay = if delay > (core::u32::MAX as u128) { [INFO] [stdout] 111 + let delay = if delay > (u32::MAX as u128) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/commands/coprocessor.rs:112:17 [INFO] [stdout] | [INFO] [stdout] 112 | core::u32::MAX [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 112 - core::u32::MAX [INFO] [stdout] 112 + u32::MAX [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:116:32 [INFO] [stdout] | [INFO] [stdout] 116 | cp.write_to_buffer(0xFFFFFF02 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF02_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:126:54 [INFO] [stdout] | [INFO] [stdout] 126 | self.write_stream(4, |cp| cp.write_to_buffer(0xFFFFFF32 as u32)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF32_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:148:32 [INFO] [stdout] | [INFO] [stdout] 148 | cp.write_to_buffer(0xFFFFFF1E as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF1E_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:158:32 [INFO] [stdout] | [INFO] [stdout] 158 | cp.write_to_buffer(0xFFFFFF1A as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF1A_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:211:32 [INFO] [stdout] | [INFO] [stdout] 211 | cp.write_to_buffer(0xFFFFFF1A as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF1A_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/interface/fake.rs:468:12 [INFO] [stdout] | [INFO] [stdout] 468 | if (offset % 4) != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace with: `!offset.is_multiple_of(4)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:253:32 [INFO] [stdout] | [INFO] [stdout] 253 | cp.write_to_buffer(0xFFFFFF22 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF22_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `into` [INFO] [stdout] --> src/interface/fake.rs:482:18 [INFO] [stdout] | [INFO] [stdout] 482 | for i in 0..len { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 482 - for i in 0..len { [INFO] [stdout] 482 + for (i, ) in into.iter_mut().enumerate().take(len) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:288:32 [INFO] [stdout] | [INFO] [stdout] 288 | cp.write_to_buffer(0xFFFFFF24 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF24_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/interface/fake.rs:525:25 [INFO] [stdout] | [INFO] [stdout] 525 | Err(err) => return Err(Self::Error::Hook(err)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 525 - Err(err) => return Err(Self::Error::Hook(err)), [INFO] [stdout] 525 + Err(err) => Err(Self::Error::Hook(err)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:298:54 [INFO] [stdout] | [INFO] [stdout] 298 | self.write_stream(4, |cp| cp.write_to_buffer(0xFFFFFF61 as u32)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF61_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/interface/fake.rs:491:12 [INFO] [stdout] | [INFO] [stdout] 491 | if (offset % 4) != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace with: `!offset.is_multiple_of(4)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:302:54 [INFO] [stdout] | [INFO] [stdout] 302 | self.write_stream(4, |cp| cp.write_to_buffer(0xFFFFFF31 as u32)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF31_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:308:32 [INFO] [stdout] | [INFO] [stdout] 308 | cp.write_to_buffer(0xFFFFFF16 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF16_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/interface/fake.rs:518:25 [INFO] [stdout] | [INFO] [stdout] 518 | let shift = (i * 8) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `(i * 8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:326:54 [INFO] [stdout] | [INFO] [stdout] 326 | self.write_stream(4, |cp| cp.write_to_buffer(0xFFFFFF00 as u32)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF00_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/interface/fake.rs:520:13 [INFO] [stdout] | [INFO] [stdout] 520 | val = val & mask; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `val &= mask` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:337:54 [INFO] [stdout] | [INFO] [stdout] 337 | self.write_stream(4, |cp| cp.write_to_buffer(0xFFFFFF01 as u32)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF01_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/interface/fake.rs:521:13 [INFO] [stdout] | [INFO] [stdout] 521 | val = val | ((*v as u32) << shift); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `val |= ((*v as u32) << shift)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:349:32 [INFO] [stdout] | [INFO] [stdout] 349 | cp.write_to_buffer(0xFFFFFF0D as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF0D_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:391:32 [INFO] [stdout] | [INFO] [stdout] 391 | cp.write_to_buffer(0xFFFFFF0C as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF0C_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:410:32 [INFO] [stdout] | [INFO] [stdout] 410 | cp.write_to_buffer(0xFFFFFF65 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF65_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/interface.rs:47:19 [INFO] [stdout] | [INFO] [stdout] 47 | into[2] = (addr >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:416:54 [INFO] [stdout] | [INFO] [stdout] 416 | self.write_stream(4, |cp| cp.write_to_buffer(0xFFFFFF42 as u32)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF42_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/interface.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 57 | into[2] = (addr >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:461:32 [INFO] [stdout] | [INFO] [stdout] 461 | cp.write_to_buffer(0xFFFFFF19 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF19_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:463:32 [INFO] [stdout] | [INFO] [stdout] 463 | cp.write_to_buffer(0xf0f0f0f0 as u32) // space for the result to be written [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xf0f0f0f0_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:485:32 [INFO] [stdout] | [INFO] [stdout] 485 | cp.write_to_buffer(0xFFFFFF18 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:488:32 [INFO] [stdout] | [INFO] [stdout] 488 | cp.write_to_buffer(0xf0f0f0f0 as u32) // space for the result to be written [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xf0f0f0f0_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/commands/coprocessor.rs:600:9 [INFO] [stdout] | [INFO] [stdout] 600 | return Ok(self.ll.take_interface()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 600 - return Ok(self.ll.take_interface()); [INFO] [stdout] 600 + Ok(self.ll.take_interface()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/low_level.rs:68:29 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn borrow_interface<'a>(&'a mut self) -> &'a mut I { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 68 - pub fn borrow_interface<'a>(&'a mut self) -> &'a mut I { [INFO] [stdout] 68 + pub fn borrow_interface(&mut self) -> &mut I { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/commands/coprocessor.rs:714:59 [INFO] [stdout] | [INFO] [stdout] 714 | let (ll, wait) = self.borrow_low_level_and_waiter(&stopped); [INFO] [stdout] | ^^^^^^^^ help: change this to: `stopped` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/commands/coprocessor.rs:773:42 [INFO] [stdout] | [INFO] [stdout] 773 | self.write_bytes_chunked(msg.fmt.into_iter())?; [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> src/commands/coprocessor.rs:779:51 [INFO] [stdout] | [INFO] [stdout] 779 | Int(v) => unsafe { core::mem::transmute(v) }, [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] = note: `#[warn(clippy::missing_transmute_annotations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:866:32 [INFO] [stdout] | [INFO] [stdout] 866 | cp.write_to_buffer(0xFFFFFF63 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF63_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:867:32 [INFO] [stdout] | [INFO] [stdout] 867 | cp.write_to_buffer(1 as u32) [INFO] [stdout] | ^^^^^^^^ help: try: `1_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:890:32 [INFO] [stdout] | [INFO] [stdout] 890 | cp.write_to_buffer(0xFFFFFF63 as u32)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0xFFFFFF63_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/commands/coprocessor.rs:891:32 [INFO] [stdout] | [INFO] [stdout] 891 | cp.write_to_buffer(2 as u32) [INFO] [stdout] | ^^^^^^^^ help: try: `2_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/commands/coprocessor.rs:908:21 [INFO] [stdout] | [INFO] [stdout] 908 | pub fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 908 - pub fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stdout] 908 + pub fn as_bytes(&self) -> &[u8] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/commands/coprocessor.rs:916:17 [INFO] [stdout] | [INFO] [stdout] 916 | fn as_bytes<'a>(&'a self) -> &'a [u8]; [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 916 - fn as_bytes<'a>(&'a self) -> &'a [u8]; [INFO] [stdout] 916 + fn as_bytes(&self) -> &[u8]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/memory/ptr.rs:62:19 [INFO] [stdout] | [INFO] [stdout] 62 | into[2] = (self.addr >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider reducing it to: `self.addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/commands/coprocessor.rs:917:25 [INFO] [stdout] | [INFO] [stdout] 917 | fn as_storage_bytes<'a>(&'a mut self) -> &'a mut [u8]; [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 917 - fn as_storage_bytes<'a>(&'a mut self) -> &'a mut [u8]; [INFO] [stdout] 917 + fn as_storage_bytes(&mut self) -> &mut [u8]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/commands/coprocessor.rs:927:17 [INFO] [stdout] | [INFO] [stdout] 927 | fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 927 - fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stdout] 927 + fn as_bytes(&self) -> &[u8] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/memory/ptr.rs:72:19 [INFO] [stdout] | [INFO] [stdout] 72 | into[2] = (self.addr >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider reducing it to: `self.addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/commands/coprocessor.rs:941:25 [INFO] [stdout] | [INFO] [stdout] 941 | fn as_storage_bytes<'a>(&'a mut self) -> &'a mut [u8] { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 941 - fn as_storage_bytes<'a>(&'a mut self) -> &'a mut [u8] { [INFO] [stdout] 941 + fn as_storage_bytes(&mut self) -> &mut [u8] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: items after a test module [INFO] [stdout] --> src/commands/options.rs:141:1 [INFO] [stdout] | [INFO] [stdout] 141 | mod tests { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | const OPT_NODL: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 167 | const OPT_NOTEAR: u32 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 168 | const OPT_FULLSCREEN: u32 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 169 | const OPT_SOUND: u32 = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_test_module [INFO] [stdout] = note: `#[warn(clippy::items_after_test_module)]` on by default [INFO] [stdout] = help: move the items to before the test module was defined [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/commands/options.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | / impl core::default::Default for LoadImage { [INFO] [stdout] 48 | | fn default() -> Self { [INFO] [stdout] 49 | | Self(0) [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 39 + #[derive(Default)] [INFO] [stdout] 40 | pub struct LoadImage(u32); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Slice` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/memory/slice.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn len(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] = note: `#[warn(clippy::len_without_is_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/commands/strfmt.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 89 | if let Some(_) = self.args { [INFO] [stdout] | -------^^^^^^^------------ help: try: `if self.args.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/commands/command_word.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | (inner + (SIZE - 1)) / SIZE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `inner.div_ceil(SIZE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/commands/command_word.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | return Some(CommandWord(raw)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 98 - return Some(CommandWord(raw)); [INFO] [stdout] 98 + Some(CommandWord(raw)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/commands/command_word.rs:87:21 [INFO] [stdout] | [INFO] [stdout] 87 | raw = raw | ((*byte as u32) << (i * 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `raw |= ((*byte as u32) << (i * 8))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/command_word.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | / match inner.1 { [INFO] [stdout] 106 | | Some(v) => Some(Self::translate_size(v)), [INFO] [stdout] 107 | | None => None, [INFO] [stdout] 108 | | }, [INFO] [stdout] | |_____________^ help: try: `inner.1.map(Self::translate_size)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/error.rs:28:16 [INFO] [stdout] | [INFO] [stdout] 28 | match (&*self,) { [INFO] [stdout] | ^^^^^^ help: if you would like to reborrow, try removing `&*`: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/error.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | (&Error::Interface(ref __self_0),) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 29 - (&Error::Interface(ref __self_0),) => { [INFO] [stdout] 29 + (Error::Interface(__self_0),) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/error.rs:31:52 [INFO] [stdout] | [INFO] [stdout] 31 | let _ = debug_trait_builder.field(&&(*__self_0)); [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `__self_0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/error.rs:117:16 [INFO] [stdout] | [INFO] [stdout] 117 | match (&*self,) { [INFO] [stdout] | ^^^^^^ help: if you would like to reborrow, try removing `&*`: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/error.rs:122:14 [INFO] [stdout] | [INFO] [stdout] 122 | (&CoprocessorError::Interface(ref __self_0),) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 122 - (&CoprocessorError::Interface(ref __self_0),) => { [INFO] [stdout] 122 + (CoprocessorError::Interface(__self_0),) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/error.rs:124:52 [INFO] [stdout] | [INFO] [stdout] 124 | let _ = debug_trait_builder.field(&&(*__self_0)); [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `__self_0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/error.rs:127:14 [INFO] [stdout] | [INFO] [stdout] 127 | (&CoprocessorError::Waiter(ref __self_0),) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 127 - (&CoprocessorError::Waiter(ref __self_0),) => { [INFO] [stdout] 127 + (CoprocessorError::Waiter(__self_0),) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/error.rs:129:52 [INFO] [stdout] | [INFO] [stdout] 129 | let _ = debug_trait_builder.field(&&(*__self_0)); [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `__self_0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/lib.rs:103:29 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn borrow_interface<'a>(&'a mut self) -> &'a mut I { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 103 - pub fn borrow_interface<'a>(&'a mut self) -> &'a mut I { [INFO] [stdout] 103 + pub fn borrow_interface(&mut self) -> &mut I { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/lib.rs:113:29 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn borrow_low_level<'a>(&'a mut self) -> &'a mut low_level::LowLevel { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 113 - pub fn borrow_low_level<'a>(&'a mut self) -> &'a mut low_level::LowLevel { [INFO] [stdout] 113 + pub fn borrow_low_level(&mut self) -> &mut low_level::LowLevel { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lib.rs:219:10 [INFO] [stdout] | [INFO] [stdout] 219 | ) -> commands::Result< [INFO] [stdout] | __________^ [INFO] [stdout] 220 | | commands::Coprocessor>, [INFO] [stdout] 221 | | M, [INFO] [stdout] 222 | | I, [INFO] [stdout] 223 | | commands::waiter::PollingWaiter, [INFO] [stdout] 224 | | > { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/commands/coprocessor.rs:779:40 [INFO] [stdout] | [INFO] [stdout] 779 | Int(v) => unsafe { core::mem::transmute(v) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 779 - Int(v) => unsafe { core::mem::transmute(v) }, [INFO] [stdout] 779 + Int(v) => unsafe { i32::cast_unsigned(v) }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/commands.rs:655:20 [INFO] [stdout] | [INFO] [stdout] 655 | if let Some(_) = self.write_addr { [INFO] [stdout] | -------^^^^^^^------------------ help: try: `if self.write_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/commands.rs:658:20 [INFO] [stdout] | [INFO] [stdout] 658 | if let Some(_) = self.read_addr { [INFO] [stdout] | -------^^^^^^^----------------- help: try: `if self.read_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/commands.rs:709:20 [INFO] [stdout] | [INFO] [stdout] 709 | if let Some(_) = self.write_addr { [INFO] [stdout] | -------^^^^^^^------------------ help: try: `if self.write_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/commands.rs:712:20 [INFO] [stdout] | [INFO] [stdout] 712 | if let Some(_) = self.read_addr { [INFO] [stdout] | -------^^^^^^^----------------- help: try: `if self.read_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let .. else` expression looks like `matches!` macro [INFO] [stdout] --> src/commands.rs:839:21 [INFO] [stdout] | [INFO] [stdout] 839 | / if let MockInterfaceCall::StartStream = other { [INFO] [stdout] 840 | | true [INFO] [stdout] 841 | | } else { [INFO] [stdout] 842 | | false [INFO] [stdout] 843 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 839 - if let MockInterfaceCall::StartStream = other { [INFO] [stdout] 840 - true [INFO] [stdout] 841 - } else { [INFO] [stdout] 842 - false [INFO] [stdout] 843 - } [INFO] [stdout] 839 + matches!(other, MockInterfaceCall::StartStream) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let .. else` expression looks like `matches!` macro [INFO] [stdout] --> src/commands.rs:846:21 [INFO] [stdout] | [INFO] [stdout] 846 | / if let MockInterfaceCall::StopStream = other { [INFO] [stdout] 847 | | true [INFO] [stdout] 848 | | } else { [INFO] [stdout] 849 | | false [INFO] [stdout] 850 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 846 - if let MockInterfaceCall::StopStream = other { [INFO] [stdout] 847 - true [INFO] [stdout] 848 - } else { [INFO] [stdout] 849 - false [INFO] [stdout] 850 - } [INFO] [stdout] 846 + matches!(other, MockInterfaceCall::StopStream) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/config.rs:94:24 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn pclk_spread<'a>(&'a mut self, v: bool) -> &'a mut Self { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 94 - pub fn pclk_spread<'a>(&'a mut self, v: bool) -> &'a mut Self { [INFO] [stdout] 94 + pub fn pclk_spread(&mut self, v: bool) -> &mut Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/config.rs:99:25 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn channel_bits<'a>(&'a mut self, r: u8, g: u8, b: u8) -> &'a mut Self { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 99 - pub fn channel_bits<'a>(&'a mut self, r: u8, g: u8, b: u8) -> &'a mut Self { [INFO] [stdout] 99 + pub fn channel_bits(&mut self, r: u8, g: u8, b: u8) -> &mut Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/config.rs:104:19 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn dither<'a>(&'a mut self, v: bool) -> &'a mut Self { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 104 - pub fn dither<'a>(&'a mut self, v: bool) -> &'a mut Self { [INFO] [stdout] 104 + pub fn dither(&mut self, v: bool) -> &mut Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 240 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 240 - return Ok(false); [INFO] [stdout] 240 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/display_list/options.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | (bits + 7) / 8 [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `bits.div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/display_list/options.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | / match self { [INFO] [stdout] 154 | | Self::GLFormat => true, [INFO] [stdout] 155 | | _ => false, [INFO] [stdout] 156 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 153 - match self { [INFO] [stdout] 154 - Self::GLFormat => true, [INFO] [stdout] 155 - _ => false, [INFO] [stdout] 156 - } [INFO] [stdout] 153 + matches!(self, Self::GLFormat) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `Range::contains` implementation [INFO] [stdout] --> src/display_list/options.rs:532:12 [INFO] [stdout] | [INFO] [stdout] 532 | if v < 1.0 && v >= -1.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `(-1.0..1.0).contains(&v)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/display_list.rs:195:69 [INFO] [stdout] | [INFO] [stdout] 195 | .build((color.r as u32) << 16 | (color.g as u32) << 8 | (color.b as u32) << 0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((color.b as u32))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/display_list.rs:227:69 [INFO] [stdout] | [INFO] [stdout] 227 | .build((color.r as u32) << 16 | (color.g as u32) << 8 | (color.b as u32) << 0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((color.b as u32))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> src/display_list.rs:780:1 [INFO] [stdout] | [INFO] [stdout] 780 | impl Into for DLCmd { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 780 ~ impl From for u32 { [INFO] [stdout] 781 ~ fn from(val: DLCmd) -> Self { [INFO] [stdout] 782 ~ val.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BEGIN` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:797:5 [INFO] [stdout] | [INFO] [stdout] 797 | BEGIN = 0x1F, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Begin` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CALL` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:813:5 [INFO] [stdout] | [INFO] [stdout] 813 | CALL = 0x1d, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Call` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CELL` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:814:5 [INFO] [stdout] | [INFO] [stdout] 814 | CELL = 0x06, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Cell` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CLEAR` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:815:5 [INFO] [stdout] | [INFO] [stdout] 815 | CLEAR = 0x26, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Clear` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DISPLAY` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:823:5 [INFO] [stdout] | [INFO] [stdout] 823 | DISPLAY = 0x00, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Display` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `END` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:824:5 [INFO] [stdout] | [INFO] [stdout] 824 | END = 0x21, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `End` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `JUMP` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:825:5 [INFO] [stdout] | [INFO] [stdout] 825 | JUMP = 0x1e, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Jump` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `MACRO` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:827:5 [INFO] [stdout] | [INFO] [stdout] 827 | MACRO = 0x25, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Macro` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NOP` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:828:5 [INFO] [stdout] | [INFO] [stdout] 828 | NOP = 0x2d, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Nop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RETURN` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:832:5 [INFO] [stdout] | [INFO] [stdout] 832 | RETURN = 0x24, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Return` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `TAG` contains a capitalized acronym [INFO] [stdout] --> src/display_list.rs:839:5 [INFO] [stdout] | [INFO] [stdout] 839 | TAG = 0x03, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Tag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/graphics/bitmap.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | return self.height * self.stride; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return self.height * self.stride; [INFO] [stdout] 54 + self.height * self.stride [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/graphics/bitmap.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | return self.image_data.slice_length(self.byte_length()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 62 - return self.image_data.slice_length(self.byte_length()); [INFO] [stdout] 62 + self.image_data.slice_length(self.byte_length()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/interface/fake.rs:32:39 [INFO] [stdout] | [INFO] [stdout] 32 | let mut regs: [u32; 1 * KB] = [0; 1 * KB]; [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `KB` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/interface/fake.rs:32:25 [INFO] [stdout] | [INFO] [stdout] 32 | let mut regs: [u32; 1 * KB] = [0; 1 * KB]; [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `KB` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/interface/fake.rs:182:16 [INFO] [stdout] | [INFO] [stdout] 182 | if let Some(_) = self.write_addr { [INFO] [stdout] | -------^^^^^^^------------------ help: try: `if self.write_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/interface/fake.rs:185:16 [INFO] [stdout] | [INFO] [stdout] 185 | if let Some(_) = self.read_addr { [INFO] [stdout] | -------^^^^^^^----------------- help: try: `if self.read_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/interface/fake.rs:223:16 [INFO] [stdout] | [INFO] [stdout] 223 | if let Some(_) = self.write_addr { [INFO] [stdout] | -------^^^^^^^------------------ help: try: `if self.write_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/interface/fake.rs:232:16 [INFO] [stdout] | [INFO] [stdout] 232 | if let Some(_) = self.write_addr { [INFO] [stdout] | -------^^^^^^^------------------ help: try: `if self.write_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/interface/fake.rs:235:16 [INFO] [stdout] | [INFO] [stdout] 235 | if let Some(_) = self.read_addr { [INFO] [stdout] | -------^^^^^^^----------------- help: try: `if self.read_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/interface/fake.rs:273:16 [INFO] [stdout] | [INFO] [stdout] 273 | if let Some(_) = self.read_addr { [INFO] [stdout] | -------^^^^^^^----------------- help: try: `if self.read_addr.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/interface/fake.rs:468:12 [INFO] [stdout] | [INFO] [stdout] 468 | if (offset % 4) != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace with: `!offset.is_multiple_of(4)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `into` [INFO] [stdout] --> src/interface/fake.rs:482:18 [INFO] [stdout] | [INFO] [stdout] 482 | for i in 0..len { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 482 - for i in 0..len { [INFO] [stdout] 482 + for (i, ) in into.iter_mut().enumerate().take(len) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/interface/fake.rs:525:25 [INFO] [stdout] | [INFO] [stdout] 525 | Err(err) => return Err(Self::Error::Hook(err)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 525 - Err(err) => return Err(Self::Error::Hook(err)), [INFO] [stdout] 525 + Err(err) => Err(Self::Error::Hook(err)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/interface/fake.rs:491:12 [INFO] [stdout] | [INFO] [stdout] 491 | if (offset % 4) != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace with: `!offset.is_multiple_of(4)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/interface/fake.rs:518:25 [INFO] [stdout] | [INFO] [stdout] 518 | let shift = (i * 8) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `(i * 8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/interface/fake.rs:520:13 [INFO] [stdout] | [INFO] [stdout] 520 | val = val & mask; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `val &= mask` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/interface/fake.rs:521:13 [INFO] [stdout] | [INFO] [stdout] 521 | val = val | ((*v as u32) << shift); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `val |= ((*v as u32) << shift)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/interface.rs:47:19 [INFO] [stdout] | [INFO] [stdout] 47 | into[2] = (addr >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/interface.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 57 | into[2] = (addr >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `MockInterface` [INFO] [stdout] --> src/interface.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | / pub fn new() -> Self { [INFO] [stdout] 137 | | Self { [INFO] [stdout] 138 | | _write_addr: None, [INFO] [stdout] 139 | | _read_addr: None, [INFO] [stdout] ... | [INFO] [stdout] 144 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 133 ~ impl Default for MockInterface { [INFO] [stdout] 134 + fn default() -> Self { [INFO] [stdout] 135 + Self::new() [INFO] [stdout] 136 + } [INFO] [stdout] 137 + } [INFO] [stdout] 138 + [INFO] [stdout] 139 ~ impl MockInterface { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/interface.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 173 - return false; [INFO] [stdout] 173 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interface.rs:169:25 [INFO] [stdout] | [INFO] [stdout] 169 | if fail(&call) { [INFO] [stdout] | ^^^^^ help: change this to: `call` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `into` [INFO] [stdout] --> src/interface.rs:240:22 [INFO] [stdout] | [INFO] [stdout] 240 | for i in 0..into.len() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 240 - for i in 0..into.len() { [INFO] [stdout] 240 + for (i, ) in into.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u8` which implements the `Copy` trait [INFO] [stdout] --> src/interface.rs:242:25 [INFO] [stdout] | [INFO] [stdout] 242 | let v = self [INFO] [stdout] | _________________________^ [INFO] [stdout] 243 | | ._mem [INFO] [stdout] 244 | | .get(&e_addr) [INFO] [stdout] 245 | | .unwrap_or(&Self::DEFAULT_MEM_VALUE) [INFO] [stdout] 246 | | .clone(); [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 242 ~ let v = *self [INFO] [stdout] 243 + ._mem [INFO] [stdout] 244 + .get(&e_addr) [INFO] [stdout] 245 ~ .unwrap_or(&Self::DEFAULT_MEM_VALUE); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/low_level.rs:68:29 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn borrow_interface<'a>(&'a mut self) -> &'a mut I { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 68 - pub fn borrow_interface<'a>(&'a mut self) -> &'a mut I { [INFO] [stdout] 68 + pub fn borrow_interface(&mut self) -> &mut I { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u8` is unnecessary [INFO] [stdout] --> src/low_level.rs:193:51 [INFO] [stdout] | [INFO] [stdout] 193 | MockInterfaceCall::ContinueWrite(vec![0x34 as u8]), [INFO] [stdout] | ^^^^^^^^^^ help: try: `0x34_u8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u8` is unnecessary [INFO] [stdout] --> src/low_level.rs:207:57 [INFO] [stdout] | [INFO] [stdout] 207 | MockInterfaceCall::ContinueWrite(vec![0x34, 0x12 as u8]), [INFO] [stdout] | ^^^^^^^^^^ help: try: `0x12_u8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u8` is unnecessary [INFO] [stdout] --> src/low_level.rs:221:69 [INFO] [stdout] | [INFO] [stdout] 221 | MockInterfaceCall::ContinueWrite(vec![0x78, 0x56, 0x34, 0x12 as u8]), [INFO] [stdout] | ^^^^^^^^^^ help: try: `0x12_u8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/low_level.rs:231:21 [INFO] [stdout] | [INFO] [stdout] 231 | let data = ['h' as u8, 'e' as u8, 'l' as u8, 'l' as u8, 'o' as u8]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'h'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/low_level.rs:231:32 [INFO] [stdout] | [INFO] [stdout] 231 | let data = ['h' as u8, 'e' as u8, 'l' as u8, 'l' as u8, 'o' as u8]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'e'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/low_level.rs:231:43 [INFO] [stdout] | [INFO] [stdout] 231 | let data = ['h' as u8, 'e' as u8, 'l' as u8, 'l' as u8, 'o' as u8]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'l'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/low_level.rs:231:54 [INFO] [stdout] | [INFO] [stdout] 231 | let data = ['h' as u8, 'e' as u8, 'l' as u8, 'l' as u8, 'o' as u8]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'l'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/low_level.rs:231:65 [INFO] [stdout] | [INFO] [stdout] 231 | let data = ['h' as u8, 'e' as u8, 'l' as u8, 'l' as u8, 'o' as u8]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'o'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/low_level.rs:237:17 [INFO] [stdout] | [INFO] [stdout] 237 | 'h' as u8, 'e' as u8, 'l' as u8, 'l' as u8, 'o' as u8, [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'h'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/low_level.rs:237:28 [INFO] [stdout] | [INFO] [stdout] 237 | 'h' as u8, 'e' as u8, 'l' as u8, 'l' as u8, 'o' as u8, [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'e'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/low_level.rs:237:39 [INFO] [stdout] | [INFO] [stdout] 237 | 'h' as u8, 'e' as u8, 'l' as u8, 'l' as u8, 'o' as u8, [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'l'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/low_level.rs:237:50 [INFO] [stdout] | [INFO] [stdout] 237 | 'h' as u8, 'e' as u8, 'l' as u8, 'l' as u8, 'o' as u8, [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'l'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/low_level.rs:237:61 [INFO] [stdout] | [INFO] [stdout] 237 | 'h' as u8, 'e' as u8, 'l' as u8, 'l' as u8, 'o' as u8, [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'o'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u8` is unnecessary [INFO] [stdout] --> src/low_level.rs:247:25 [INFO] [stdout] | [INFO] [stdout] 247 | let data = [0x34 as u8]; [INFO] [stdout] | ^^^^^^^^^^ help: try: `0x34_u8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u8` is unnecessary [INFO] [stdout] --> src/low_level.rs:266:31 [INFO] [stdout] | [INFO] [stdout] 266 | let data = [0x12, 0x34 as u8]; [INFO] [stdout] | ^^^^^^^^^^ help: try: `0x34_u8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u8` is unnecessary [INFO] [stdout] --> src/low_level.rs:285:43 [INFO] [stdout] | [INFO] [stdout] 285 | let data = [0x12, 0x34, 0x56, 0x78 as u8]; [INFO] [stdout] | ^^^^^^^^^^ help: try: `0x78_u8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/low_level.rs:356:43 [INFO] [stdout] | [INFO] [stdout] 356 | MockInterfaceCall::BeginWrite(base + 0), [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `base` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u8` is unnecessary [INFO] [stdout] --> src/low_level.rs:357:60 [INFO] [stdout] | [INFO] [stdout] 357 | MockInterfaceCall::ContinueWrite(vec![2, 0, 0, 31 as u8]), [INFO] [stdout] | ^^^^^^^^ help: try: `31_u8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/low_level.rs:358:41 [INFO] [stdout] | [INFO] [stdout] 358 | MockInterfaceCall::EndWrite(base + 0), [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `base` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u8` is unnecessary [INFO] [stdout] --> src/low_level.rs:360:60 [INFO] [stdout] | [INFO] [stdout] 360 | MockInterfaceCall::ContinueWrite(vec![3, 0, 0, 9 as u8]), [INFO] [stdout] | ^^^^^^^ help: try: `9_u8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/low_level.rs:362:43 [INFO] [stdout] | [INFO] [stdout] 362 | MockInterfaceCall::BeginWrite(base + 0), [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `base` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u8` is unnecessary [INFO] [stdout] --> src/low_level.rs:363:60 [INFO] [stdout] | [INFO] [stdout] 363 | MockInterfaceCall::ContinueWrite(vec![1, 0, 0, 31 as u8]), [INFO] [stdout] | ^^^^^^^^ help: try: `31_u8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/low_level.rs:364:41 [INFO] [stdout] | [INFO] [stdout] 364 | MockInterfaceCall::EndWrite(base + 0), [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `base` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/memory/ptr.rs:62:19 [INFO] [stdout] | [INFO] [stdout] 62 | into[2] = (self.addr >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider reducing it to: `self.addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/memory/ptr.rs:72:19 [INFO] [stdout] | [INFO] [stdout] 72 | into[2] = (self.addr >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider reducing it to: `self.addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Slice` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/memory/slice.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn len(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] = note: `#[warn(clippy::len_without_is_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/memory.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | / !(::MainMem::ptr(1) [INFO] [stdout] 55 | | > ::DisplayListMem::ptr(1)) [INFO] [stdout] | |________________________________________________________________^ help: try: `(::MainMem::ptr(1) <= ::DisplayListMem::ptr(1))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/error.rs:28:16 [INFO] [stdout] | [INFO] [stdout] 28 | match (&*self,) { [INFO] [stdout] | ^^^^^^ help: if you would like to reborrow, try removing `&*`: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/error.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | (&Error::Interface(ref __self_0),) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 29 - (&Error::Interface(ref __self_0),) => { [INFO] [stdout] 29 + (Error::Interface(__self_0),) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/error.rs:31:52 [INFO] [stdout] | [INFO] [stdout] 31 | let _ = debug_trait_builder.field(&&(*__self_0)); [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `__self_0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/error.rs:117:16 [INFO] [stdout] | [INFO] [stdout] 117 | match (&*self,) { [INFO] [stdout] | ^^^^^^ help: if you would like to reborrow, try removing `&*`: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/error.rs:122:14 [INFO] [stdout] | [INFO] [stdout] 122 | (&CoprocessorError::Interface(ref __self_0),) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 122 - (&CoprocessorError::Interface(ref __self_0),) => { [INFO] [stdout] 122 + (CoprocessorError::Interface(__self_0),) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/error.rs:124:52 [INFO] [stdout] | [INFO] [stdout] 124 | let _ = debug_trait_builder.field(&&(*__self_0)); [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `__self_0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/error.rs:127:14 [INFO] [stdout] | [INFO] [stdout] 127 | (&CoprocessorError::Waiter(ref __self_0),) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 127 - (&CoprocessorError::Waiter(ref __self_0),) => { [INFO] [stdout] 127 + (CoprocessorError::Waiter(__self_0),) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/error.rs:129:52 [INFO] [stdout] | [INFO] [stdout] 129 | let _ = debug_trait_builder.field(&&(*__self_0)); [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `__self_0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/lib.rs:103:29 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn borrow_interface<'a>(&'a mut self) -> &'a mut I { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 103 - pub fn borrow_interface<'a>(&'a mut self) -> &'a mut I { [INFO] [stdout] 103 + pub fn borrow_interface(&mut self) -> &mut I { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/lib.rs:113:29 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn borrow_low_level<'a>(&'a mut self) -> &'a mut low_level::LowLevel { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 113 - pub fn borrow_low_level<'a>(&'a mut self) -> &'a mut low_level::LowLevel { [INFO] [stdout] 113 + pub fn borrow_low_level(&mut self) -> &mut low_level::LowLevel { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lib.rs:219:10 [INFO] [stdout] | [INFO] [stdout] 219 | ) -> commands::Result< [INFO] [stdout] | __________^ [INFO] [stdout] 220 | | commands::Coprocessor>, [INFO] [stdout] 221 | | M, [INFO] [stdout] 222 | | I, [INFO] [stdout] 223 | | commands::waiter::PollingWaiter, [INFO] [stdout] 224 | | > { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands.rs:143:20 [INFO] [stdout] | [INFO] [stdout] 143 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 144 | | MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 145 | | MockInterfaceCall::StartStream, [INFO] [stdout] 146 | | MockInterfaceCall::Write(0xffffff00), // CMD_DLSTART [INFO] [stdout] 147 | | MockInterfaceCall::StopStream, [INFO] [stdout] 148 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 143 ~ let want = [MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 144 + MockInterfaceCall::StartStream, [INFO] [stdout] 145 + MockInterfaceCall::Write(0xffffff00), // CMD_DLSTART [INFO] [stdout] 146 ~ MockInterfaceCall::StopStream]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands.rs:160:20 [INFO] [stdout] | [INFO] [stdout] 160 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 161 | | MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 162 | | MockInterfaceCall::StartStream, [INFO] [stdout] 163 | | MockInterfaceCall::Write(0xffffff01), // CMD_SWAP [INFO] [stdout] 164 | | MockInterfaceCall::StopStream, [INFO] [stdout] 165 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 160 ~ let want = [MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 161 + MockInterfaceCall::StartStream, [INFO] [stdout] 162 + MockInterfaceCall::Write(0xffffff01), // CMD_SWAP [INFO] [stdout] 163 ~ MockInterfaceCall::StopStream]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands.rs:177:20 [INFO] [stdout] | [INFO] [stdout] 177 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 178 | | MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 179 | | MockInterfaceCall::StartStream, [INFO] [stdout] 180 | | MockInterfaceCall::Write(0xFFFFFF02), // CMD_INTERRUPT [INFO] [stdout] 181 | | MockInterfaceCall::Write(500), // Wait 500ms first [INFO] [stdout] 182 | | MockInterfaceCall::StopStream, [INFO] [stdout] 183 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 177 ~ let want = [MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 178 + MockInterfaceCall::StartStream, [INFO] [stdout] 179 + MockInterfaceCall::Write(0xFFFFFF02), // CMD_INTERRUPT [INFO] [stdout] 180 + MockInterfaceCall::Write(500), // Wait 500ms first [INFO] [stdout] 181 ~ MockInterfaceCall::StopStream]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands.rs:195:20 [INFO] [stdout] | [INFO] [stdout] 195 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 196 | | MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 197 | | MockInterfaceCall::StartStream, [INFO] [stdout] 198 | | MockInterfaceCall::Write(0xFFFFFF32), // CMD_COLDSTART [INFO] [stdout] 199 | | MockInterfaceCall::StopStream, [INFO] [stdout] 200 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 195 ~ let want = [MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 196 + MockInterfaceCall::StartStream, [INFO] [stdout] 197 + MockInterfaceCall::Write(0xFFFFFF32), // CMD_COLDSTART [INFO] [stdout] 198 ~ MockInterfaceCall::StopStream]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands.rs:214:20 [INFO] [stdout] | [INFO] [stdout] 214 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 215 | | MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 216 | | MockInterfaceCall::StartStream, [INFO] [stdout] 217 | | MockInterfaceCall::Write(0xFFFFFF1E), // CMD_APPEND [INFO] [stdout] ... | [INFO] [stdout] 220 | | MockInterfaceCall::StopStream, [INFO] [stdout] 221 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 214 ~ let want = [MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 215 + MockInterfaceCall::StartStream, [INFO] [stdout] 216 + MockInterfaceCall::Write(0xFFFFFF1E), // CMD_APPEND [INFO] [stdout] 217 + MockInterfaceCall::Write(16), // Start address [INFO] [stdout] 218 + MockInterfaceCall::Write(8), // Number of bytes to copy [INFO] [stdout] 219 ~ MockInterfaceCall::StopStream]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands.rs:240:20 [INFO] [stdout] | [INFO] [stdout] 240 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 241 | | MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 242 | | MockInterfaceCall::StartStream, [INFO] [stdout] 243 | | MockInterfaceCall::Write(0xffffff00), // CMD_DLSTART [INFO] [stdout] ... | [INFO] [stdout] 247 | | MockInterfaceCall::StopStream, [INFO] [stdout] 248 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 240 ~ let want = [MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 241 + MockInterfaceCall::StartStream, [INFO] [stdout] 242 + MockInterfaceCall::Write(0xffffff00), // CMD_DLSTART [INFO] [stdout] 243 + MockInterfaceCall::Write(0xdeadbeef), // Fake display list command [INFO] [stdout] 244 + MockInterfaceCall::Write(0x0f00007f), // CLEAR_COLOR_A(127) [INFO] [stdout] 245 + MockInterfaceCall::Write(0xffffff01), // CMD_SWAP [INFO] [stdout] 246 ~ MockInterfaceCall::StopStream]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands.rs:260:20 [INFO] [stdout] | [INFO] [stdout] 260 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 261 | | MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 262 | | MockInterfaceCall::StartStream, [INFO] [stdout] 263 | | MockInterfaceCall::Write(0xffffff61), // CMD_TESTCARD [INFO] [stdout] 264 | | MockInterfaceCall::StopStream, [INFO] [stdout] 265 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 260 ~ let want = [MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 261 + MockInterfaceCall::StartStream, [INFO] [stdout] 262 + MockInterfaceCall::Write(0xffffff61), // CMD_TESTCARD [INFO] [stdout] 263 ~ MockInterfaceCall::StopStream]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands.rs:277:20 [INFO] [stdout] | [INFO] [stdout] 277 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 278 | | MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 279 | | MockInterfaceCall::StartStream, [INFO] [stdout] 280 | | MockInterfaceCall::Write(0xffffff31), // CMD_LOGO [INFO] [stdout] 281 | | MockInterfaceCall::StopStream, [INFO] [stdout] 282 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 277 ~ let want = [MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 278 + MockInterfaceCall::StartStream, [INFO] [stdout] 279 + MockInterfaceCall::Write(0xffffff31), // CMD_LOGO [INFO] [stdout] 280 ~ MockInterfaceCall::StopStream]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands.rs:294:20 [INFO] [stdout] | [INFO] [stdout] 294 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 295 | | MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 296 | | MockInterfaceCall::StartStream, [INFO] [stdout] 297 | | MockInterfaceCall::Write(0xffffff65), // CMD_WAIT [INFO] [stdout] 298 | | MockInterfaceCall::Write(12345), // the duration value from above [INFO] [stdout] 299 | | MockInterfaceCall::StopStream, [INFO] [stdout] 300 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 294 ~ let want = [MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 295 + MockInterfaceCall::StartStream, [INFO] [stdout] 296 + MockInterfaceCall::Write(0xffffff65), // CMD_WAIT [INFO] [stdout] 297 + MockInterfaceCall::Write(12345), // the duration value from above [INFO] [stdout] 298 ~ MockInterfaceCall::StopStream]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands.rs:339:20 [INFO] [stdout] | [INFO] [stdout] 339 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 340 | | MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 341 | | MockInterfaceCall::StartStream, [INFO] [stdout] 342 | | MockInterfaceCall::Write(0xFFFFFF22), // CMD_INFLATE [INFO] [stdout] ... | [INFO] [stdout] 350 | | MockInterfaceCall::StopStream, [INFO] [stdout] 351 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 339 ~ let want = [MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 340 + MockInterfaceCall::StartStream, [INFO] [stdout] 341 + MockInterfaceCall::Write(0xFFFFFF22), // CMD_INFLATE [INFO] [stdout] 342 + MockInterfaceCall::Write(21), // the target address [INFO] [stdout] 343 + // NOTE: Unlike CMD_MEMWRITE there is no explicit length field [INFO] [stdout] 344 + // here, because the deflate stream is self-delimiting and so the [INFO] [stdout] 345 + // coprocessor can tell when it has found the end of it. [INFO] [stdout] 346 + MockInterfaceCall::Write(0x6c6c6568), // 'h', 'e', 'l', 'l' [INFO] [stdout] 347 + MockInterfaceCall::Write(0x6f77206f), // 'o', ' ', 'w', 'o' [INFO] [stdout] 348 + MockInterfaceCall::Write(0x00646c72), // 'r', 'l', 'd' + '\0' padding byte [INFO] [stdout] 349 ~ MockInterfaceCall::StopStream]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands.rs:555:20 [INFO] [stdout] | [INFO] [stdout] 555 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 556 | | MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 557 | | MockInterfaceCall::StartStream, [INFO] [stdout] 558 | | MockInterfaceCall::Write(0xFFFFFF63), // CMD_APILEVEL [INFO] [stdout] 559 | | MockInterfaceCall::Write(1), // the version selection [INFO] [stdout] 560 | | MockInterfaceCall::StopStream, [INFO] [stdout] 561 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 555 ~ let want = [MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 556 + MockInterfaceCall::StartStream, [INFO] [stdout] 557 + MockInterfaceCall::Write(0xFFFFFF63), // CMD_APILEVEL [INFO] [stdout] 558 + MockInterfaceCall::Write(1), // the version selection [INFO] [stdout] 559 ~ MockInterfaceCall::StopStream]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands.rs:573:20 [INFO] [stdout] | [INFO] [stdout] 573 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 574 | | MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 575 | | MockInterfaceCall::StartStream, [INFO] [stdout] 576 | | MockInterfaceCall::Write(0xFFFFFF63), // CMD_APILEVEL [INFO] [stdout] 577 | | MockInterfaceCall::Write(2), // the version selection [INFO] [stdout] 578 | | MockInterfaceCall::StopStream, [INFO] [stdout] 579 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 573 ~ let want = [MockInterfaceCall::ReadSpace(4092), [INFO] [stdout] 574 + MockInterfaceCall::StartStream, [INFO] [stdout] 575 + MockInterfaceCall::Write(0xFFFFFF63), // CMD_APILEVEL [INFO] [stdout] 576 + MockInterfaceCall::Write(2), // the version selection [INFO] [stdout] 577 ~ MockInterfaceCall::StopStream]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/low_level.rs:191:20 [INFO] [stdout] | [INFO] [stdout] 191 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 192 | | MockInterfaceCall::BeginWrite(0x1f), [INFO] [stdout] 193 | | MockInterfaceCall::ContinueWrite(vec![0x34 as u8]), [INFO] [stdout] 194 | | MockInterfaceCall::EndWrite(0x1f), [INFO] [stdout] 195 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 191 ~ let want = [MockInterfaceCall::BeginWrite(0x1f), [INFO] [stdout] 192 + MockInterfaceCall::ContinueWrite(vec![0x34 as u8]), [INFO] [stdout] 193 ~ MockInterfaceCall::EndWrite(0x1f)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/low_level.rs:205:20 [INFO] [stdout] | [INFO] [stdout] 205 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 206 | | MockInterfaceCall::BeginWrite(0x2f), [INFO] [stdout] 207 | | MockInterfaceCall::ContinueWrite(vec![0x34, 0x12 as u8]), [INFO] [stdout] 208 | | MockInterfaceCall::EndWrite(0x2f), [INFO] [stdout] 209 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 205 ~ let want = [MockInterfaceCall::BeginWrite(0x2f), [INFO] [stdout] 206 + MockInterfaceCall::ContinueWrite(vec![0x34, 0x12 as u8]), [INFO] [stdout] 207 ~ MockInterfaceCall::EndWrite(0x2f)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/low_level.rs:219:20 [INFO] [stdout] | [INFO] [stdout] 219 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 220 | | MockInterfaceCall::BeginWrite(0x3f), [INFO] [stdout] 221 | | MockInterfaceCall::ContinueWrite(vec![0x78, 0x56, 0x34, 0x12 as u8]), [INFO] [stdout] 222 | | MockInterfaceCall::EndWrite(0x3f), [INFO] [stdout] 223 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 219 ~ let want = [MockInterfaceCall::BeginWrite(0x3f), [INFO] [stdout] 220 + MockInterfaceCall::ContinueWrite(vec![0x78, 0x56, 0x34, 0x12 as u8]), [INFO] [stdout] 221 ~ MockInterfaceCall::EndWrite(0x3f)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/low_level.rs:234:20 [INFO] [stdout] | [INFO] [stdout] 234 | let want = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 235 | | MockInterfaceCall::BeginWrite(0x3f), [INFO] [stdout] 236 | | MockInterfaceCall::ContinueWrite(vec![ [INFO] [stdout] 237 | | 'h' as u8, 'e' as u8, 'l' as u8, 'l' as u8, 'o' as u8, [INFO] [stdout] 238 | | ]), [INFO] [stdout] 239 | | MockInterfaceCall::EndWrite(0x3f), [INFO] [stdout] 240 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 234 ~ let want = [MockInterfaceCall::BeginWrite(0x3f), [INFO] [stdout] 235 + MockInterfaceCall::ContinueWrite(vec![ [INFO] [stdout] 236 + 'h' as u8, 'e' as u8, 'l' as u8, 'l' as u8, 'o' as u8, [INFO] [stdout] 237 + ]), [INFO] [stdout] 238 ~ MockInterfaceCall::EndWrite(0x3f)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/low_level.rs:255:26 [INFO] [stdout] | [INFO] [stdout] 255 | let want_calls = vec![ [INFO] [stdout] | __________________________^ [INFO] [stdout] 256 | | MockInterfaceCall::BeginRead(0x1f), [INFO] [stdout] 257 | | MockInterfaceCall::ContinueRead(1), [INFO] [stdout] 258 | | MockInterfaceCall::EndRead(0x1f), [INFO] [stdout] 259 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 255 ~ let want_calls = [MockInterfaceCall::BeginRead(0x1f), [INFO] [stdout] 256 + MockInterfaceCall::ContinueRead(1), [INFO] [stdout] 257 ~ MockInterfaceCall::EndRead(0x1f)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/low_level.rs:274:26 [INFO] [stdout] | [INFO] [stdout] 274 | let want_calls = vec![ [INFO] [stdout] | __________________________^ [INFO] [stdout] 275 | | MockInterfaceCall::BeginRead(0x2f), [INFO] [stdout] 276 | | MockInterfaceCall::ContinueRead(2), [INFO] [stdout] 277 | | MockInterfaceCall::EndRead(0x2f), [INFO] [stdout] 278 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 274 ~ let want_calls = [MockInterfaceCall::BeginRead(0x2f), [INFO] [stdout] 275 + MockInterfaceCall::ContinueRead(2), [INFO] [stdout] 276 ~ MockInterfaceCall::EndRead(0x2f)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/low_level.rs:293:26 [INFO] [stdout] | [INFO] [stdout] 293 | let want_calls = vec![ [INFO] [stdout] | __________________________^ [INFO] [stdout] 294 | | MockInterfaceCall::BeginRead(0x3f), [INFO] [stdout] 295 | | MockInterfaceCall::ContinueRead(4), [INFO] [stdout] 296 | | MockInterfaceCall::EndRead(0x3f), [INFO] [stdout] 297 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 293 ~ let want_calls = [MockInterfaceCall::BeginRead(0x3f), [INFO] [stdout] 294 + MockInterfaceCall::ContinueRead(4), [INFO] [stdout] 295 ~ MockInterfaceCall::EndRead(0x3f)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/low_level.rs:315:26 [INFO] [stdout] | [INFO] [stdout] 315 | let want_calls = vec![ [INFO] [stdout] | __________________________^ [INFO] [stdout] 316 | | MockInterfaceCall::BeginRead(0x4f), [INFO] [stdout] 317 | | MockInterfaceCall::ContinueRead(8), [INFO] [stdout] 318 | | MockInterfaceCall::EndRead(0x4f), [INFO] [stdout] 319 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 315 ~ let want_calls = [MockInterfaceCall::BeginRead(0x4f), [INFO] [stdout] 316 + MockInterfaceCall::ContinueRead(8), [INFO] [stdout] 317 ~ MockInterfaceCall::EndRead(0x4f)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/low_level.rs:329:26 [INFO] [stdout] | [INFO] [stdout] 329 | let want_calls = vec![MockInterfaceCall::Cmd(0x00, 0x23, 0x45)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[MockInterfaceCall::Cmd(0x00, 0x23, 0x45)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/commands/coprocessor.rs:779:40 [INFO] [stdout] | [INFO] [stdout] 779 | Int(v) => unsafe { core::mem::transmute(v) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 779 - Int(v) => unsafe { core::mem::transmute(v) }, [INFO] [stdout] 779 + Int(v) => unsafe { i32::cast_unsigned(v) }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.21s [INFO] running `Command { std: "docker" "inspect" "b6f8dae5b2c2a25b07ad3c56a144e538e0445084fdd3f1e8d2ca0f42e1ea2f54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b6f8dae5b2c2a25b07ad3c56a144e538e0445084fdd3f1e8d2ca0f42e1ea2f54", kill_on_drop: false }` [INFO] [stdout] b6f8dae5b2c2a25b07ad3c56a144e538e0445084fdd3f1e8d2ca0f42e1ea2f54