[INFO] cloning repository https://github.com/seankim658/codeprompts [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/seankim658/codeprompts" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseankim658%2Fcodeprompts", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseankim658%2Fcodeprompts'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b232fc44e9f7ca90773a718e2d1f4e2f44c9426e [INFO] linting seankim658/codeprompts against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseankim658%2Fcodeprompts" "/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/seankim658/codeprompts [INFO] finished tweaking git repo https://github.com/seankim658/codeprompts [INFO] tweaked toml for git repo https://github.com/seankim658/codeprompts written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/seankim658/codeprompts 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/seankim658/codeprompts 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 rustls-pki-types v1.10.1 [INFO] [stderr] Downloaded tempfile v3.15.0 [INFO] [stderr] Downloaded tui-tree-widget v0.23.0 [INFO] [stderr] Downloaded instability v0.3.6 [INFO] [stderr] Downloaded thiserror-impl v2.0.9 [INFO] [stderr] Downloaded thiserror v2.0.9 [INFO] [stderr] Downloaded clap_complete v4.5.41 [INFO] [stderr] Downloaded indicatif v0.17.9 [INFO] [stderr] Downloaded cc v1.2.7 [INFO] [stderr] Downloaded hyper v1.5.2 [INFO] [stderr] Downloaded serde_json v1.0.135 [INFO] [stderr] Downloaded winnow v0.6.22 [INFO] [stderr] Downloaded syn v2.0.95 [INFO] [stderr] Downloaded rustls v0.23.20 [INFO] [stderr] Downloaded tiktoken-rs v0.5.9 [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] ffedf4da9e7d87dda270a9192d63060adf5c4204dee22623b789d34b4c2445cf [INFO] running `Command { std: "docker" "start" "-a" "ffedf4da9e7d87dda270a9192d63060adf5c4204dee22623b789d34b4c2445cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ffedf4da9e7d87dda270a9192d63060adf5c4204dee22623b789d34b4c2445cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ffedf4da9e7d87dda270a9192d63060adf5c4204dee22623b789d34b4c2445cf", kill_on_drop: false }` [INFO] [stdout] ffedf4da9e7d87dda270a9192d63060adf5c4204dee22623b789d34b4c2445cf [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] 191696a3ebd11f8908b78a1f254642eefa6f047a5e3a13ab4825e2c428edd5ee [INFO] running `Command { std: "docker" "start" "-a" "191696a3ebd11f8908b78a1f254642eefa6f047a5e3a13ab4825e2c428edd5ee", kill_on_drop: false }` [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking foldhash v0.1.4 [INFO] [stderr] Compiling rustix v0.38.42 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Compiling thiserror v2.0.9 [INFO] [stderr] Compiling syn v2.0.95 [INFO] [stderr] Checking tracing-core v0.1.33 [INFO] [stderr] Checking unicode-width v0.2.0 [INFO] [stderr] Checking http v1.2.0 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling openssl v0.10.68 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling serde_json v1.0.135 [INFO] [stderr] Compiling once_cell v1.20.2 [INFO] [stderr] Checking anstream v0.6.18 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking castaway v0.2.3 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Compiling indoc v2.0.5 [INFO] [stderr] Compiling portable-atomic v1.10.0 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking indexmap v2.7.0 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking compact_str v0.8.1 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking clap_builder v4.5.23 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking rustls-pki-types v1.10.1 [INFO] [stderr] Checking bytemuck v1.21.0 [INFO] [stderr] Checking x11rb-protocol v0.13.1 [INFO] [stderr] Checking winnow v0.6.22 [INFO] [stderr] Compiling cc v1.2.7 [INFO] [stderr] Checking image v0.25.5 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking console v0.15.10 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking number_prefix v0.4.0 [INFO] [stderr] Checking ipnet v2.10.1 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking colored v2.2.0 [INFO] [stderr] Checking glob v0.3.2 [INFO] [stderr] Checking termtree v0.4.1 [INFO] [stderr] Checking indicatif v0.17.9 [INFO] [stderr] Checking unicode-truncate v1.1.0 [INFO] [stderr] Compiling openssl-sys v0.9.104 [INFO] [stderr] Compiling libz-sys v1.1.21 [INFO] [stderr] Compiling libssh2-sys v0.3.0 [INFO] [stderr] Compiling libgit2-sys v0.17.0+1.8.1 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking bstr v1.11.3 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking fancy-regex v0.12.0 [INFO] [stderr] Checking globset v0.4.15 [INFO] [stderr] Checking ignore v0.4.23 [INFO] [stderr] Checking tiktoken-rs v0.5.9 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Checking x11rb v0.13.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.5 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling serde_derive v1.0.217 [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 tokio-macros v2.4.0 [INFO] [stderr] Compiling thiserror-impl v2.0.9 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling clap_derive v4.5.18 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking arboard v3.4.1 [INFO] [stderr] Checking tokio v1.42.0 [INFO] [stderr] Checking zerofrom v0.1.5 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling instability v0.3.6 [INFO] [stderr] Checking tracing-subscriber v0.3.19 [INFO] [stderr] Compiling pest v2.7.15 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking clap v4.5.23 [INFO] [stderr] Checking clap_complete v4.5.41 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking ratatui v0.29.0 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Compiling pest_meta v2.7.15 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking serde v1.0.217 [INFO] [stderr] Checking tui-tree-widget v0.23.0 [INFO] [stderr] Compiling pest_generator v2.7.15 [INFO] [stderr] Compiling pest_derive v2.7.15 [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking tokio-util v0.7.13 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking h2 v0.4.7 [INFO] [stderr] Checking git2 v0.19.0 [INFO] [stderr] Checking serde_spanned v0.6.8 [INFO] [stderr] Checking toml_datetime v0.6.8 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking toml_edit v0.22.22 [INFO] [stderr] Checking handlebars v5.1.2 [INFO] [stderr] Checking toml v0.8.19 [INFO] [stderr] Checking codeprompt-tui v0.1.0 (/opt/rustwide/workdir/tui) [INFO] [stderr] Checking hyper v1.5.2 [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> tui/src/handler.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | / /// Panel Navigation [INFO] [stdout] 68 | | [INFO] [stdout] | |_^ [INFO] [stdout] 69 | fn navigate_left(app: &mut App) { [INFO] [stdout] | ---------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> tui/src/handler.rs:102:1 [INFO] [stdout] | [INFO] [stdout] 102 | / /// Button Interaction [INFO] [stdout] 103 | | [INFO] [stdout] | |_^ [INFO] [stdout] 104 | fn focus_next_button(app: &mut App) { [INFO] [stdout] | -------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> tui/src/handler.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | / /// Panel Navigation [INFO] [stdout] 68 | | [INFO] [stdout] | |_^ [INFO] [stdout] 69 | fn navigate_left(app: &mut App) { [INFO] [stdout] | ---------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> tui/src/handler.rs:102:1 [INFO] [stdout] | [INFO] [stdout] 102 | / /// Button Interaction [INFO] [stdout] 103 | | [INFO] [stdout] | |_^ [INFO] [stdout] 104 | fn focus_next_button(app: &mut App) { [INFO] [stdout] | -------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> tui/src/panels/file_tree.rs:311:31 [INFO] [stdout] | [INFO] [stdout] 311 | let include_arg = format!("{}", includes.join(", ")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `includes.join(", ").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] --> tui/src/panels/file_tree.rs:317:32 [INFO] [stdout] | [INFO] [stdout] 317 | let exclude_args = format!("{}", excludes.join(", ")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `excludes.join(", ").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 `map_or` can be simplified [INFO] [stdout] --> tui/src/panels/templates_panel.rs:133:31 [INFO] [stdout] | [INFO] [stdout] 133 | let is_selected = self [INFO] [stdout] | _______________________________^ [INFO] [stdout] 134 | | .selected_template [INFO] [stdout] 135 | | .as_ref() [INFO] [stdout] 136 | | .map_or(false, |selected| selected == path); [INFO] [stdout] | |___________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 133 ~ let is_selected = self [INFO] [stdout] 134 + .selected_template [INFO] [stdout] 135 ~ .as_ref() == Some(path); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> tui/src/ui.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pub fn draw( [INFO] [stdout] 11 | | frame: &mut Frame, [INFO] [stdout] 12 | | command: &str, [INFO] [stdout] 13 | | options: &mut OptionsPanel, [INFO] [stdout] ... | [INFO] [stdout] 19 | | show_help: bool, [INFO] [stdout] 20 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: stripping a prefix manually [INFO] [stdout] --> tui/src/main.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | println!("{}", &cmd[1..]); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the prefix was tested here [INFO] [stdout] --> tui/src/main.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | if cmd.starts_with('!') { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_prefix` method [INFO] [stdout] | [INFO] [stdout] 10 ~ if let Some() = cmd.strip_prefix('!') { [INFO] [stdout] 11 ~ println!("{}", ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: stripping a prefix manually [INFO] [stdout] --> tui/src/main.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | println!("{}", &cmd[1..]); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the prefix was tested here [INFO] [stdout] --> tui/src/main.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | if cmd.starts_with('!') { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_prefix` method [INFO] [stdout] | [INFO] [stdout] 10 ~ if let Some() = cmd.strip_prefix('!') { [INFO] [stdout] 11 ~ println!("{}", ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> tui/src/panels/file_tree.rs:311:31 [INFO] [stdout] | [INFO] [stdout] 311 | let include_arg = format!("{}", includes.join(", ")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `includes.join(", ").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] --> tui/src/panels/file_tree.rs:317:32 [INFO] [stdout] | [INFO] [stdout] 317 | let exclude_args = format!("{}", excludes.join(", ")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `excludes.join(", ").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 `map_or` can be simplified [INFO] [stdout] --> tui/src/panels/templates_panel.rs:133:31 [INFO] [stdout] | [INFO] [stdout] 133 | let is_selected = self [INFO] [stdout] | _______________________________^ [INFO] [stdout] 134 | | .selected_template [INFO] [stdout] 135 | | .as_ref() [INFO] [stdout] 136 | | .map_or(false, |selected| selected == path); [INFO] [stdout] | |___________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 133 ~ let is_selected = self [INFO] [stdout] 134 + .selected_template [INFO] [stdout] 135 ~ .as_ref() == Some(path); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> tui/src/ui.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pub fn draw( [INFO] [stdout] 11 | | frame: &mut Frame, [INFO] [stdout] 12 | | command: &str, [INFO] [stdout] 13 | | options: &mut OptionsPanel, [INFO] [stdout] ... | [INFO] [stdout] 19 | | show_help: bool, [INFO] [stdout] 20 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking hyper-util v0.1.10 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.12 [INFO] [stderr] Checking codeprompt v0.1.6 (/opt/rustwide/workdir/cli) [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> cli/src/files.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | /// tree. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 68 | /// tree. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> cli/src/files.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | /// JSON representation. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 76 | /// JSON representation. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> cli/src/files.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | /// tree. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 68 | /// tree. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> cli/src/files.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | /// JSON representation. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 76 | /// JSON representation. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> cli/src/files.rs:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | / pub fn traverse_directory( [INFO] [stdout] 79 | | root: &Path, [INFO] [stdout] 80 | | include: &[String], [INFO] [stdout] 81 | | exclude: &[String], [INFO] [stdout] ... | [INFO] [stdout] 87 | | gitignore: bool, [INFO] [stdout] 88 | | ) -> Result<(String, Vec)> { [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> cli/src/files.rs:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | / pub fn traverse_directory( [INFO] [stdout] 79 | | root: &Path, [INFO] [stdout] 80 | | include: &[String], [INFO] [stdout] 81 | | exclude: &[String], [INFO] [stdout] ... | [INFO] [stdout] 87 | | gitignore: bool, [INFO] [stdout] 88 | | ) -> Result<(String, Vec)> { [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> cli/src/files.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 314 | /// conflict. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 314 | /// conflict. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> cli/src/files.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 314 | /// conflict. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 314 | /// conflict. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> cli/src/files.rs:457:9 [INFO] [stdout] | [INFO] [stdout] 457 | result.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `result.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> cli/src/files.rs:457:9 [INFO] [stdout] | [INFO] [stdout] 457 | result.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `result.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> cli/src/git.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | /// the diff generation fails. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 39 | /// the diff generation fails. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> cli/src/git.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | /// the diff generation fails. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 39 | /// the diff generation fails. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> cli/src/git.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | /// success, or an Error if the information cannot be extracted. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 105 | /// success, or an Error if the information cannot be extracted. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> cli/src/git.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | /// success, or an Error if the information cannot be extracted. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 105 | /// success, or an Error if the information cannot be extracted. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)` [INFO] [stdout] --> cli/src/git.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / re.captures(url) [INFO] [stdout] 120 | | .and_then(|cap| { [INFO] [stdout] 121 | | Some(( [INFO] [stdout] 122 | | cap.get(1).unwrap().as_str().to_owned(), [INFO] [stdout] 123 | | cap.get(2).unwrap().as_str().to_owned(), [INFO] [stdout] 124 | | )) [INFO] [stdout] 125 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] = note: `#[warn(clippy::bind_instead_of_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 119 ~ re.captures(url).map(|cap| ( [INFO] [stdout] 120 + cap.get(1).unwrap().as_str().to_owned(), [INFO] [stdout] 121 + cap.get(2).unwrap().as_str().to_owned(), [INFO] [stdout] 122 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)` [INFO] [stdout] --> cli/src/git.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / re.captures(url) [INFO] [stdout] 120 | | .and_then(|cap| { [INFO] [stdout] 121 | | Some(( [INFO] [stdout] 122 | | cap.get(1).unwrap().as_str().to_owned(), [INFO] [stdout] 123 | | cap.get(2).unwrap().as_str().to_owned(), [INFO] [stdout] 124 | | )) [INFO] [stdout] 125 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] = note: `#[warn(clippy::bind_instead_of_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 119 ~ re.captures(url).map(|cap| ( [INFO] [stdout] 120 + cap.get(1).unwrap().as_str().to_owned(), [INFO] [stdout] 121 + cap.get(2).unwrap().as_str().to_owned(), [INFO] [stdout] 122 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> cli/src/git.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | /// an Error if the API request fails or the response cannot be parsed. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 140 | /// an Error if the API request fails or the response cannot be parsed. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> cli/src/git.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | /// an Error if the API request fails or the response cannot be parsed. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 140 | /// an Error if the API request fails or the response cannot be parsed. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> cli/src/template.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn get_template<'a>(path: &'a Option) -> Result<(String, &'a str)> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 55 - pub fn get_template<'a>(path: &'a Option) -> Result<(String, &'a str)> { [INFO] [stdout] 55 + pub fn get_template(path: &Option) -> Result<(String, &str)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> cli/src/template.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn get_template<'a>(path: &'a Option) -> Result<(String, &'a str)> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 55 - pub fn get_template<'a>(path: &'a Option) -> Result<(String, &'a str)> { [INFO] [stdout] 55 + pub fn get_template(path: &Option) -> Result<(String, &str)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> cli/src/validation.rs:124:80 [INFO] [stdout] | [INFO] [stdout] 124 | if (self.diff_staged || self.diff_unstaged || self.issue.is_some()) && !Repository::open(path).is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Repository::open(path).is_err()` [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] --> cli/src/validation.rs:124:80 [INFO] [stdout] | [INFO] [stdout] 124 | if (self.diff_staged || self.diff_unstaged || self.issue.is_some()) && !Repository::open(path).is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Repository::open(path).is_err()` [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: redundant closure [INFO] [stdout] --> cli/src/main.rs:288:13 [INFO] [stdout] | [INFO] [stdout] 288 | |repo| get_repo_info(repo))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `get_repo_info` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> cli/src/main.rs:288:13 [INFO] [stdout] | [INFO] [stdout] 288 | |repo| get_repo_info(repo))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `get_repo_info` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> cli/src/main.rs:313:21 [INFO] [stdout] | [INFO] [stdout] 313 | format!("Failed to retrieve Github repo.").red() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Failed to retrieve Github repo.".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] --> cli/src/main.rs:313:21 [INFO] [stdout] | [INFO] [stdout] 313 | format!("Failed to retrieve Github repo.").red() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Failed to retrieve Github repo.".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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s [INFO] running `Command { std: "docker" "inspect" "191696a3ebd11f8908b78a1f254642eefa6f047a5e3a13ab4825e2c428edd5ee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "191696a3ebd11f8908b78a1f254642eefa6f047a5e3a13ab4825e2c428edd5ee", kill_on_drop: false }` [INFO] [stdout] 191696a3ebd11f8908b78a1f254642eefa6f047a5e3a13ab4825e2c428edd5ee