[INFO] fetching crate jippigy 1.0.1... [INFO] linting jippigy-1.0.1 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate jippigy 1.0.1 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate jippigy 1.0.1 [INFO] finished tweaking crates.io crate jippigy 1.0.1 [INFO] tweaked toml for crates.io crate jippigy 1.0.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate jippigy 1.0.1 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 crates.io crate jippigy 1.0.1 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 v1.0.59 [INFO] [stderr] Downloaded pkg-config v0.3.30 [INFO] [stderr] Downloaded anyhow v1.0.82 [INFO] [stderr] Downloaded thiserror v1.0.59 [INFO] [stderr] Downloaded lebe v0.5.2 [INFO] [stderr] Downloaded image-compare v0.3.1 [INFO] [stderr] Downloaded crossbeam v0.8.4 [INFO] [stderr] Downloaded crossbeam-utils v0.8.19 [INFO] [stderr] Downloaded crossbeam-queue v0.3.11 [INFO] [stderr] Downloaded fdeflate v0.3.4 [INFO] [stderr] Downloaded weezl v0.1.8 [INFO] [stderr] Downloaded bit_field v0.10.2 [INFO] [stderr] Downloaded img-parts v0.3.0 [INFO] [stderr] Downloaded png v0.17.13 [INFO] [stderr] Downloaded zune-inflate v0.2.54 [INFO] [stderr] Downloaded miniz_oxide v0.5.4 [INFO] [stderr] Downloaded crossbeam-channel v0.5.12 [INFO] [stderr] Downloaded exr v1.72.0 [INFO] [stderr] Downloaded num-traits v0.2.18 [INFO] [stderr] Downloaded bytemuck v1.15.0 [INFO] [stderr] Downloaded libc v0.2.153 [INFO] [stderr] Downloaded miniz_oxide v0.7.2 [INFO] [stderr] Downloaded gif v0.13.1 [INFO] [stderr] Downloaded flume v0.11.0 [INFO] [stderr] Downloaded flate2 v1.0.28 [INFO] [stderr] Downloaded qoi v0.4.1 [INFO] [stderr] Downloaded jpeg-decoder v0.3.1 [INFO] [stderr] Downloaded turbojpeg-sys v1.0.0 [INFO] [stderr] Downloaded autocfg v1.2.0 [INFO] [stderr] Downloaded crc32fast v1.4.0 [INFO] [stderr] Downloaded proc-macro2 v1.0.81 [INFO] [stderr] Downloaded either v1.11.0 [INFO] [stderr] Downloaded cc v1.0.95 [INFO] [stderr] Downloaded turbojpeg v1.1.0 [INFO] [stderr] Downloaded cmake v0.1.50 [INFO] [stderr] Downloaded syn v2.0.60 [INFO] [stderr] Downloaded tiff v0.9.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] d48d8578355f71fa3995688063b8e3b93ca301f28e690ea355987eb547fe7db7 [INFO] running `Command { std: "docker" "start" "-a" "d48d8578355f71fa3995688063b8e3b93ca301f28e690ea355987eb547fe7db7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d48d8578355f71fa3995688063b8e3b93ca301f28e690ea355987eb547fe7db7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d48d8578355f71fa3995688063b8e3b93ca301f28e690ea355987eb547fe7db7", kill_on_drop: false }` [INFO] [stdout] d48d8578355f71fa3995688063b8e3b93ca301f28e690ea355987eb547fe7db7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 9675c32789a619b002d90b13f0e9d0779ba35780f6bfd9674f08d60b068c2c3b [INFO] running `Command { std: "docker" "start" "-a" "9675c32789a619b002d90b13f0e9d0779ba35780f6bfd9674f08d60b068c2c3b", kill_on_drop: false }` [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling crc32fast v1.4.0 [INFO] [stderr] Compiling proc-macro2 v1.0.81 [INFO] [stderr] Checking either v1.11.0 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling anyhow v1.0.82 [INFO] [stderr] Compiling cc v1.0.95 [INFO] [stderr] Checking weezl v0.1.8 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking bytemuck v1.15.0 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Compiling thiserror v1.0.59 [INFO] [stderr] Checking fdeflate v0.3.4 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Checking gif v0.13.1 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking bytes v1.6.0 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking miniz_oxide v0.7.2 [INFO] [stderr] Checking miniz_oxide v0.5.4 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking crossbeam-channel v0.5.12 [INFO] [stderr] Checking crossbeam-queue v0.3.11 [INFO] [stderr] Checking img-parts v0.3.0 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Compiling syn v2.0.60 [INFO] [stderr] Checking flate2 v1.0.28 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Checking crossbeam v0.8.4 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Compiling cmake v0.1.50 [INFO] [stderr] Checking png v0.17.13 [INFO] [stderr] Checking exr v1.72.0 [INFO] [stderr] Checking tempdir v0.3.7 [INFO] [stderr] Compiling turbojpeg-sys v1.0.0 [INFO] [stderr] Compiling thiserror-impl v1.0.59 [INFO] [stderr] Checking jpeg-decoder v0.3.1 [INFO] [stderr] Checking tiff v0.9.1 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Checking image-compare v0.3.1 [INFO] [stderr] Checking turbojpeg v1.1.0 [INFO] [stderr] Checking jippigy v1.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/compress.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | / /// Compresses the image with [turbojpeg](https://github.com/honzasp/rust-turbojpeg) while preserving exif data. [INFO] [stdout] 36 | | [INFO] [stdout] | |_^ [INFO] [stdout] 37 | pub(crate) fn compress(&self) -> Result, error::Error> { [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] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/compress.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | / /// Compresses the image with [turbojpeg](https://github.com/honzasp/rust-turbojpeg) while preserving exif data. [INFO] [stdout] 36 | | [INFO] [stdout] | |_^ [INFO] [stdout] 37 | pub(crate) fn compress(&self) -> Result, error::Error> { [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] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/bulk.rs:119:36 [INFO] [stdout] | [INFO] [stdout] 119 | ... if !(*counter_guard == content.0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(*counter_guard != content.0)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/bulk.rs:123:37 [INFO] [stdout] | [INFO] [stdout] 123 | ... *counter_guard = *counter_guard + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*counter_guard += 1` [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: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/bulk.rs:126:33 [INFO] [stdout] | [INFO] [stdout] 126 | / ... match local_transmitter.send(compress_result) { [INFO] [stdout] 127 | | ... Err(e) => { [INFO] [stdout] 128 | | ... eprintln!("{e:#?}"); [INFO] [stdout] ... | [INFO] [stdout] 131 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 126 ~ if let Err(e) = local_transmitter.send(compress_result) { [INFO] [stdout] 127 + eprintln!("{e:#?}"); [INFO] [stdout] 128 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/bulk.rs:192:29 [INFO] [stdout] | [INFO] [stdout] 192 | .enumerate() [INFO] [stdout] | _____________________________^ [INFO] [stdout] 193 | | .map(|content| content) [INFO] [stdout] | |_______________________________________^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] = note: `#[warn(clippy::map_identity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/bulk.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 200 | let handles = self.to_thread.send_to_threads(self.transmitter); [INFO] [stdout] | --------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 201 | handles [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 200 ~ [INFO] [stdout] 201 ~ self.to_thread.send_to_threads(self.transmitter) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/single.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | .take(8) [INFO] [stdout] | _____________________^ [INFO] [stdout] 46 | | .map(|bytes| bytes) [INFO] [stdout] | |_______________________________^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/single.rs:107:21 [INFO] [stdout] | [INFO] [stdout] 107 | .take(8) [INFO] [stdout] | _____________________^ [INFO] [stdout] 108 | | .map(|bytes| bytes) [INFO] [stdout] | |_______________________________^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/bulk.rs:119:36 [INFO] [stdout] | [INFO] [stdout] 119 | ... if !(*counter_guard == content.0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(*counter_guard != content.0)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/bulk.rs:123:37 [INFO] [stdout] | [INFO] [stdout] 123 | ... *counter_guard = *counter_guard + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*counter_guard += 1` [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: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/bulk.rs:126:33 [INFO] [stdout] | [INFO] [stdout] 126 | / ... match local_transmitter.send(compress_result) { [INFO] [stdout] 127 | | ... Err(e) => { [INFO] [stdout] 128 | | ... eprintln!("{e:#?}"); [INFO] [stdout] ... | [INFO] [stdout] 131 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 126 ~ if let Err(e) = local_transmitter.send(compress_result) { [INFO] [stdout] 127 + eprintln!("{e:#?}"); [INFO] [stdout] 128 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/bulk.rs:192:29 [INFO] [stdout] | [INFO] [stdout] 192 | .enumerate() [INFO] [stdout] | _____________________________^ [INFO] [stdout] 193 | | .map(|content| content) [INFO] [stdout] | |_______________________________________^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] = note: `#[warn(clippy::map_identity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/bulk.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 200 | let handles = self.to_thread.send_to_threads(self.transmitter); [INFO] [stdout] | --------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 201 | handles [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 200 ~ [INFO] [stdout] 201 ~ self.to_thread.send_to_threads(self.transmitter) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/single.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | .take(8) [INFO] [stdout] | _____________________^ [INFO] [stdout] 46 | | .map(|bytes| bytes) [INFO] [stdout] | |_______________________________^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/single.rs:107:21 [INFO] [stdout] | [INFO] [stdout] 107 | .take(8) [INFO] [stdout] | _____________________^ [INFO] [stdout] 108 | | .map(|bytes| bytes) [INFO] [stdout] | |_______________________________^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.09s [INFO] running `Command { std: "docker" "inspect" "9675c32789a619b002d90b13f0e9d0779ba35780f6bfd9674f08d60b068c2c3b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9675c32789a619b002d90b13f0e9d0779ba35780f6bfd9674f08d60b068c2c3b", kill_on_drop: false }` [INFO] [stdout] 9675c32789a619b002d90b13f0e9d0779ba35780f6bfd9674f08d60b068c2c3b