[INFO] cloning repository https://github.com/GasimGasimzada/workforest [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/GasimGasimzada/workforest" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGasimGasimzada%2Fworkforest", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGasimGasimzada%2Fworkforest'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f88322d401b0f4838588480976bc8f0f4f4a13c6 [INFO] linting GasimGasimzada/workforest against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGasimGasimzada%2Fworkforest" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/GasimGasimzada/workforest [INFO] finished tweaking git repo https://github.com/GasimGasimzada/workforest [INFO] tweaked toml for git repo https://github.com/GasimGasimzada/workforest written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/GasimGasimzada/workforest 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/GasimGasimzada/workforest 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 pest_generator v2.8.5 [INFO] [stderr] Downloaded anpa v0.10.0 [INFO] [stderr] Downloaded pest_derive v2.8.5 [INFO] [stderr] Downloaded serial2 v0.2.33 [INFO] [stderr] Downloaded pest v2.8.5 [INFO] [stderr] Downloaded bon-macros v3.8.2 [INFO] [stderr] Downloaded bon v3.8.2 [INFO] [stderr] Downloaded pest_meta v2.8.5 [INFO] [stderr] Downloaded rusqlite v0.31.0 [INFO] [stderr] Downloaded petname v1.1.3 [INFO] [stderr] Downloaded tachyonfx v0.22.0 [INFO] [stderr] Downloaded libsqlite3-sys v0.28.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 4ce03dfb7fdd4b24379158b260917dcaa1151a767e62bc326990003f58e580bd [INFO] running `Command { std: "docker" "start" "-a" "4ce03dfb7fdd4b24379158b260917dcaa1151a767e62bc326990003f58e580bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4ce03dfb7fdd4b24379158b260917dcaa1151a767e62bc326990003f58e580bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4ce03dfb7fdd4b24379158b260917dcaa1151a767e62bc326990003f58e580bd", kill_on_drop: false }` [INFO] [stdout] 4ce03dfb7fdd4b24379158b260917dcaa1151a767e62bc326990003f58e580bd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 03e9eb8bd8c6659f2f464916bd6645b624e2a8ba84e9b054e2fe53efc500e441 [INFO] running `Command { std: "docker" "start" "-a" "03e9eb8bd8c6659f2f464916bd6645b624e2a8ba84e9b054e2fe53efc500e441", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking phf_shared v0.11.3 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Checking ordered-float v4.6.0 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Checking unicode-truncate v2.0.1 [INFO] [stderr] Compiling pest v2.8.5 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Checking lru v0.16.3 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Checking bytemuck v1.24.0 [INFO] [stderr] Checking regex-syntax v0.8.8 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking atomic v0.6.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Compiling terminfo v0.9.0 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking lab v0.11.0 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Checking phf v0.11.3 [INFO] [stderr] Compiling pest_meta v2.8.5 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking csscolorparser v0.6.2 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking socket2 v0.6.1 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking kasuari v0.4.11 [INFO] [stderr] Checking directories v5.0.1 [INFO] [stderr] Checking signal-hook v0.3.18 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking workforest-core v0.1.0 (/opt/rustwide/workdir/core) [INFO] [stderr] Checking tokio v1.49.0 [INFO] [stderr] Checking uuid v1.19.0 [INFO] [stderr] Checking signal-hook-mio v0.2.5 [INFO] [stderr] Checking derive_more v2.1.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking filedescriptor v0.8.3 [INFO] [stderr] Checking time v0.3.45 [INFO] [stderr] Checking webpki-roots v1.0.5 [INFO] [stderr] Checking euclid v0.22.13 [INFO] [stderr] Checking strum v0.27.2 [INFO] [stderr] Checking ratatui-core v0.1.0 [INFO] [stderr] Compiling petname v1.1.3 [INFO] [stderr] Checking deltae v0.3.2 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Compiling pest_generator v2.8.5 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking termios v0.3.3 [INFO] [stderr] Checking vtparse v0.6.2 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Checking finl_unicode v1.4.0 [INFO] [stderr] Checking anstyle v1.0.13 [INFO] [stderr] Compiling pest_derive v2.8.5 [INFO] [stderr] Checking ratatui-widgets v0.3.0 [INFO] [stderr] Checking memmem v0.1.1 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking anstream v0.6.21 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking rustls-webpki v0.103.9 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking indexmap v2.13.0 [INFO] [stderr] Checking clap_lex v0.7.7 [INFO] [stderr] Checking winnow v0.7.14 [INFO] [stderr] Checking mac_address v1.1.8 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Checking clap_builder v4.5.54 [INFO] [stderr] Checking wezterm-blob-leases v0.1.1 [INFO] [stderr] Compiling bon-macros v3.8.2 [INFO] [stderr] Checking hashlink v0.9.1 [INFO] [stderr] Checking ratatui-macros v0.7.0 [INFO] [stderr] Checking serial2 v0.2.33 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Checking serde_path_to_error v0.1.20 [INFO] [stderr] Checking crossterm v0.29.0 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking anpa v0.10.0 [INFO] [stderr] Compiling wezterm-dynamic-derive v0.1.1 [INFO] [stderr] Compiling clap_derive v3.2.25 [INFO] [stderr] Checking shell-words v1.1.1 [INFO] [stderr] Checking axum-core v0.4.5 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking ratatui-crossterm v0.1.0 [INFO] [stderr] Checking micromath v2.1.0 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Checking matchit v0.7.3 [INFO] [stderr] Checking ratatui v0.30.0 [INFO] [stderr] Checking iana-time-zone v0.1.64 [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Checking chrono v0.4.43 [INFO] [stderr] Checking wezterm-dynamic v0.2.1 [INFO] [stderr] Checking fancy-regex v0.11.0 [INFO] [stderr] Checking wezterm-bidi v0.2.3 [INFO] [stderr] Checking wezterm-color-types v0.3.0 [INFO] [stderr] Checking wezterm-input-types v0.1.0 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking portable-pty v0.9.0 [INFO] [stderr] Checking clap v4.5.54 [INFO] [stderr] Checking clap v3.2.25 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Checking termwiz v0.23.3 [INFO] [stderr] Checking hyper-util v0.1.19 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking axum v0.7.9 [INFO] [stderr] Checking bon v3.8.2 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking tachyonfx v0.22.0 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Checking workforest v0.1.0 (/opt/rustwide/workdir/cli) [INFO] [stderr] Checking workforest-tui v0.1.0 (/opt/rustwide/workdir/tui) [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> tui/src/event.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | return Ok((read_fd.into_raw_fd(), write_fd.into_raw_fd())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 174 - return Ok((read_fd.into_raw_fd(), write_fd.into_raw_fd())); [INFO] [stdout] 174 + Ok((read_fd.into_raw_fd(), write_fd.into_raw_fd())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> tui/src/windows/add_agent.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | / let mut constraints = Vec::new(); [INFO] [stdout] 190 | | constraints.push(Constraint::Length(repo_box_height)); [INFO] [stdout] 191 | | constraints.push(Constraint::Length(1)); [INFO] [stdout] 192 | | constraints.push(Constraint::Length(3)); [INFO] [stdout] ... | [INFO] [stdout] 196 | | constraints.push(Constraint::Length(3)); [INFO] [stdout] 197 | | constraints.push(Constraint::Min(0)); [INFO] [stdout] | |_________________________________________^ help: consider using the `vec![]` macro: `let constraints = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> tui/src/windows/root.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | / if app.selected_agent > 0 { [INFO] [stdout] 99 | | app.selected_agent -= 1; [INFO] [stdout] 100 | | } [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] 97 ~ KeyCode::UpArrow [INFO] [stdout] 98 ~ if app.selected_agent > 0 => { [INFO] [stdout] 99 | app.selected_agent -= 1; [INFO] [stdout] 100 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> tui/src/windows/root.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | / if app.selected_agent + 1 < app.agents.len() { [INFO] [stdout] 104 | | app.selected_agent += 1; [INFO] [stdout] 105 | | } [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] 102 ~ KeyCode::DownArrow [INFO] [stdout] 103 ~ if app.selected_agent + 1 < app.agents.len() => { [INFO] [stdout] 104 | app.selected_agent += 1; [INFO] [stdout] 105 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual checked division [INFO] [stdout] --> tui/src/windows/root.rs:163:33 [INFO] [stdout] | [INFO] [stdout] 163 | let scrollbar_position = if max_scroll > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ check performed here [INFO] [stdout] 164 | app.agent_scroll * (total_entries.saturating_sub(1)) / max_scroll [INFO] [stdout] | ----------------------------------------------------------------- division performed here [INFO] [stdout] | [INFO] [stdout] = help: consider using `checked_div` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_checked_ops [INFO] [stdout] = note: `#[warn(clippy::manual_checked_ops)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> tui/src/windows/root.rs:252:24 [INFO] [stdout] | [INFO] [stdout] 252 | let blink_on = !app.focused_agent.is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `app.focused_agent.is_none()` [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: unneeded `return` statement [INFO] [stdout] --> tui/src/event.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | return Ok((read_fd.into_raw_fd(), write_fd.into_raw_fd())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 174 - return Ok((read_fd.into_raw_fd(), write_fd.into_raw_fd())); [INFO] [stdout] 174 + Ok((read_fd.into_raw_fd(), write_fd.into_raw_fd())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> tui/src/windows/root.rs:253:16 [INFO] [stdout] | [INFO] [stdout] 253 | || (app.animation_start.elapsed().as_millis() / 700) % 2 == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(app.animation_start.elapsed().as_millis() / 700).is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> tui/src/windows/add_agent.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | / let mut constraints = Vec::new(); [INFO] [stdout] 190 | | constraints.push(Constraint::Length(repo_box_height)); [INFO] [stdout] 191 | | constraints.push(Constraint::Length(1)); [INFO] [stdout] 192 | | constraints.push(Constraint::Length(3)); [INFO] [stdout] ... | [INFO] [stdout] 196 | | constraints.push(Constraint::Length(3)); [INFO] [stdout] 197 | | constraints.push(Constraint::Min(0)); [INFO] [stdout] | |_________________________________________^ help: consider using the `vec![]` macro: `let constraints = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> tui/src/windows/root.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | / if app.selected_agent > 0 { [INFO] [stdout] 99 | | app.selected_agent -= 1; [INFO] [stdout] 100 | | } [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] 97 ~ KeyCode::UpArrow [INFO] [stdout] 98 ~ if app.selected_agent > 0 => { [INFO] [stdout] 99 | app.selected_agent -= 1; [INFO] [stdout] 100 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> tui/src/windows/root.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | / if app.selected_agent + 1 < app.agents.len() { [INFO] [stdout] 104 | | app.selected_agent += 1; [INFO] [stdout] 105 | | } [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] 102 ~ KeyCode::DownArrow [INFO] [stdout] 103 ~ if app.selected_agent + 1 < app.agents.len() => { [INFO] [stdout] 104 | app.selected_agent += 1; [INFO] [stdout] 105 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual checked division [INFO] [stdout] --> tui/src/windows/root.rs:163:33 [INFO] [stdout] | [INFO] [stdout] 163 | let scrollbar_position = if max_scroll > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ check performed here [INFO] [stdout] 164 | app.agent_scroll * (total_entries.saturating_sub(1)) / max_scroll [INFO] [stdout] | ----------------------------------------------------------------- division performed here [INFO] [stdout] | [INFO] [stdout] = help: consider using `checked_div` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_checked_ops [INFO] [stdout] = note: `#[warn(clippy::manual_checked_ops)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> tui/src/windows/root.rs:252:24 [INFO] [stdout] | [INFO] [stdout] 252 | let blink_on = !app.focused_agent.is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `app.focused_agent.is_none()` [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 `.is_multiple_of()` [INFO] [stdout] --> tui/src/windows/root.rs:253:16 [INFO] [stdout] | [INFO] [stdout] 253 | || (app.animation_start.elapsed().as_millis() / 700) % 2 == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(app.animation_start.elapsed().as_millis() / 700).is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> tui/src/main.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | !app.focused_agent.is_some() || (app.animation_start.elapsed().as_millis() / 700) % 2 == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `app.focused_agent.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> tui/src/main.rs:225:24 [INFO] [stdout] | [INFO] [stdout] 225 | let blink_on = !app.focused_agent.is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `app.focused_agent.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> tui/src/main.rs:222:41 [INFO] [stdout] | [INFO] [stdout] 222 | !app.focused_agent.is_some() || (app.animation_start.elapsed().as_millis() / 700) % 2 == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(app.animation_start.elapsed().as_millis() / 700).is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> tui/src/main.rs:226:16 [INFO] [stdout] | [INFO] [stdout] 226 | || (app.animation_start.elapsed().as_millis() / 700) % 2 == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(app.animation_start.elapsed().as_millis() / 700).is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> tui/src/main.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | !app.focused_agent.is_some() || (app.animation_start.elapsed().as_millis() / 700) % 2 == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `app.focused_agent.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> tui/src/main.rs:225:24 [INFO] [stdout] | [INFO] [stdout] 225 | let blink_on = !app.focused_agent.is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `app.focused_agent.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> tui/src/main.rs:222:41 [INFO] [stdout] | [INFO] [stdout] 222 | !app.focused_agent.is_some() || (app.animation_start.elapsed().as_millis() / 700) % 2 == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(app.animation_start.elapsed().as_millis() / 700).is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> tui/src/main.rs:226:16 [INFO] [stdout] | [INFO] [stdout] 226 | || (app.animation_start.elapsed().as_millis() / 700) % 2 == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(app.animation_start.elapsed().as_millis() / 700).is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `std::mem::drop` with a value that does not implement `Drop`. Dropping such a type only extends its contained lifetimes [INFO] [stdout] --> tui/src/main.rs:955:5 [INFO] [stdout] | [INFO] [stdout] 955 | drop(iov); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: argument has type `[std::io::IoSliceMut<'_>; 1]` [INFO] [stdout] --> tui/src/main.rs:955:10 [INFO] [stdout] | [INFO] [stdout] 955 | drop(iov); [INFO] [stdout] | ^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_non_drop [INFO] [stdout] = note: `#[warn(clippy::drop_non_drop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `std::mem::drop` with a value that does not implement `Drop`. Dropping such a type only extends its contained lifetimes [INFO] [stdout] --> tui/src/main.rs:955:5 [INFO] [stdout] | [INFO] [stdout] 955 | drop(iov); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: argument has type `[std::io::IoSliceMut<'_>; 1]` [INFO] [stdout] --> tui/src/main.rs:955:10 [INFO] [stdout] | [INFO] [stdout] 955 | drop(iov); [INFO] [stdout] | ^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_non_drop [INFO] [stdout] = note: `#[warn(clippy::drop_non_drop)]` 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] --> tui/src/main.rs:1077:5 [INFO] [stdout] | [INFO] [stdout] 1077 | / match esc { [INFO] [stdout] 1078 | | Esc::Code(code) => match code { [INFO] [stdout] 1079 | | EscCode::DecSaveCursorPosition => { [INFO] [stdout] 1080 | | let cursor_pos = view.active_surface().cursor_position(); [INFO] [stdout] ... | [INFO] [stdout] 1119 | | _ => {} [INFO] [stdout] 1120 | | } [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] 1077 ~ if let Esc::Code(code) = esc { match code { [INFO] [stdout] 1078 + EscCode::DecSaveCursorPosition => { [INFO] [stdout] 1079 + let cursor_pos = view.active_surface().cursor_position(); [INFO] [stdout] 1080 + *view.active_saved_cursor_mut() = Some(cursor_pos); [INFO] [stdout] 1081 + } [INFO] [stdout] 1082 + EscCode::DecRestoreCursorPosition => { [INFO] [stdout] 1083 + if let Some((x, y)) = *view.active_saved_cursor_mut() { [INFO] [stdout] 1084 + let surface = view.active_surface_mut(); [INFO] [stdout] 1085 + surface.add_change(Change::CursorPosition { [INFO] [stdout] 1086 + x: TermwizPosition::Absolute(x), [INFO] [stdout] 1087 + y: TermwizPosition::Absolute(y), [INFO] [stdout] 1088 + }); [INFO] [stdout] 1089 + } [INFO] [stdout] 1090 + } [INFO] [stdout] 1091 + EscCode::Index => { [INFO] [stdout] 1092 + if should_scroll_on_linefeed(view) { [INFO] [stdout] 1093 + capture_scrollback(view, 1); [INFO] [stdout] 1094 + } [INFO] [stdout] 1095 + let surface = view.active_surface_mut(); [INFO] [stdout] 1096 + surface.add_change(Change::Text("\n".to_string())); [INFO] [stdout] 1097 + } [INFO] [stdout] 1098 + EscCode::NextLine => { [INFO] [stdout] 1099 + if should_scroll_on_linefeed(view) { [INFO] [stdout] 1100 + capture_scrollback(view, 1); [INFO] [stdout] 1101 + } [INFO] [stdout] 1102 + let surface = view.active_surface_mut(); [INFO] [stdout] 1103 + surface.add_change(Change::Text("\r\n".to_string())); [INFO] [stdout] 1104 + } [INFO] [stdout] 1105 + EscCode::ReverseIndex => { [INFO] [stdout] 1106 + let surface = view.active_surface_mut(); [INFO] [stdout] 1107 + surface.add_change(Change::CursorPosition { [INFO] [stdout] 1108 + x: TermwizPosition::Relative(0), [INFO] [stdout] 1109 + y: TermwizPosition::Relative(-1), [INFO] [stdout] 1110 + }); [INFO] [stdout] 1111 + } [INFO] [stdout] 1112 + EscCode::FullReset => { [INFO] [stdout] 1113 + let surface = view.active_surface_mut(); [INFO] [stdout] 1114 + surface.add_change(Change::ClearScreen(ColorAttribute::Default)); [INFO] [stdout] 1115 + } [INFO] [stdout] 1116 + _ => {} [INFO] [stdout] 1117 + } } [INFO] [stdout] | [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] --> tui/src/main.rs:1077:5 [INFO] [stdout] | [INFO] [stdout] 1077 | / match esc { [INFO] [stdout] 1078 | | Esc::Code(code) => match code { [INFO] [stdout] 1079 | | EscCode::DecSaveCursorPosition => { [INFO] [stdout] 1080 | | let cursor_pos = view.active_surface().cursor_position(); [INFO] [stdout] ... | [INFO] [stdout] 1119 | | _ => {} [INFO] [stdout] 1120 | | } [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] 1077 ~ if let Esc::Code(code) = esc { match code { [INFO] [stdout] 1078 + EscCode::DecSaveCursorPosition => { [INFO] [stdout] 1079 + let cursor_pos = view.active_surface().cursor_position(); [INFO] [stdout] 1080 + *view.active_saved_cursor_mut() = Some(cursor_pos); [INFO] [stdout] 1081 + } [INFO] [stdout] 1082 + EscCode::DecRestoreCursorPosition => { [INFO] [stdout] 1083 + if let Some((x, y)) = *view.active_saved_cursor_mut() { [INFO] [stdout] 1084 + let surface = view.active_surface_mut(); [INFO] [stdout] 1085 + surface.add_change(Change::CursorPosition { [INFO] [stdout] 1086 + x: TermwizPosition::Absolute(x), [INFO] [stdout] 1087 + y: TermwizPosition::Absolute(y), [INFO] [stdout] 1088 + }); [INFO] [stdout] 1089 + } [INFO] [stdout] 1090 + } [INFO] [stdout] 1091 + EscCode::Index => { [INFO] [stdout] 1092 + if should_scroll_on_linefeed(view) { [INFO] [stdout] 1093 + capture_scrollback(view, 1); [INFO] [stdout] 1094 + } [INFO] [stdout] 1095 + let surface = view.active_surface_mut(); [INFO] [stdout] 1096 + surface.add_change(Change::Text("\n".to_string())); [INFO] [stdout] 1097 + } [INFO] [stdout] 1098 + EscCode::NextLine => { [INFO] [stdout] 1099 + if should_scroll_on_linefeed(view) { [INFO] [stdout] 1100 + capture_scrollback(view, 1); [INFO] [stdout] 1101 + } [INFO] [stdout] 1102 + let surface = view.active_surface_mut(); [INFO] [stdout] 1103 + surface.add_change(Change::Text("\r\n".to_string())); [INFO] [stdout] 1104 + } [INFO] [stdout] 1105 + EscCode::ReverseIndex => { [INFO] [stdout] 1106 + let surface = view.active_surface_mut(); [INFO] [stdout] 1107 + surface.add_change(Change::CursorPosition { [INFO] [stdout] 1108 + x: TermwizPosition::Relative(0), [INFO] [stdout] 1109 + y: TermwizPosition::Relative(-1), [INFO] [stdout] 1110 + }); [INFO] [stdout] 1111 + } [INFO] [stdout] 1112 + EscCode::FullReset => { [INFO] [stdout] 1113 + let surface = view.active_surface_mut(); [INFO] [stdout] 1114 + surface.add_change(Change::ClearScreen(ColorAttribute::Default)); [INFO] [stdout] 1115 + } [INFO] [stdout] 1116 + _ => {} [INFO] [stdout] 1117 + } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> tui/src/main.rs:1384:13 [INFO] [stdout] | [INFO] [stdout] 1384 | / if enabled { [INFO] [stdout] 1385 | | let surface = view.active_surface_mut(); [INFO] [stdout] 1386 | | surface.add_change(Change::CursorShape( [INFO] [stdout] 1387 | | termwiz::surface::CursorShape::BlinkingBlock, [INFO] [stdout] 1388 | | )); [INFO] [stdout] 1389 | | } [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] 1383 ~ DecPrivateModeCode::StartBlinkingCursor [INFO] [stdout] 1384 ~ if enabled => { [INFO] [stdout] 1385 | let surface = view.active_surface_mut(); [INFO] [stdout] ... [INFO] [stdout] 1388 | )); [INFO] [stdout] 1389 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> tui/src/main.rs:1392:13 [INFO] [stdout] | [INFO] [stdout] 1392 | / if enabled { [INFO] [stdout] 1393 | | let cursor_pos = view.active_surface().cursor_position(); [INFO] [stdout] 1394 | | *view.active_saved_cursor_mut() = Some(cursor_pos); [INFO] [stdout] 1395 | | } [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] 1391 ~ DecPrivateModeCode::SaveCursor [INFO] [stdout] 1392 ~ if enabled => { [INFO] [stdout] 1393 | let cursor_pos = view.active_surface().cursor_position(); [INFO] [stdout] 1394 | *view.active_saved_cursor_mut() = Some(cursor_pos); [INFO] [stdout] 1395 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> tui/src/main.rs:1428:5 [INFO] [stdout] | [INFO] [stdout] 1428 | / match code { [INFO] [stdout] 1429 | | TerminalModeCode::ShowCursor => { [INFO] [stdout] 1430 | | surface.add_change(Change::CursorVisibility(if enabled { [INFO] [stdout] 1431 | | termwiz::surface::CursorVisibility::Visible [INFO] [stdout] ... | [INFO] [stdout] 1436 | | _ => {} [INFO] [stdout] 1437 | | } [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] help: try [INFO] [stdout] | [INFO] [stdout] 1428 ~ if code == TerminalModeCode::ShowCursor { [INFO] [stdout] 1429 + surface.add_change(Change::CursorVisibility(if enabled { [INFO] [stdout] 1430 + termwiz::surface::CursorVisibility::Visible [INFO] [stdout] 1431 + } else { [INFO] [stdout] 1432 + termwiz::surface::CursorVisibility::Hidden [INFO] [stdout] 1433 + })); [INFO] [stdout] 1434 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> tui/src/main.rs:1384:13 [INFO] [stdout] | [INFO] [stdout] 1384 | / if enabled { [INFO] [stdout] 1385 | | let surface = view.active_surface_mut(); [INFO] [stdout] 1386 | | surface.add_change(Change::CursorShape( [INFO] [stdout] 1387 | | termwiz::surface::CursorShape::BlinkingBlock, [INFO] [stdout] 1388 | | )); [INFO] [stdout] 1389 | | } [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] 1383 ~ DecPrivateModeCode::StartBlinkingCursor [INFO] [stdout] 1384 ~ if enabled => { [INFO] [stdout] 1385 | let surface = view.active_surface_mut(); [INFO] [stdout] ... [INFO] [stdout] 1388 | )); [INFO] [stdout] 1389 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> tui/src/main.rs:1392:13 [INFO] [stdout] | [INFO] [stdout] 1392 | / if enabled { [INFO] [stdout] 1393 | | let cursor_pos = view.active_surface().cursor_position(); [INFO] [stdout] 1394 | | *view.active_saved_cursor_mut() = Some(cursor_pos); [INFO] [stdout] 1395 | | } [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] 1391 ~ DecPrivateModeCode::SaveCursor [INFO] [stdout] 1392 ~ if enabled => { [INFO] [stdout] 1393 | let cursor_pos = view.active_surface().cursor_position(); [INFO] [stdout] 1394 | *view.active_saved_cursor_mut() = Some(cursor_pos); [INFO] [stdout] 1395 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> tui/src/main.rs:1428:5 [INFO] [stdout] | [INFO] [stdout] 1428 | / match code { [INFO] [stdout] 1429 | | TerminalModeCode::ShowCursor => { [INFO] [stdout] 1430 | | surface.add_change(Change::CursorVisibility(if enabled { [INFO] [stdout] 1431 | | termwiz::surface::CursorVisibility::Visible [INFO] [stdout] ... | [INFO] [stdout] 1436 | | _ => {} [INFO] [stdout] 1437 | | } [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] help: try [INFO] [stdout] | [INFO] [stdout] 1428 ~ if code == TerminalModeCode::ShowCursor { [INFO] [stdout] 1429 + surface.add_change(Change::CursorVisibility(if enabled { [INFO] [stdout] 1430 + termwiz::surface::CursorVisibility::Visible [INFO] [stdout] 1431 + } else { [INFO] [stdout] 1432 + termwiz::surface::CursorVisibility::Hidden [INFO] [stdout] 1433 + })); [INFO] [stdout] 1434 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking rusqlite v0.31.0 [INFO] [stderr] Checking workforest-server v0.1.0 (/opt/rustwide/workdir/server) [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> server/src/main.rs:263:30 [INFO] [stdout] | [INFO] [stdout] 263 | .query_map([], |row| Ok(row.get::<_, String>(0)?)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 263 - .query_map([], |row| Ok(row.get::<_, String>(0)?)) [INFO] [stdout] 263 + .query_map([], |row| row.get::<_, String>(0)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> server/src/main.rs:263:30 [INFO] [stdout] | [INFO] [stdout] 263 | .query_map([], |row| Ok(row.get::<_, String>(0)?)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 263 - .query_map([], |row| Ok(row.get::<_, String>(0)?)) [INFO] [stdout] 263 + .query_map([], |row| row.get::<_, String>(0)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> server/src/main.rs:1086:13 [INFO] [stdout] | [INFO] [stdout] 1086 | / if enabled { [INFO] [stdout] 1087 | | snapshot.cursor_shape = CursorShape::BlinkingBlock; [INFO] [stdout] 1088 | | } [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] 1085 ~ DecPrivateModeCode::StartBlinkingCursor [INFO] [stdout] 1086 ~ if enabled => { [INFO] [stdout] 1087 | snapshot.cursor_shape = CursorShape::BlinkingBlock; [INFO] [stdout] 1088 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> server/src/main.rs:1086:13 [INFO] [stdout] | [INFO] [stdout] 1086 | / if enabled { [INFO] [stdout] 1087 | | snapshot.cursor_shape = CursorShape::BlinkingBlock; [INFO] [stdout] 1088 | | } [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] 1085 ~ DecPrivateModeCode::StartBlinkingCursor [INFO] [stdout] 1086 ~ if enabled => { [INFO] [stdout] 1087 | snapshot.cursor_shape = CursorShape::BlinkingBlock; [INFO] [stdout] 1088 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "03e9eb8bd8c6659f2f464916bd6645b624e2a8ba84e9b054e2fe53efc500e441", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "03e9eb8bd8c6659f2f464916bd6645b624e2a8ba84e9b054e2fe53efc500e441", kill_on_drop: false }` [INFO] [stdout] 03e9eb8bd8c6659f2f464916bd6645b624e2a8ba84e9b054e2fe53efc500e441