[INFO] cloning repository https://github.com/yrbane/photo-sort [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yrbane/photo-sort" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyrbane%2Fphoto-sort", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyrbane%2Fphoto-sort'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b94fa190576f5a4921a0a15e0e850cbcdef85b8a [INFO] linting yrbane/photo-sort against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyrbane%2Fphoto-sort" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/yrbane/photo-sort [INFO] finished tweaking git repo https://github.com/yrbane/photo-sort [INFO] tweaked toml for git repo https://github.com/yrbane/photo-sort written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/yrbane/photo-sort 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/yrbane/photo-sort 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 mutate_once v0.1.2 [INFO] [stderr] Downloaded clap v4.5.58 [INFO] [stderr] Downloaded kamadak-exif v0.6.1 [INFO] [stderr] Downloaded clap_builder v4.5.58 [INFO] [stderr] Downloaded syn v2.0.115 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] b229b2714521bd803bdfb916fa1190e76ea2c0be17f1e0bf50674e5c53c97a7d [INFO] running `Command { std: "docker" "start" "-a" "b229b2714521bd803bdfb916fa1190e76ea2c0be17f1e0bf50674e5c53c97a7d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b229b2714521bd803bdfb916fa1190e76ea2c0be17f1e0bf50674e5c53c97a7d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b229b2714521bd803bdfb916fa1190e76ea2c0be17f1e0bf50674e5c53c97a7d", kill_on_drop: false }` [INFO] [stdout] b229b2714521bd803bdfb916fa1190e76ea2c0be17f1e0bf50674e5c53c97a7d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 1e5cbf19df063ac3d606a3180680d7e8222702712ea854ebee990d0f52cd35e1 [INFO] running `Command { std: "docker" "start" "-a" "1e5cbf19df063ac3d606a3180680d7e8222702712ea854ebee990d0f52cd35e1", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.23 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Checking memchr v2.8.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking bitflags v2.11.0 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling nix v0.31.1 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Checking flate2 v1.1.9 [INFO] [stderr] Checking weezl v0.1.12 [INFO] [stderr] Checking unicode-width v0.2.2 [INFO] [stderr] Checking zune-core v0.5.1 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Checking clap_builder v4.5.58 [INFO] [stderr] Checking number_prefix v0.4.0 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Checking bytemuck v1.25.0 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking zune-jpeg v0.5.12 [INFO] [stderr] Checking constant_time_eq v0.4.2 [INFO] [stderr] Checking mutate_once v0.1.2 [INFO] [stderr] Checking iana-time-zone v0.1.65 [INFO] [stderr] Checking tiny_http v0.12.0 [INFO] [stderr] Checking kamadak-exif v0.6.1 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Compiling syn v2.0.115 [INFO] [stderr] Checking png v0.18.0 [INFO] [stderr] Checking pxfm v0.1.27 [INFO] [stderr] Compiling blake3 v1.8.3 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking console v0.15.11 [INFO] [stderr] Checking indicatif v0.17.11 [INFO] [stderr] Checking ctrlc v3.5.2 [INFO] [stderr] Checking moxcms v0.7.11 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Compiling zerocopy-derive v0.8.39 [INFO] [stderr] Compiling fax_derive v0.2.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Checking fax v0.2.6 [INFO] [stderr] Checking clap v4.5.58 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking chrono v0.4.43 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Checking tiff v0.10.3 [INFO] [stderr] Checking image v0.25.9 [INFO] [stderr] Checking photo-sort v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/export.rs:25:20 [INFO] [stdout] | [INFO] [stdout] 25 | if !metadata.get_rating(f).is_some_and(|r| r >= min) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `metadata.get_rating(f).is_none_or(|r| r < min)` [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: this `if` statement can be collapsed [INFO] [stdout] --> src/export.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | / if let Some(t) = tag { [INFO] [stdout] 20 | | if !metadata.get_tags(f).contains(&t.to_string()) { [INFO] [stdout] 21 | | return false; [INFO] [stdout] 22 | | } [INFO] [stdout] 23 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 19 ~ if let Some(t) = tag [INFO] [stdout] 20 ~ && !metadata.get_tags(f).contains(&t.to_string()) { [INFO] [stdout] 21 | return false; [INFO] [stdout] 22 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/export.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | / if let Some(min) = min_rating { [INFO] [stdout] 25 | | if !metadata.get_rating(f).is_some_and(|r| r >= min) { [INFO] [stdout] 26 | | return false; [INFO] [stdout] 27 | | } [INFO] [stdout] 28 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 24 ~ if let Some(min) = min_rating [INFO] [stdout] 25 ~ && !metadata.get_rating(f).is_some_and(|r| r >= min) { [INFO] [stdout] 26 | return false; [INFO] [stdout] 27 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/gallery.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | / if let Some(year) = rel.split('/').next() { [INFO] [stdout] 29 | | if year.len() == 4 && year.chars().all(|c| c.is_ascii_digit()) { [INFO] [stdout] 30 | | by_year.entry(year.to_string()).or_default().push(rel); [INFO] [stdout] 31 | | } [INFO] [stdout] 32 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 28 ~ if let Some(year) = rel.split('/').next() [INFO] [stdout] 29 ~ && year.len() == 4 && year.chars().all(|c| c.is_ascii_digit()) { [INFO] [stdout] 30 | by_year.entry(year.to_string()).or_default().push(rel); [INFO] [stdout] 31 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/serve.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | / if bytes[i] == b'%' && i + 2 < bytes.len() { [INFO] [stdout] 154 | | if let Ok(val) = u8::from_str_radix( [INFO] [stdout] 155 | | &String::from_utf8_lossy(&bytes[i + 1..i + 3]), [INFO] [stdout] 156 | | 16, [INFO] [stdout] ... | [INFO] [stdout] 162 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 153 ~ if bytes[i] == b'%' && i + 2 < bytes.len() [INFO] [stdout] 154 ~ && let Ok(val) = u8::from_str_radix( [INFO] [stdout] 155 | &String::from_utf8_lossy(&bytes[i + 1..i + 3]), [INFO] [stdout] ... [INFO] [stdout] 160 | continue; [INFO] [stdout] 161 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/serve.rs:336:41 [INFO] [stdout] | [INFO] [stdout] 336 | / ... if let Some(old_year) = year_of(&mv.src) { [INFO] [stdout] 337 | | ... if let Some(files) = index.get_mut(old_year) { [INFO] [stdout] 338 | | ... files.retain(|f| f != &mv.src); [INFO] [stdout] 339 | | ... if files.is_empty() { [INFO] [stdout] ... | [INFO] [stdout] 343 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 336 ~ if let Some(old_year) = year_of(&mv.src) [INFO] [stdout] 337 ~ && let Some(files) = index.get_mut(old_year) { [INFO] [stdout] 338 | files.retain(|f| f != &mv.src); [INFO] [stdout] ... [INFO] [stdout] 341 | } [INFO] [stdout] 342 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/sort.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 303 | / if let Some(&prev_size) = processed_index.get(&source_str) { [INFO] [stdout] 304 | | if prev_size == file_size { [INFO] [stdout] 305 | | skipped += 1; [INFO] [stdout] 306 | | pb.set_message(format!( [INFO] [stdout] ... | [INFO] [stdout] 320 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 303 ~ if let Some(&prev_size) = processed_index.get(&source_str) [INFO] [stdout] 304 ~ && prev_size == file_size { [INFO] [stdout] 305 | skipped += 1; [INFO] [stdout] ... [INFO] [stdout] 318 | continue; [INFO] [stdout] 319 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/sort.rs:386:9 [INFO] [stdout] | [INFO] [stdout] 386 | / if let Some(year_dir) = dest_path.parent() { [INFO] [stdout] 387 | | if let Err(e) = append_origin(year_dir, &dest_filename, &source_str) { [INFO] [stdout] 388 | | pb.suspend(|| { [INFO] [stdout] 389 | | eprintln!(" {} origins : {e}", style("!").yellow().bold()); [INFO] [stdout] ... | [INFO] [stdout] 392 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 386 ~ if let Some(year_dir) = dest_path.parent() [INFO] [stdout] 387 ~ && let Err(e) = append_origin(year_dir, &dest_filename, &source_str) { [INFO] [stdout] 388 | pb.suspend(|| { [INFO] [stdout] 389 | eprintln!(" {} origins : {e}", style("!").yellow().bold()); [INFO] [stdout] 390 | }); [INFO] [stdout] 391 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/thumb.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | (to_generate.len() + n_workers - 1) / n_workers [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `to_generate.len().div_ceil(n_workers)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/export.rs:25:20 [INFO] [stdout] | [INFO] [stdout] 25 | if !metadata.get_rating(f).is_some_and(|r| r >= min) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `metadata.get_rating(f).is_none_or(|r| r < min)` [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: this `if` statement can be collapsed [INFO] [stdout] --> src/export.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | / if let Some(t) = tag { [INFO] [stdout] 20 | | if !metadata.get_tags(f).contains(&t.to_string()) { [INFO] [stdout] 21 | | return false; [INFO] [stdout] 22 | | } [INFO] [stdout] 23 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 19 ~ if let Some(t) = tag [INFO] [stdout] 20 ~ && !metadata.get_tags(f).contains(&t.to_string()) { [INFO] [stdout] 21 | return false; [INFO] [stdout] 22 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/export.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | / if let Some(min) = min_rating { [INFO] [stdout] 25 | | if !metadata.get_rating(f).is_some_and(|r| r >= min) { [INFO] [stdout] 26 | | return false; [INFO] [stdout] 27 | | } [INFO] [stdout] 28 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 24 ~ if let Some(min) = min_rating [INFO] [stdout] 25 ~ && !metadata.get_rating(f).is_some_and(|r| r >= min) { [INFO] [stdout] 26 | return false; [INFO] [stdout] 27 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/gallery.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | / if let Some(year) = rel.split('/').next() { [INFO] [stdout] 29 | | if year.len() == 4 && year.chars().all(|c| c.is_ascii_digit()) { [INFO] [stdout] 30 | | by_year.entry(year.to_string()).or_default().push(rel); [INFO] [stdout] 31 | | } [INFO] [stdout] 32 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 28 ~ if let Some(year) = rel.split('/').next() [INFO] [stdout] 29 ~ && year.len() == 4 && year.chars().all(|c| c.is_ascii_digit()) { [INFO] [stdout] 30 | by_year.entry(year.to_string()).or_default().push(rel); [INFO] [stdout] 31 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/serve.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | / if bytes[i] == b'%' && i + 2 < bytes.len() { [INFO] [stdout] 154 | | if let Ok(val) = u8::from_str_radix( [INFO] [stdout] 155 | | &String::from_utf8_lossy(&bytes[i + 1..i + 3]), [INFO] [stdout] 156 | | 16, [INFO] [stdout] ... | [INFO] [stdout] 162 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 153 ~ if bytes[i] == b'%' && i + 2 < bytes.len() [INFO] [stdout] 154 ~ && let Ok(val) = u8::from_str_radix( [INFO] [stdout] 155 | &String::from_utf8_lossy(&bytes[i + 1..i + 3]), [INFO] [stdout] ... [INFO] [stdout] 160 | continue; [INFO] [stdout] 161 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/serve.rs:336:41 [INFO] [stdout] | [INFO] [stdout] 336 | / ... if let Some(old_year) = year_of(&mv.src) { [INFO] [stdout] 337 | | ... if let Some(files) = index.get_mut(old_year) { [INFO] [stdout] 338 | | ... files.retain(|f| f != &mv.src); [INFO] [stdout] 339 | | ... if files.is_empty() { [INFO] [stdout] ... | [INFO] [stdout] 343 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 336 ~ if let Some(old_year) = year_of(&mv.src) [INFO] [stdout] 337 ~ && let Some(files) = index.get_mut(old_year) { [INFO] [stdout] 338 | files.retain(|f| f != &mv.src); [INFO] [stdout] ... [INFO] [stdout] 341 | } [INFO] [stdout] 342 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/sort.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 303 | / if let Some(&prev_size) = processed_index.get(&source_str) { [INFO] [stdout] 304 | | if prev_size == file_size { [INFO] [stdout] 305 | | skipped += 1; [INFO] [stdout] 306 | | pb.set_message(format!( [INFO] [stdout] ... | [INFO] [stdout] 320 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 303 ~ if let Some(&prev_size) = processed_index.get(&source_str) [INFO] [stdout] 304 ~ && prev_size == file_size { [INFO] [stdout] 305 | skipped += 1; [INFO] [stdout] ... [INFO] [stdout] 318 | continue; [INFO] [stdout] 319 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/sort.rs:386:9 [INFO] [stdout] | [INFO] [stdout] 386 | / if let Some(year_dir) = dest_path.parent() { [INFO] [stdout] 387 | | if let Err(e) = append_origin(year_dir, &dest_filename, &source_str) { [INFO] [stdout] 388 | | pb.suspend(|| { [INFO] [stdout] 389 | | eprintln!(" {} origins : {e}", style("!").yellow().bold()); [INFO] [stdout] ... | [INFO] [stdout] 392 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 386 ~ if let Some(year_dir) = dest_path.parent() [INFO] [stdout] 387 ~ && let Err(e) = append_origin(year_dir, &dest_filename, &source_str) { [INFO] [stdout] 388 | pb.suspend(|| { [INFO] [stdout] 389 | eprintln!(" {} origins : {e}", style("!").yellow().bold()); [INFO] [stdout] 390 | }); [INFO] [stdout] 391 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/thumb.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | (to_generate.len() + n_workers - 1) / n_workers [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `to_generate.len().div_ceil(n_workers)` [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 26.98s [INFO] running `Command { std: "docker" "inspect" "1e5cbf19df063ac3d606a3180680d7e8222702712ea854ebee990d0f52cd35e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1e5cbf19df063ac3d606a3180680d7e8222702712ea854ebee990d0f52cd35e1", kill_on_drop: false }` [INFO] [stdout] 1e5cbf19df063ac3d606a3180680d7e8222702712ea854ebee990d0f52cd35e1