[INFO] cloning repository https://github.com/rfdzan/jippigy [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rfdzan/jippigy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frfdzan%2Fjippigy", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frfdzan%2Fjippigy'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f463126ae4deb2f6bdb4154632e57d56355c1399 [INFO] linting rfdzan/jippigy against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frfdzan%2Fjippigy" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/rfdzan/jippigy [INFO] finished tweaking git repo https://github.com/rfdzan/jippigy [INFO] tweaked toml for git repo https://github.com/rfdzan/jippigy written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rfdzan/jippigy 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/rfdzan/jippigy 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] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cmake v0.1.50 [INFO] [stderr] Downloaded thiserror v1.0.59 [INFO] [stderr] Downloaded tempdir v0.3.7 [INFO] [stderr] Downloaded thiserror-impl v1.0.59 [INFO] [stderr] Downloaded rand_core v0.3.1 [INFO] [stderr] Downloaded crossbeam v0.8.4 [INFO] [stderr] Downloaded pkg-config v0.3.30 [INFO] [stderr] Downloaded rdrand v0.4.0 [INFO] [stderr] Downloaded crossbeam-queue v0.3.11 [INFO] [stderr] Downloaded image-compare v0.3.1 [INFO] [stderr] Downloaded fdeflate v0.3.4 [INFO] [stderr] Downloaded rand_core v0.4.2 [INFO] [stderr] Downloaded img-parts v0.3.0 [INFO] [stderr] Downloaded smallvec v1.13.2 [INFO] [stderr] Downloaded bytes v1.6.0 [INFO] [stderr] Downloaded crossbeam-channel v0.5.12 [INFO] [stderr] Downloaded flate2 v1.0.28 [INFO] [stderr] Downloaded png v0.17.13 [INFO] [stderr] Downloaded miniz_oxide v0.5.4 [INFO] [stderr] Downloaded rand v0.4.6 [INFO] [stderr] Downloaded rayon v1.10.0 [INFO] [stderr] Downloaded flume v0.11.0 [INFO] [stderr] Downloaded half v2.4.1 [INFO] [stderr] Downloaded num-traits v0.2.18 [INFO] [stderr] Downloaded exr v1.72.0 [INFO] [stderr] Downloaded syn v2.0.60 [INFO] [stderr] Downloaded qoi v0.4.1 [INFO] [stderr] Downloaded miniz_oxide v0.7.2 [INFO] [stderr] Downloaded rayon-core v1.12.1 [INFO] [stderr] Downloaded weezl v0.1.8 [INFO] [stderr] Downloaded proc-macro2 v1.0.81 [INFO] [stderr] Downloaded cc v1.0.95 [INFO] [stderr] Downloaded turbojpeg v1.1.0 [INFO] [stderr] Downloaded crc32fast v1.4.0 [INFO] [stderr] Downloaded crossbeam-epoch v0.9.18 [INFO] [stderr] Downloaded crossbeam-utils v0.8.19 [INFO] [stderr] Downloaded unicode-ident v1.0.12 [INFO] [stderr] Downloaded lock_api v0.4.11 [INFO] [stderr] Downloaded zune-inflate v0.2.54 [INFO] [stderr] Downloaded gif v0.13.1 [INFO] [stderr] Downloaded bytemuck v1.15.0 [INFO] [stderr] Downloaded quote v1.0.36 [INFO] [stderr] Downloaded anyhow v1.0.82 [INFO] [stderr] Downloaded either v1.11.0 [INFO] [stderr] Downloaded crossbeam-deque v0.8.5 [INFO] [stderr] Downloaded bit_field v0.10.2 [INFO] [stderr] Downloaded libc v0.2.153 [INFO] [stderr] Downloaded color_quant v1.1.0 [INFO] [stderr] Downloaded autocfg v1.2.0 [INFO] [stderr] Downloaded fuchsia-cprng v0.1.1 [INFO] [stderr] Downloaded lebe v0.5.2 [INFO] [stderr] Downloaded crunchy v0.2.2 [INFO] [stderr] Downloaded jpeg-decoder v0.3.1 [INFO] [stderr] Downloaded turbojpeg-sys v1.0.0 [INFO] [stderr] Downloaded tiff v0.9.1 [INFO] [stderr] Downloaded image v0.24.9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 778017b388b6dfcef72a0893890099c6013548457fe3e3068cd6a41719ec7fae [INFO] running `Command { std: "docker" "start" "-a" "778017b388b6dfcef72a0893890099c6013548457fe3e3068cd6a41719ec7fae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "778017b388b6dfcef72a0893890099c6013548457fe3e3068cd6a41719ec7fae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "778017b388b6dfcef72a0893890099c6013548457fe3e3068cd6a41719ec7fae", kill_on_drop: false }` [INFO] [stdout] 778017b388b6dfcef72a0893890099c6013548457fe3e3068cd6a41719ec7fae [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] e462f3ae4d43e7165d4be08622580408df45acdd11126416b95824934f91764e [INFO] running `Command { std: "docker" "start" "-a" "e462f3ae4d43e7165d4be08622580408df45acdd11126416b95824934f91764e", kill_on_drop: false }` [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Checking cfg-if v1.0.0 [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] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling unicode-ident v1.0.12 [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] Compiling thiserror v1.0.59 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Checking bytemuck v1.15.0 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking miniz_oxide v0.7.2 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking fdeflate v0.3.4 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking miniz_oxide v0.5.4 [INFO] [stderr] Checking bytes v1.6.0 [INFO] [stderr] Checking gif v0.13.1 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking flate2 v1.0.28 [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] Compiling quote v1.0.36 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Compiling cmake v0.1.50 [INFO] [stderr] Checking img-parts v0.3.0 [INFO] [stderr] Compiling syn v2.0.60 [INFO] [stderr] Checking png v0.17.13 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking crossbeam v0.8.4 [INFO] [stderr] Compiling turbojpeg-sys v1.0.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking exr v1.72.0 [INFO] [stderr] Checking tempdir v0.3.7 [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: 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/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: 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 let-binding has unit value [INFO] [stdout] --> tests/test.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let _write = img.write_to(&mut Cursor::new(&mut jpeg), Jpeg).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 15 - let _write = img.write_to(&mut Cursor::new(&mut jpeg), Jpeg).unwrap(); [INFO] [stdout] 15 + img.write_to(&mut Cursor::new(&mut jpeg), Jpeg).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> tests/test.rs:97:40 [INFO] [stdout] | [INFO] [stdout] 97 | let image_dir_path = PathBuf::from(format!("{}", TEST_DIR)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `TEST_DIR.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> tests/test.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | / let _push_str = { [INFO] [stdout] 112 | | let filename = uw [INFO] [stdout] 113 | | .path() [INFO] [stdout] 114 | | .file_name() [INFO] [stdout] ... | [INFO] [stdout] 118 | | list_of_names.push(filename); [INFO] [stdout] 119 | | }; [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 111 - let _push_str = { [INFO] [stdout] 111 + { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)` [INFO] [stdout] --> tests/test.rs:112:32 [INFO] [stdout] | [INFO] [stdout] 112 | let filename = uw [INFO] [stdout] | ________________________________^ [INFO] [stdout] 113 | | .path() [INFO] [stdout] 114 | | .file_name() [INFO] [stdout] 115 | | .and_then(|osstr| osstr.to_str()) [INFO] [stdout] 116 | | .and_then(|a| Some(a.to_string())) [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] = note: `#[warn(clippy::bind_instead_of_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 112 ~ let filename = uw [INFO] [stdout] 113 + .path() [INFO] [stdout] 114 + .file_name() [INFO] [stdout] 115 + .and_then(|osstr| osstr.to_str()).map(|a| a.to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> tests/test.rs:185:16 [INFO] [stdout] | [INFO] [stdout] 185 | if !(filename_inner.as_str() == filename_outer.as_str()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(filename_inner.as_str() != filename_outer.as_str())` [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.08s [INFO] running `Command { std: "docker" "inspect" "e462f3ae4d43e7165d4be08622580408df45acdd11126416b95824934f91764e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e462f3ae4d43e7165d4be08622580408df45acdd11126416b95824934f91764e", kill_on_drop: false }` [INFO] [stdout] e462f3ae4d43e7165d4be08622580408df45acdd11126416b95824934f91764e