[INFO] cloning repository https://github.com/Swiftshine/Salamander [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Swiftshine/Salamander" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwiftshine%2FSalamander", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwiftshine%2FSalamander'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b28e2e534eb9deb0a6204a2eb507265e9357475c [INFO] linting Swiftshine/Salamander against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwiftshine%2FSalamander" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Swiftshine/Salamander [INFO] finished tweaking git repo https://github.com/Swiftshine/Salamander [INFO] tweaked toml for git repo https://github.com/Swiftshine/Salamander written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Swiftshine/Salamander 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] crate git repo https://github.com/Swiftshine/Salamander already has a lockfile, it will not be regenerated [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] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded thiserror-impl v2.0.11 [INFO] [stderr] Downloaded phf_shared v0.11.3 [INFO] [stderr] Downloaded thiserror v2.0.11 [INFO] [stderr] Downloaded ppc750cl-asm v0.3.2 [INFO] [stderr] Downloaded quote v1.0.38 [INFO] [stderr] Downloaded siphasher v1.0.1 [INFO] [stderr] Downloaded phf v0.11.3 [INFO] [stderr] Downloaded ppc750cl v0.3.2 [INFO] [stderr] Downloaded proc-macro2 v1.0.93 [INFO] [stderr] Downloaded anyhow v1.0.96 [INFO] [stderr] Downloaded unicode-ident v1.0.17 [INFO] [stderr] Downloaded syn v2.0.98 [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] fb6405f16722b07720b5b673e63f855b74152125662d011f9ade1d6dff887ffd [INFO] running `Command { std: "docker" "start" "-a" "fb6405f16722b07720b5b673e63f855b74152125662d011f9ade1d6dff887ffd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fb6405f16722b07720b5b673e63f855b74152125662d011f9ade1d6dff887ffd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb6405f16722b07720b5b673e63f855b74152125662d011f9ade1d6dff887ffd", kill_on_drop: false }` [INFO] [stdout] fb6405f16722b07720b5b673e63f855b74152125662d011f9ade1d6dff887ffd [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] d16417dfab7f0a0c0d0170834073156d6d661e95f6a4baaebce7b771958c7af9 [INFO] running `Command { std: "docker" "start" "-a" "d16417dfab7f0a0c0d0170834073156d6d661e95f6a4baaebce7b771958c7af9", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unicode-ident v1.0.17 [INFO] [stderr] Checking siphasher v1.0.1 [INFO] [stderr] Compiling anyhow v1.0.96 [INFO] [stderr] Compiling thiserror v2.0.11 [INFO] [stderr] Checking ppc750cl v0.3.2 [INFO] [stderr] Checking phf_shared v0.11.3 [INFO] [stderr] Checking phf v0.11.3 [INFO] [stderr] Checking ppc750cl-asm v0.3.2 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.98 [INFO] [stderr] Compiling thiserror-impl v2.0.11 [INFO] [stderr] Checking salamander v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/gecko.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | / /// to `address + count + 1`. [INFO] [stdout] ... | [INFO] [stdout] 156 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn from_02(cursor: &mut Cursor<&[u32]>, larger_address: bool) -> Result { [INFO] [stdout] | ---------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the doc comment should not document function `from_02` then comment it out [INFO] [stdout] | [INFO] [stdout] 149 ~ // /// # 0x00: 8-bit RAM Write & Fill [INFO] [stdout] 150 ~ // /// The `value` will **constantly** fill the range `address` [INFO] [stdout] 151 ~ // /// to `address + count + 1`. [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/gecko.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | / /// to `address + count + 1`. [INFO] [stdout] ... | [INFO] [stdout] 156 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn from_02(cursor: &mut Cursor<&[u32]>, larger_address: bool) -> Result { [INFO] [stdout] | ---------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the doc comment should not document function `from_02` then comment it out [INFO] [stdout] | [INFO] [stdout] 149 ~ // /// # 0x00: 8-bit RAM Write & Fill [INFO] [stdout] 150 ~ // /// The `value` will **constantly** fill the range `address` [INFO] [stdout] 151 ~ // /// to `address + count + 1`. [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXPECTED_ARG_COUNTS` is never used [INFO] [stdout] --> src/ppc.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const EXPECTED_ARG_COUNTS: [(&str, usize); 296] = [ [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 `LineConversionError` is never used [INFO] [stdout] --> src/ppc.rs:306:10 [INFO] [stdout] | [INFO] [stdout] 306 | pub enum LineConversionError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_arg_count` is never used [INFO] [stdout] --> src/ppc.rs:322:4 [INFO] [stdout] | [INFO] [stdout] 322 | fn find_arg_count(mnemonic: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_offset_register_pair` is never used [INFO] [stdout] --> src/ppc.rs:333:4 [INFO] [stdout] | [INFO] [stdout] 333 | fn is_offset_register_pair(token: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `token_to_i16` is never used [INFO] [stdout] --> src/ppc.rs:353:4 [INFO] [stdout] | [INFO] [stdout] 353 | fn token_to_i16(token: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `token_to_assembler_argument` is never used [INFO] [stdout] --> src/ppc.rs:393:4 [INFO] [stdout] | [INFO] [stdout] 393 | fn token_to_assembler_argument(token: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tokens_to_assembler_arguments` is never used [INFO] [stdout] --> src/ppc.rs:417:4 [INFO] [stdout] | [INFO] [stdout] 417 | fn tokens_to_assembler_arguments(tokens: &[&str]) -> Result, LineConversionError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instruction_to_code` is never used [INFO] [stdout] --> src/ppc.rs:440:8 [INFO] [stdout] | [INFO] [stdout] 440 | pub fn instruction_to_code(instr: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/ppc.rs:456:8 [INFO] [stdout] | [INFO] [stdout] 456 | if tokens.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `tokens.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> src/ppc.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | / for i in 0..5 { [INFO] [stdout] 477 | | passed_args[i] = args[i]; [INFO] [stdout] 478 | | } [INFO] [stdout] | |_____^ help: try replacing the loop by: `passed_args.copy_from_slice(&args[..5]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] = note: `#[warn(clippy::manual_memcpy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/gecko.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 62 | } else if code_length % 2 != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace with: `!code_length.is_multiple_of(2)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/gecko.rs:85:49 [INFO] [stdout] | [INFO] [stdout] 85 | result += &from_02(&mut cursor, byte % 2 != 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `!byte.is_multiple_of(2)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/gecko.rs:90:49 [INFO] [stdout] | [INFO] [stdout] 90 | result += &from_04(&mut cursor, byte % 2 != 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `!byte.is_multiple_of(2)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/gecko.rs:95:49 [INFO] [stdout] | [INFO] [stdout] 95 | result += &from_06(&mut cursor, byte % 2 != 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `!byte.is_multiple_of(2)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/gecko.rs:120:49 [INFO] [stdout] | [INFO] [stdout] 120 | result += &from_c2(&mut cursor, byte % 2 != 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `!byte.is_multiple_of(2)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/gecko.rs:125:49 [INFO] [stdout] | [INFO] [stdout] 125 | result += &from_c6(&mut cursor, byte % 2 != 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `!byte.is_multiple_of(2)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/gecko.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | if !(index < raw_bytes.len() - 1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(index >= raw_bytes.len() - 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: manually reimplementing `div_ceil` [INFO] [stdout] --> src/gecko.rs:212:22 [INFO] [stdout] | [INFO] [stdout] 212 | let num_values = (num_bytes as usize).next_multiple_of(4) / 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `(num_bytes as usize).div_ceil(4)` [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: length comparison to zero [INFO] [stdout] --> src/ppc.rs:456:8 [INFO] [stdout] | [INFO] [stdout] 456 | if tokens.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `tokens.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> src/ppc.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | / for i in 0..5 { [INFO] [stdout] 477 | | passed_args[i] = args[i]; [INFO] [stdout] 478 | | } [INFO] [stdout] | |_____^ help: try replacing the loop by: `passed_args.copy_from_slice(&args[..5]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] = note: `#[warn(clippy::manual_memcpy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/gecko.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 62 | } else if code_length % 2 != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace with: `!code_length.is_multiple_of(2)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/gecko.rs:85:49 [INFO] [stdout] | [INFO] [stdout] 85 | result += &from_02(&mut cursor, byte % 2 != 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `!byte.is_multiple_of(2)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/gecko.rs:90:49 [INFO] [stdout] | [INFO] [stdout] 90 | result += &from_04(&mut cursor, byte % 2 != 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `!byte.is_multiple_of(2)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/gecko.rs:95:49 [INFO] [stdout] | [INFO] [stdout] 95 | result += &from_06(&mut cursor, byte % 2 != 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `!byte.is_multiple_of(2)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/gecko.rs:120:49 [INFO] [stdout] | [INFO] [stdout] 120 | result += &from_c2(&mut cursor, byte % 2 != 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `!byte.is_multiple_of(2)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/gecko.rs:125:49 [INFO] [stdout] | [INFO] [stdout] 125 | result += &from_c6(&mut cursor, byte % 2 != 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `!byte.is_multiple_of(2)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/gecko.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | if !(index < raw_bytes.len() - 1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(index >= raw_bytes.len() - 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: manually reimplementing `div_ceil` [INFO] [stdout] --> src/gecko.rs:212:22 [INFO] [stdout] | [INFO] [stdout] 212 | let num_values = (num_bytes as usize).next_multiple_of(4) / 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `(num_bytes as usize).div_ceil(4)` [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.21s [INFO] running `Command { std: "docker" "inspect" "d16417dfab7f0a0c0d0170834073156d6d661e95f6a4baaebce7b771958c7af9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d16417dfab7f0a0c0d0170834073156d6d661e95f6a4baaebce7b771958c7af9", kill_on_drop: false }` [INFO] [stdout] d16417dfab7f0a0c0d0170834073156d6d661e95f6a4baaebce7b771958c7af9