[INFO] cloning repository https://github.com/rtbo/genpw [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rtbo/genpw" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frtbo%2Fgenpw", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frtbo%2Fgenpw'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 333fc59f230b332a94e0615d485f31778b51d5d3 [INFO] linting rtbo/genpw against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frtbo%2Fgenpw" "/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/rtbo/genpw [INFO] finished tweaking git repo https://github.com/rtbo/genpw [INFO] tweaked toml for git repo https://github.com/rtbo/genpw written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rtbo/genpw 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/rtbo/genpw 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 rustls-webpki v0.103.2 [INFO] [stderr] Downloaded unidecode v0.3.0 [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] 0994f6c7c9cb5f31a5828d018601ed684091437446bb29f740f27c3b5cb550ef [INFO] running `Command { std: "docker" "start" "-a" "0994f6c7c9cb5f31a5828d018601ed684091437446bb29f740f27c3b5cb550ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0994f6c7c9cb5f31a5828d018601ed684091437446bb29f740f27c3b5cb550ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0994f6c7c9cb5f31a5828d018601ed684091437446bb29f740f27c3b5cb550ef", kill_on_drop: false }` [INFO] [stdout] 0994f6c7c9cb5f31a5828d018601ed684091437446bb29f740f27c3b5cb550ef [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] 94138eb739dedc0bc0ef99d5acd168909b546d82c16baa1b46c889933e422e1b [INFO] running `Command { std: "docker" "start" "-a" "94138eb739dedc0bc0ef99d5acd168909b546d82c16baa1b46c889933e422e1b", kill_on_drop: false }` [INFO] [stderr] Checking smallvec v1.15.0 [INFO] [stderr] Compiling cc v1.2.21 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking socket2 v0.5.9 [INFO] [stderr] Compiling icu_locid_transform_data v1.5.1 [INFO] [stderr] Checking bitflags v2.9.0 [INFO] [stderr] Compiling icu_properties_data v1.5.1 [INFO] [stderr] Compiling icu_normalizer_data v1.5.1 [INFO] [stderr] Checking tracing-core v0.1.33 [INFO] [stderr] Compiling openssl v0.10.72 [INFO] [stderr] Checking hashbrown v0.15.3 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking tokio v1.45.0 [INFO] [stderr] Compiling getrandom v0.3.2 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking indexmap v2.9.0 [INFO] [stderr] Checking x11rb-protocol v0.13.1 [INFO] [stderr] Checking clap_builder v4.5.37 [INFO] [stderr] Compiling openssl-sys v0.9.108 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking unidecode v0.3.0 [INFO] [stderr] Checking rand v0.9.1 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking tokio-util v0.7.15 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking h2 v0.4.10 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking x11rb v0.13.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling clap_derive v4.5.32 [INFO] [stderr] Checking arboard v3.5.0 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Checking clap v4.5.37 [INFO] [stderr] Checking hyper v1.6.0 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking hyper-util v0.1.11 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking reqwest v0.12.15 [INFO] [stderr] Checking genpw v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/genpw/ascii.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | / if self.uppers.is_some() { [INFO] [stdout] 199 | | if char_count.uppers == 0 { [INFO] [stdout] 200 | | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 201 | | "No upper case character".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 204 | | } [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] 198 ~ if self.uppers.is_some() [INFO] [stdout] 199 ~ && char_count.uppers == 0 { [INFO] [stdout] 200 | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 201 | "No upper case character".to_string(), [INFO] [stdout] 202 | )); [INFO] [stdout] 203 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/genpw/ascii.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | / if self.lowers.is_some() { [INFO] [stdout] 206 | | if char_count.lowers == 0 { [INFO] [stdout] 207 | | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 208 | | "No lower case character".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 211 | | } [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] 205 ~ if self.lowers.is_some() [INFO] [stdout] 206 ~ && char_count.lowers == 0 { [INFO] [stdout] 207 | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 208 | "No lower case character".to_string(), [INFO] [stdout] 209 | )); [INFO] [stdout] 210 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/genpw/ascii.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | / if self.digits.is_some() { [INFO] [stdout] 213 | | if char_count.digits == 0 { [INFO] [stdout] 214 | | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 215 | | "No digit character".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 218 | | } [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] 212 ~ if self.digits.is_some() [INFO] [stdout] 213 ~ && char_count.digits == 0 { [INFO] [stdout] 214 | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 215 | "No digit character".to_string(), [INFO] [stdout] 216 | )); [INFO] [stdout] 217 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/genpw/ascii.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | / if self.symbols.is_some() { [INFO] [stdout] 220 | | if char_count.symbols == 0 { [INFO] [stdout] 221 | | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 222 | | "No special character".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 225 | | } [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] 219 ~ if self.symbols.is_some() [INFO] [stdout] 220 ~ && char_count.symbols == 0 { [INFO] [stdout] 221 | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 222 | "No special character".to_string(), [INFO] [stdout] 223 | )); [INFO] [stdout] 224 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/genpw/ascii.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | / if self.uppers.is_some() { [INFO] [stdout] 199 | | if char_count.uppers == 0 { [INFO] [stdout] 200 | | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 201 | | "No upper case character".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 204 | | } [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] 198 ~ if self.uppers.is_some() [INFO] [stdout] 199 ~ && char_count.uppers == 0 { [INFO] [stdout] 200 | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 201 | "No upper case character".to_string(), [INFO] [stdout] 202 | )); [INFO] [stdout] 203 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/genpw/ascii.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | / if self.lowers.is_some() { [INFO] [stdout] 206 | | if char_count.lowers == 0 { [INFO] [stdout] 207 | | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 208 | | "No lower case character".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 211 | | } [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] 205 ~ if self.lowers.is_some() [INFO] [stdout] 206 ~ && char_count.lowers == 0 { [INFO] [stdout] 207 | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 208 | "No lower case character".to_string(), [INFO] [stdout] 209 | )); [INFO] [stdout] 210 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/genpw/ascii.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | / if self.digits.is_some() { [INFO] [stdout] 213 | | if char_count.digits == 0 { [INFO] [stdout] 214 | | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 215 | | "No digit character".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 218 | | } [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] 212 ~ if self.digits.is_some() [INFO] [stdout] 213 ~ && char_count.digits == 0 { [INFO] [stdout] 214 | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 215 | "No digit character".to_string(), [INFO] [stdout] 216 | )); [INFO] [stdout] 217 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/genpw/ascii.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | / if self.symbols.is_some() { [INFO] [stdout] 220 | | if char_count.symbols == 0 { [INFO] [stdout] 221 | | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 222 | | "No special character".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 225 | | } [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] 219 ~ if self.symbols.is_some() [INFO] [stdout] 220 ~ && char_count.symbols == 0 { [INFO] [stdout] 221 | return Err(Error::IncompatibleRequirements( [INFO] [stdout] 222 | "No special character".to_string(), [INFO] [stdout] 223 | )); [INFO] [stdout] 224 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting float literal to `f64` is unnecessary [INFO] [stdout] --> src/genpw/ascii.rs:421:56 [INFO] [stdout] | [INFO] [stdout] 421 | assert!(genpw.number_of_possible_passwords() > 1e20 as f64); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `1e20_f64` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/genpw/dict.rs:138:26 [INFO] [stdout] | [INFO] [stdout] 138 | fs::File::create(&path) [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/genpw/dict.rs:144:47 [INFO] [stdout] | [INFO] [stdout] 144 | let line = line.map_err(|e| Error::Io(format!("Could not read response line"), e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Could not read response line".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: useless use of `format!` [INFO] [stdout] --> src/genpw/dict.rs:152:40 [INFO] [stdout] | [INFO] [stdout] 152 | .map_err(|e| Error::Io(format!("Could not write line"), e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Could not write line".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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/genpw/dict.rs:157:37 [INFO] [stdout] | [INFO] [stdout] 157 | let metadata = fs::metadata(&path).unwrap(); [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/genpw/dict.rs:170:24 [INFO] [stdout] | [INFO] [stdout] 170 | fs::File::open(&path).map_err(|e| Error::Io(format!("Could not open file {path:?}"), e))?; [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/genpw/dict.rs:177:47 [INFO] [stdout] | [INFO] [stdout] 177 | let line = line.map_err(|e| Error::Io(format!("Could not read line"), e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Could not read line".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] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/genpw/dict.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | while let Some(c) = chars.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for c in chars` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] = note: `#[warn(clippy::while_let_on_iterator)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/genpw/dict.rs:138:26 [INFO] [stdout] | [INFO] [stdout] 138 | fs::File::create(&path) [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/genpw/dict.rs:144:47 [INFO] [stdout] | [INFO] [stdout] 144 | let line = line.map_err(|e| Error::Io(format!("Could not read response line"), e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Could not read response line".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: useless use of `format!` [INFO] [stdout] --> src/genpw/dict.rs:152:40 [INFO] [stdout] | [INFO] [stdout] 152 | .map_err(|e| Error::Io(format!("Could not write line"), e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Could not write line".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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/genpw/dict.rs:157:37 [INFO] [stdout] | [INFO] [stdout] 157 | let metadata = fs::metadata(&path).unwrap(); [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `upper_idx` [INFO] [stdout] --> src/genpw/dict.rs:403:26 [INFO] [stdout] | [INFO] [stdout] 403 | for i in ii..upper_idx.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 [INFO] [stdout] | [INFO] [stdout] 403 - for i in ii..upper_idx.len() { [INFO] [stdout] 403 + for in upper_idx.iter_mut().skip(ii) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/genpw/dict.rs:170:24 [INFO] [stdout] | [INFO] [stdout] 170 | fs::File::open(&path).map_err(|e| Error::Io(format!("Could not open file {path:?}"), e))?; [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/genpw/dict.rs:177:47 [INFO] [stdout] | [INFO] [stdout] 177 | let line = line.map_err(|e| Error::Io(format!("Could not read line"), e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Could not read line".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] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/genpw/dict.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | while let Some(c) = chars.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for c in chars` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] = note: `#[warn(clippy::while_let_on_iterator)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `upper_idx` [INFO] [stdout] --> src/genpw/dict.rs:403:26 [INFO] [stdout] | [INFO] [stdout] 403 | for i in ii..upper_idx.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 [INFO] [stdout] | [INFO] [stdout] 403 - for i in ii..upper_idx.len() { [INFO] [stdout] 403 + for in upper_idx.iter_mut().skip(ii) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/dict.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 167 | if !chars.next().is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `chars.next().is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/dict.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 167 | if !chars.next().is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `chars.next().is_some()` [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 57.42s [INFO] running `Command { std: "docker" "inspect" "94138eb739dedc0bc0ef99d5acd168909b546d82c16baa1b46c889933e422e1b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "94138eb739dedc0bc0ef99d5acd168909b546d82c16baa1b46c889933e422e1b", kill_on_drop: false }` [INFO] [stdout] 94138eb739dedc0bc0ef99d5acd168909b546d82c16baa1b46c889933e422e1b