[INFO] fetching crate sqli 1.0.3... [INFO] linting sqli-1.0.3 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate sqli 1.0.3 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate sqli 1.0.3 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate sqli 1.0.3 [INFO] tweaked toml for crates.io crate sqli 1.0.3 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate sqli 1.0.3 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 sqli 1.0.3 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 miniz_oxide v0.7.4 [INFO] [stderr] Downloaded foldhash v0.1.4 [INFO] [stderr] Downloaded either v1.14.0 [INFO] [stderr] Downloaded sqlx-macros-core v0.8.3 [INFO] [stderr] Downloaded assert_cmd v2.0.16 [INFO] [stderr] Downloaded sqlx-sqlite v0.8.3 [INFO] [stderr] Downloaded polling v3.7.4 [INFO] [stderr] Downloaded async-io v2.4.0 [INFO] [stderr] Downloaded rsa v0.9.7 [INFO] [stderr] Downloaded sqlx-core v0.8.3 [INFO] [stderr] Downloaded sqlx v0.8.3 [INFO] [stderr] Downloaded rustix v0.37.28 [INFO] [stderr] Downloaded sqlx-postgres v0.8.3 [INFO] [stderr] Downloaded sqlx-mysql v0.8.3 [INFO] [stderr] Downloaded tui-textarea v0.7.0 [INFO] [stderr] Downloaded async-std v1.13.0 [INFO] [stderr] Downloaded tui-tree-widget v0.23.0 [INFO] [stderr] Downloaded console v0.15.10 [INFO] [stderr] Downloaded pgtemp v0.6.0 [INFO] [stderr] Downloaded insta v1.42.1 [INFO] [stderr] Downloaded sqlx-macros v0.8.3 [INFO] [stderr] Downloaded whoami v1.5.2 [INFO] [stderr] Downloaded async-executor v1.13.1 [INFO] [stderr] Downloaded blocking v1.6.1 [INFO] [stderr] Downloaded event-listener-strategy v0.5.3 [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] 8a7be41410728a251b14982f8a082145f8e033d0e03c202e76d7b3d4d4a30867 [INFO] running `Command { std: "docker" "start" "-a" "8a7be41410728a251b14982f8a082145f8e033d0e03c202e76d7b3d4d4a30867", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8a7be41410728a251b14982f8a082145f8e033d0e03c202e76d7b3d4d4a30867", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8a7be41410728a251b14982f8a082145f8e033d0e03c202e76d7b3d4d4a30867", kill_on_drop: false }` [INFO] [stdout] 8a7be41410728a251b14982f8a082145f8e033d0e03c202e76d7b3d4d4a30867 [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] 456b337dc72aeb53e1299562f9117d226a4fdd9982c0800f05492aa7cfd3f8af [INFO] running `Command { std: "docker" "start" "-a" "456b337dc72aeb53e1299562f9117d226a4fdd9982c0800f05492aa7cfd3f8af", kill_on_drop: false }` [INFO] [stderr] Checking value-bag v1.10.0 [INFO] [stderr] Compiling cc v1.2.16 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling parking v2.2.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking bitflags v2.9.0 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Compiling io-lifetimes v1.0.11 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Checking smallvec v1.14.0 [INFO] [stderr] Compiling serde v1.0.218 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling writeable v0.5.5 [INFO] [stderr] Compiling litemap v0.7.5 [INFO] [stderr] Checking log v0.4.26 [INFO] [stderr] Compiling polling v2.8.0 [INFO] [stderr] Compiling rustix v0.37.28 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling event-listener v5.4.0 [INFO] [stderr] Checking foldhash v0.1.4 [INFO] [stderr] Compiling icu_locid_transform_data v1.5.0 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling futures-lite v2.6.0 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling async-io v1.13.0 [INFO] [stderr] Compiling serde_json v1.0.139 [INFO] [stderr] Compiling icu_properties_data v1.5.0 [INFO] [stderr] Compiling rustversion v1.0.19 [INFO] [stderr] Checking event-listener-strategy v0.5.3 [INFO] [stderr] Compiling icu_normalizer_data v1.5.0 [INFO] [stderr] Compiling utf16_iter v1.0.5 [INFO] [stderr] Compiling async-task v4.7.1 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling write16 v1.0.0 [INFO] [stderr] Compiling piper v0.2.4 [INFO] [stderr] Compiling async-lock v3.4.0 [INFO] [stderr] Compiling async-channel v2.3.1 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking either v1.14.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling yoke v0.7.5 [INFO] [stderr] Compiling blocking v1.6.1 [INFO] [stderr] Compiling async-executor v1.13.1 [INFO] [stderr] Compiling zerovec v0.10.4 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling linux-raw-sys v0.3.8 [INFO] [stderr] Compiling openssl-sys v0.9.106 [INFO] [stderr] Compiling waker-fn v1.2.0 [INFO] [stderr] Compiling fastrand v1.9.0 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling tinyvec v1.8.1 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling futures-lite v1.13.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling async-lock v2.8.0 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Compiling async-channel v1.9.0 [INFO] [stderr] Compiling openssl v0.10.71 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling kv-log-macro v1.0.7 [INFO] [stderr] Compiling socket2 v0.4.10 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling iana-time-zone v0.1.61 [INFO] [stderr] Compiling ryu v1.0.19 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling chrono v0.4.40 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling unicode-normalization v0.1.24 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling crc v3.2.1 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Checking signal-hook v0.3.17 [INFO] [stderr] Compiling indexmap v2.7.1 [INFO] [stderr] Compiling hashlink v0.10.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling bytes v1.10.0 [INFO] [stderr] Compiling unicode-properties v0.1.3 [INFO] [stderr] Compiling unicode-bidi v0.3.18 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Compiling stringprep v0.1.5 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling polling v3.7.4 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Checking castaway v0.2.3 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling backtrace v0.3.71 [INFO] [stderr] Compiling async-io v2.4.0 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Compiling getrandom v0.3.1 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling home v0.5.11 [INFO] [stderr] Compiling whoami v1.5.2 [INFO] [stderr] Checking gimli v0.28.1 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling indoc v2.0.5 [INFO] [stderr] Checking miniz_oxide v0.7.4 [INFO] [stderr] Checking compact_str v0.8.1 [INFO] [stderr] Compiling async-global-executor v2.4.1 [INFO] [stderr] Compiling instability v0.3.7 [INFO] [stderr] Compiling tempfile v3.17.1 [INFO] [stderr] Checking tracing-subscriber v0.3.19 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Checking async-std v1.13.0 [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Checking unicode-truncate v1.1.0 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking unicode-width v0.2.0 [INFO] [stderr] Checking cassowary v0.3.0 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking tracing-error v0.2.1 [INFO] [stderr] Checking ratatui v0.29.0 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking indenter v0.3.3 [INFO] [stderr] Checking owo-colors v3.5.0 [INFO] [stderr] Compiling anyhow v1.0.96 [INFO] [stderr] Checking dirs-sys v0.5.0 [INFO] [stderr] Checking clap_builder v4.5.31 [INFO] [stderr] Checking tokio v1.43.0 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking rtoolbox v0.0.2 [INFO] [stderr] Checking csv-core v0.1.12 [INFO] [stderr] Compiling doc-comment v0.3.3 [INFO] [stderr] Checking unicode-linebreak v0.1.5 [INFO] [stderr] Checking predicates-core v1.0.9 [INFO] [stderr] Checking color-spantrace v0.2.1 [INFO] [stderr] Checking sqlx-core v0.8.3 [INFO] [stderr] Checking smawk v0.3.2 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Checking rpassword v7.3.1 [INFO] [stderr] Checking dirs v6.0.0 [INFO] [stderr] Checking float-cmp v0.10.0 [INFO] [stderr] Compiling assert_cmd v2.0.16 [INFO] [stderr] Checking textwrap v0.16.1 [INFO] [stderr] Checking predicates-tree v1.0.12 [INFO] [stderr] Checking console v0.15.10 [INFO] [stderr] Checking wait-timeout v0.2.1 [INFO] [stderr] Checking similar v2.7.0 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking tui-tree-widget v0.23.0 [INFO] [stderr] Checking tui-textarea v0.7.0 [INFO] [stderr] Checking addr2line v0.21.0 [INFO] [stderr] Checking insta v1.42.1 [INFO] [stderr] Checking color-eyre v0.6.3 [INFO] [stderr] Checking clap v4.5.31 [INFO] [stderr] Checking sqlx-postgres v0.8.3 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking bstr v1.11.3 [INFO] [stderr] Checking predicates v3.1.3 [INFO] [stderr] Checking pgtemp v0.6.0 [INFO] [stderr] Compiling sqlx-macros-core v0.8.3 [INFO] [stderr] Compiling sqlx-macros v0.8.3 [INFO] [stderr] Checking sqlx v0.8.3 [INFO] [stderr] Checking sqli v1.0.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: called `unwrap` on `selected_file.collection_name` after checking its variant with `is_some` [INFO] [stdout] --> src/tui/app.rs:662:21 [INFO] [stdout] | [INFO] [stdout] 660 | let file_path = if !selected_file.is_folder && selected_file.collection_name.is_some() { [INFO] [stdout] | --------------------------------------- the check is happening here [INFO] [stdout] 661 | format!("{}/{}", [INFO] [stdout] 662 | selected_file.collection_name.as_ref().unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/event.rs:42:33 [INFO] [stdout] | [INFO] [stdout] 42 | / ... if event_sender.send(Event::Key(key)).is_err() { [INFO] [stdout] 43 | | ... break; [INFO] [stdout] 44 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 41 ~ Ok(event::Event::Key(key)) [INFO] [stdout] 42 ~ if event_sender.send(Event::Key(key)).is_err() => { [INFO] [stdout] 43 | break; [INFO] [stdout] 44 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/event.rs:47:33 [INFO] [stdout] | [INFO] [stdout] 47 | / ... if event_sender.send(Event::Mouse(mouse)).is_err() { [INFO] [stdout] 48 | | ... break; [INFO] [stdout] 49 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 46 ~ Ok(event::Event::Mouse(mouse)) [INFO] [stdout] 47 ~ if event_sender.send(Event::Mouse(mouse)).is_err() => { [INFO] [stdout] 48 | break; [INFO] [stdout] 49 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/event.rs:52:33 [INFO] [stdout] | [INFO] [stdout] 52 | / ... if event_sender.send(Event::Resize(w, h)).is_err() { [INFO] [stdout] 53 | | ... break; [INFO] [stdout] 54 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 51 ~ Ok(event::Event::Resize(w, h)) [INFO] [stdout] 52 ~ if event_sender.send(Event::Resize(w, h)).is_err() => { [INFO] [stdout] 53 | break; [INFO] [stdout] 54 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/widgets/button.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | / if self.state == State::Active { [INFO] [stdout] 148 | | self.state = State::Normal; [INFO] [stdout] 149 | | true [INFO] [stdout] 150 | | } else { [INFO] [stdout] 151 | | false [INFO] [stdout] 152 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 146 ~ MouseEventKind::Up(MouseButton::Left) [INFO] [stdout] 147 ~ if self.state == State::Active => { [INFO] [stdout] 148 | self.state = State::Normal; [INFO] [stdout] 149 | true [INFO] [stdout] 150 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/tui/widgets/radio_group.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | / std::iter::repeat(Constraint::Ratio(1, self.options.len().try_into().unwrap())) [INFO] [stdout] 90 | | .take(self.options.len()) [INFO] [stdout] | |_________________________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Constraint::Ratio(1, self.options.len().try_into().unwrap()), self.options.len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/tui/widgets/radio_group.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | / std::iter::repeat(Constraint::Ratio(1, self.options.len().try_into().unwrap())) [INFO] [stdout] 112 | | .take(self.options.len()) [INFO] [stdout] | |_____________________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Constraint::Ratio(1, self.options.len().try_into().unwrap()), self.options.len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/sql/postgresql.rs:234:17 [INFO] [stdout] | [INFO] [stdout] 234 | assert!(result.rows.len() > 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!result.rows.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: called `unwrap` on `selected_file.collection_name` after checking its variant with `is_some` [INFO] [stdout] --> src/tui/app.rs:662:21 [INFO] [stdout] | [INFO] [stdout] 660 | let file_path = if !selected_file.is_folder && selected_file.collection_name.is_some() { [INFO] [stdout] | --------------------------------------- the check is happening here [INFO] [stdout] 661 | format!("{}/{}", [INFO] [stdout] 662 | selected_file.collection_name.as_ref().unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/event.rs:42:33 [INFO] [stdout] | [INFO] [stdout] 42 | / ... if event_sender.send(Event::Key(key)).is_err() { [INFO] [stdout] 43 | | ... break; [INFO] [stdout] 44 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 41 ~ Ok(event::Event::Key(key)) [INFO] [stdout] 42 ~ if event_sender.send(Event::Key(key)).is_err() => { [INFO] [stdout] 43 | break; [INFO] [stdout] 44 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/event.rs:47:33 [INFO] [stdout] | [INFO] [stdout] 47 | / ... if event_sender.send(Event::Mouse(mouse)).is_err() { [INFO] [stdout] 48 | | ... break; [INFO] [stdout] 49 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 46 ~ Ok(event::Event::Mouse(mouse)) [INFO] [stdout] 47 ~ if event_sender.send(Event::Mouse(mouse)).is_err() => { [INFO] [stdout] 48 | break; [INFO] [stdout] 49 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/event.rs:52:33 [INFO] [stdout] | [INFO] [stdout] 52 | / ... if event_sender.send(Event::Resize(w, h)).is_err() { [INFO] [stdout] 53 | | ... break; [INFO] [stdout] 54 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 51 ~ Ok(event::Event::Resize(w, h)) [INFO] [stdout] 52 ~ if event_sender.send(Event::Resize(w, h)).is_err() => { [INFO] [stdout] 53 | break; [INFO] [stdout] 54 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/widgets/button.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | / if self.state == State::Active { [INFO] [stdout] 148 | | self.state = State::Normal; [INFO] [stdout] 149 | | true [INFO] [stdout] 150 | | } else { [INFO] [stdout] 151 | | false [INFO] [stdout] 152 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 146 ~ MouseEventKind::Up(MouseButton::Left) [INFO] [stdout] 147 ~ if self.state == State::Active => { [INFO] [stdout] 148 | self.state = State::Normal; [INFO] [stdout] 149 | true [INFO] [stdout] 150 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/tui/widgets/radio_group.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | / std::iter::repeat(Constraint::Ratio(1, self.options.len().try_into().unwrap())) [INFO] [stdout] 90 | | .take(self.options.len()) [INFO] [stdout] | |_________________________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Constraint::Ratio(1, self.options.len().try_into().unwrap()), self.options.len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/tui/widgets/radio_group.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | / std::iter::repeat(Constraint::Ratio(1, self.options.len().try_into().unwrap())) [INFO] [stdout] 112 | | .take(self.options.len()) [INFO] [stdout] | |_____________________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Constraint::Ratio(1, self.options.len().try_into().unwrap()), self.options.len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 13s [INFO] running `Command { std: "docker" "inspect" "456b337dc72aeb53e1299562f9117d226a4fdd9982c0800f05492aa7cfd3f8af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "456b337dc72aeb53e1299562f9117d226a4fdd9982c0800f05492aa7cfd3f8af", kill_on_drop: false }` [INFO] [stdout] 456b337dc72aeb53e1299562f9117d226a4fdd9982c0800f05492aa7cfd3f8af