[INFO] fetching crate girep 0.12.0... [INFO] linting girep-0.12.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate girep 0.12.0 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate girep 0.12.0 [INFO] finished tweaking crates.io crate girep 0.12.0 [INFO] tweaked toml for crates.io crate girep 0.12.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate girep 0.12.0 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 girep 0.12.0 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 is_executable v1.0.5 [INFO] [stderr] Downloaded clap_complete v4.5.66 [INFO] [stderr] Downloaded grp-core v0.2.0 [INFO] [stderr] Downloaded tracing v0.1.42 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] a35f5cd9ea5a76eeed5ddf4f01645df4c5f072c1eb13f146a84afcc3d039789a [INFO] running `Command { std: "docker" "start" "-a" "a35f5cd9ea5a76eeed5ddf4f01645df4c5f072c1eb13f146a84afcc3d039789a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a35f5cd9ea5a76eeed5ddf4f01645df4c5f072c1eb13f146a84afcc3d039789a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a35f5cd9ea5a76eeed5ddf4f01645df4c5f072c1eb13f146a84afcc3d039789a", kill_on_drop: false }` [INFO] [stdout] a35f5cd9ea5a76eeed5ddf4f01645df4c5f072c1eb13f146a84afcc3d039789a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 1d2f0fb775bf59875a1137cb8e518895977adb40070afe8fc85375a88b2da30f [INFO] running `Command { std: "docker" "start" "-a" "1d2f0fb775bf59875a1137cb8e518895977adb40070afe8fc85375a88b2da30f", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling cc v1.2.47 [INFO] [stderr] Compiling icu_properties_data v2.1.1 [INFO] [stderr] Checking rustls-pki-types v1.13.0 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking tracing-core v0.1.35 [INFO] [stderr] Compiling rustls v0.23.35 [INFO] [stderr] Checking indexmap v2.12.1 [INFO] [stderr] Compiling zmij v1.0.17 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Checking iri-string v0.7.9 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Checking tracing v0.1.42 [INFO] [stderr] Checking rustls-native-certs v0.8.3 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking dirs-sys v0.5.0 [INFO] [stderr] Checking clap_builder v4.5.60 [INFO] [stderr] Compiling portable-atomic v1.11.1 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Checking console v0.16.1 [INFO] [stderr] Checking is_executable v1.0.5 [INFO] [stderr] Compiling girep v0.12.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking unit-prefix v0.5.2 [INFO] [stderr] Checking directories v6.0.0 [INFO] [stderr] Checking dirs v6.0.0 [INFO] [stderr] Compiling aws-lc-sys v0.37.0 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling libz-sys v1.1.23 [INFO] [stderr] Compiling libssh2-sys v0.3.1 [INFO] [stderr] Compiling libgit2-sys v0.18.3+1.9.2 [INFO] [stderr] Checking indicatif v0.18.3 [INFO] [stderr] Checking clap v4.5.60 [INFO] [stderr] Checking clap_complete v4.5.66 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Checking tokio v1.49.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling color-print-proc-macro v0.3.7 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking color-print v0.3.7 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking icu_properties v2.1.1 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking url v2.5.7 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking tokio-util v0.7.17 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking h2 v0.4.12 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking hyper-util v0.1.18 [INFO] [stderr] Checking git2 v0.20.3 [INFO] [stderr] Compiling aws-lc-rs v1.15.4 [INFO] [stderr] Checking rustls-webpki v0.103.8 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking rustls-platform-verifier v0.6.2 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking reqwest v0.13.1 [INFO] [stderr] Checking grp-core v0.2.0 [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/local/fetch.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | logs: logs, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `logs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/local/fetch.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | logs: logs, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `logs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/validations/repo.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | pconf: pconf, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `pconf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/validations/repo.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | owner: owner, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `owner` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/commands/local/clone.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | const DEFNAME: &'static str = "defname"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/local/clone.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | path: path, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/local/clone.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | branch: branch, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `branch` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/local/clone.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | bare: bare, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bare` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/local/clone.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | branch: branch, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `branch` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/local/clone.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | bare: bare, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bare` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/local/fetch.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | logs: logs, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `logs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/local/fetch.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | logs: logs, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `logs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/validations/repo.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | pconf: pconf, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `pconf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/validations/repo.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | owner: owner, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `owner` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/commands/local/clone.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | const DEFNAME: &'static str = "defname"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/local/clone.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | path: path, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/local/clone.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | branch: branch, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `branch` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/local/clone.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | bare: bare, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bare` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/local/clone.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | branch: branch, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `branch` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/commands/local/clone.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | bare: bare, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bare` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/local/remote.rs:7:36 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn add_remote(&self, name: &String, url: &String, path: &PathBuf) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 7 - pub fn add_remote(&self, name: &String, url: &String, path: &PathBuf) -> Result<(), Error> { [INFO] [stdout] 7 + pub fn add_remote(&self, name: &str, url: &String, path: &PathBuf) -> Result<(), Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/local/remote.rs:7:50 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn add_remote(&self, name: &String, url: &String, path: &PathBuf) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 7 - pub fn add_remote(&self, name: &String, url: &String, path: &PathBuf) -> Result<(), Error> { [INFO] [stdout] 7 + pub fn add_remote(&self, name: &String, url: &str, path: &PathBuf) -> Result<(), Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/clone.rs:32:61 [INFO] [stdout] | [INFO] [stdout] 32 | let url = self.generate_clone_url(&config.endpoint, &owner, &repo); [INFO] [stdout] | ^^^^^^ help: change this to: `owner` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/clone.rs:32:69 [INFO] [stdout] | [INFO] [stdout] 32 | let url = self.generate_clone_url(&config.endpoint, &owner, &repo); [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/local/clone.rs:45:14 [INFO] [stdout] | [INFO] [stdout] 45 | url: &String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 45 ~ url: &str, [INFO] [stdout] 46 | options: &CloneOptions, [INFO] [stdout] ... [INFO] [stdout] 97 | animation.change_message("Cloning repository ..."); [INFO] [stdout] 98 ~ match builder.clone(url, options.path.as_path()) { [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] --> src/local/clone.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | / match options.branch.clone() { [INFO] [stdout] 87 | | Some(value) => { builder.branch(value.as_str()); }, [INFO] [stdout] 88 | | None => { } [INFO] [stdout] 89 | | }; [INFO] [stdout] | |_________^ help: try: `if let Some(value) = options.branch.clone() { builder.branch(value.as_str()); }` [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] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/local/clone.rs:95:22 [INFO] [stdout] | [INFO] [stdout] 95 | builder.bare(options.bare.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `options.bare` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/local/fetch.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | return Ok(result); [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] 159 - return Ok(result); [INFO] [stdout] 159 + Ok(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/fetch.rs:46:50 [INFO] [stdout] | [INFO] [stdout] 46 | ) = GitUtils::get_repo_branch_and_remote(&repo, &options)?; [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/local/fetch.rs:48:52 [INFO] [stdout] | [INFO] [stdout] 48 | if options.method == Methods::UPSTREAM && !options.dry_run.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `options.dry_run` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/local/fetch.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let _ = options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 50 - let _ = options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] 50 + options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/fetch.rs:50:49 [INFO] [stdout] | [INFO] [stdout] 50 | let _ = options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/local/fetch.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | let _ = remote.fetch(&ref_specs, Some(&mut fetch_options), None)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 143 - let _ = remote.fetch(&ref_specs, Some(&mut fetch_options), None)?; [INFO] [stdout] 143 + remote.fetch(&ref_specs, Some(&mut fetch_options), None)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/local/merge.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | animation: &Box [INFO] [stdout] | ^^^^^^^ help: try: `&A` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] = note: `#[warn(clippy::borrowed_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/merge.rs:56:50 [INFO] [stdout] | [INFO] [stdout] 56 | if !rebase { Ok((GitUtils::merge(&repo, &head_commit, &fetch_commit)?, true)) } [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/merge.rs:57:45 [INFO] [stdout] | [INFO] [stdout] 57 | else { Ok((GitUtils::rebase(&repo, &head_commit, &fetch_commit)?, true)) } [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/local/push.rs:36:52 [INFO] [stdout] | [INFO] [stdout] 36 | if options.method == Methods::UPSTREAM && !options.dry_run.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `options.dry_run` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/local/push.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let _ = options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 38 - let _ = options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] 38 + options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/local/push.rs:169:27 [INFO] [stdout] | [INFO] [stdout] 169 | let _ref = if n.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!n.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: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/local/push.rs:188:29 [INFO] [stdout] | [INFO] [stdout] 188 | let final_perfect = perfect.lock().unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*perfect.lock().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `MERGE` contains a capitalized acronym [INFO] [stdout] --> src/local/pull.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | MERGE, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Merge` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `REBASE` contains a capitalized acronym [INFO] [stdout] --> src/local/pull.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | REBASE [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Rebase` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `ALL` contains a capitalized acronym [INFO] [stdout] --> src/local/git/options.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | ALL, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `All` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `TAG` contains a capitalized acronym [INFO] [stdout] --> src/local/git/options.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | TAG(String), [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Tag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `TAGS` contains a capitalized acronym [INFO] [stdout] --> src/local/git/options.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | TAGS, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Tags` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DEFAULT` contains a capitalized acronym [INFO] [stdout] --> src/local/git/options.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | DEFAULT, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Default` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BRANCHES` contains a capitalized acronym [INFO] [stdout] --> src/local/git/options.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | BRANCHES, [INFO] [stdout] | ^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Branches` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `UPSTREAM` contains a capitalized acronym [INFO] [stdout] --> src/local/git/options.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | UPSTREAM [INFO] [stdout] | ^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Upstream` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/git/options.rs:32:74 [INFO] [stdout] | [INFO] [stdout] 32 | conf.set_str(&format!("branch.{}.remote", &branch_name), &remote_name)?; [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `remote_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/local/git/error.rs:43:94 [INFO] [stdout] | [INFO] [stdout] 43 | ...p, message, Action::Clone(platform)) if message == "request failed with status code: 404" => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] = note: `#[warn(clippy::redundant_guards)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 43 - (ErrorCode::GenericError, ErrorClass::Http, message, Action::Clone(platform)) if message == "request failed with status code: 404" => { [INFO] [stdout] 43 + (ErrorCode::GenericError, ErrorClass::Http, "request failed with status code: 404", Action::Clone(platform)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/local/git/error.rs:46:70 [INFO] [stdout] | [INFO] [stdout] 46 | ...s::Os, message, _) if message == "failed to send request: The server name or address could not be resolved" => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 46 - (ErrorCode::GenericError, ErrorClass::Os, message, _) if message == "failed to send request: The server name or address could not be resolved" => { [INFO] [stdout] 46 + (ErrorCode::GenericError, ErrorClass::Os, "failed to send request: The server name or address could not be resolved", _) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/git/utils/branch.rs:16:47 [INFO] [stdout] | [INFO] [stdout] 16 | None => GitUtils::get_branch_name(&repo)?, [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/git/utils/branch.rs:29:54 [INFO] [stdout] | [INFO] [stdout] 29 | None => GitUtils::get_remote_from_branch(&repo, &branch)?, [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/local/git/utils/remote.rs:11:27 [INFO] [stdout] | [INFO] [stdout] 11 | return if remotes.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `remotes.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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/git/utils/rebase.rs:46:18 [INFO] [stdout] | [INFO] [stdout] 46 | Some(&local), [INFO] [stdout] | ^^^^^^ help: change this to: `local` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/git/utils/rebase.rs:47:18 [INFO] [stdout] | [INFO] [stdout] 47 | Some(&upstream), [INFO] [stdout] | ^^^^^^^^^ help: change this to: `upstream` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/local/git/utils/merge.rs:103:25 [INFO] [stdout] | [INFO] [stdout] 103 | format!("{}", changed_files.join(",")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `changed_files.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: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/local/git/utils/tags.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | / match String::from_utf8(name.to_vec()) { [INFO] [stdout] 11 | | Ok(s) => tags.push(s), [INFO] [stdout] 12 | | Err(_) => (), [INFO] [stdout] 13 | | }; [INFO] [stdout] | |_____________^ help: try: `if let Ok(s) = String::from_utf8(name.to_vec()) { tags.push(s) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually return `Self` [INFO] [stdout] --> src/system/directories.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | / fn new() -> Result { [INFO] [stdout] 64 | | let project = ProjectDirs::from("", "", "girep"); [INFO] [stdout] 65 | | project.ok_or(Error::new_custom("Internal error", vec!["* The system directories can not be determined"])) [INFO] [stdout] 66 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stdout] = note: `#[warn(clippy::new_ret_no_self)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/system/directories.rs:72:32 [INFO] [stdout] | [INFO] [stdout] 72 | create_dir_all(&location).map_err(|e| { [INFO] [stdout] | ^^^^^^^^^ help: change this to: `location` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/system/directories.rs:85:30 [INFO] [stdout] | [INFO] [stdout] 85 | File::create(&path).map_err(|e| { [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/system/show.rs:66:31 [INFO] [stdout] | [INFO] [stdout] 66 | Some(path) => format!("{}", path), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `path.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: useless use of `format!` [INFO] [stdout] --> src/system/show.rs:67:25 [INFO] [stdout] | [INFO] [stdout] 67 | None => format!("{}", user.name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `user.name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/system/file.rs:11:24 [INFO] [stdout] | [INFO] [stdout] 11 | read_to_string(&path) [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/commands/completions/repostructure.rs:30:56 [INFO] [stdout] | [INFO] [stdout] 30 | let candidates = Usettings::canditates(&OsStr::new(real_current.as_str())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `OsStr::new(real_current.as_str())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `parts.get(0)` [INFO] [stdout] --> src/commands/completions/repostructure.rs:51:30 [INFO] [stdout] | [INFO] [stdout] 51 | let pconf = *parts.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `parts.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/completions/structure.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | .map(|s| CompletionCandidate::new(s)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `CompletionCandidate::new` [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: length comparison to zero [INFO] [stdout] --> src/commands/completions/usettings.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | Ok(u) if u.pconfs.len() > 0 => u.pconfs [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!u.pconfs.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] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the impl [INFO] [stdout] --> src/commands/completions/git/upstream.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | impl<'a> Completer for Upstream { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the impl [INFO] [stdout] --> src/commands/completions/git/remote.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | impl<'a> Completer for Remote { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/commands/completions/git/remote.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if remotes.len() == 0 { return vec![] } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `remotes.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] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the impl [INFO] [stdout] --> src/commands/completions/git/branch.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | impl<'a> Completer for Branch { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/commands/validations/structure.rs:27:20 [INFO] [stdout] | [INFO] [stdout] 27 | ... if None == repo.pconf { Err(cformat!("\n * The pconf is obligatory for security reasons: <`. Consider using just `&T` [INFO] [stdout] --> src/commands/validations/or_exit/structure.rs:7:57 [INFO] [stdout] | [INFO] [stdout] 7 | fn or_exit(&self, animation: &Box) -> Self::Output; [INFO] [stdout] | ^^^^^^^ help: try: `&A` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/commands/validations/pconf.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | if usettings.pconfs.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `usettings.pconfs.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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/commands/validations/pconf.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | if usettings.pconfs.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `usettings.pconfs.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] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/commands/validations/repo.rs:75:40 [INFO] [stdout] | [INFO] [stdout] 75 | let repo: String = parts.pop().unwrap_or(String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/commands/validations/repo.rs:89:75 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn is_supported(&self, platform: &Platform) -> bool { self.len <= platform.max_repo_depth() as usize } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `platform.max_repo_depth()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `eprintln!` [INFO] [stdout] --> src/commands/grp.rs:85:27 [INFO] [stdout] | [INFO] [stdout] 85 | if new_line { eprintln!(""); } [INFO] [stdout] | ^^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/commands/config/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod config; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/commands/config/commands/add.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | value if names.contains(&value) => Ok(value.to_string()), [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/commands/config/commands/add.rs:21:45 [INFO] [stdout] | [INFO] [stdout] 21 | value if abbreviations.contains(&value) => { [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/commands/repos/list.rs:49:35 [INFO] [stdout] | [INFO] [stdout] 49 | match repos.save(&pconf.name, !owner.is_none()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `owner.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/commands/repos/list.rs:63:41 [INFO] [stdout] | [INFO] [stdout] 63 | animation.finish_with_error(format!("{}", e.message)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `e.message.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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/commands/repos/delete.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | if !matches!(usettings.get_pconf_by_name(e.as_str()), None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `usettings.get_pconf_by_name(e.as_str()).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/commands/local/fetch.rs:80:13 [INFO] [stdout] | [INFO] [stdout] 80 | return; [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] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 79 ~ error.show(); [INFO] [stdout] 80 | } [INFO] [stdout] 81 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/commands/local/fetch.rs:34:17 [INFO] [stdout] | [INFO] [stdout] 34 | let pconf = args.get_one::("pconf").map(| p| p.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `args.get_one::("pconf").cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/local/fetch.rs:43:18 [INFO] [stdout] | [INFO] [stdout] 43 | let remote = match args.get_one::("remote") { [INFO] [stdout] | __________________^ [INFO] [stdout] 44 | | None => None, [INFO] [stdout] 45 | | Some(e) => Some(e.to_owned()) [INFO] [stdout] 46 | | }; [INFO] [stdout] | |_____^ help: try: `args.get_one::("remote").map(|e| e.to_owned())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/local/clone.rs:46:18 [INFO] [stdout] | [INFO] [stdout] 46 | let branch = match args.get_one::("branch") { [INFO] [stdout] | __________________^ [INFO] [stdout] 47 | | Some(value) => Some(value.clone()), [INFO] [stdout] 48 | | None => None [INFO] [stdout] 49 | | }; [INFO] [stdout] | |_____^ help: try: `args.get_one::("branch").map(|value| value.clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/commands/local/clone.rs:91:55 [INFO] [stdout] | [INFO] [stdout] 91 | None => usettings.get_default_pconf().or_exit(&animation), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `animation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/commands/local/push.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let pconf = args.get_one::("pconf").map(| p| p.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `args.get_one::("pconf").cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/local/push.rs:79:22 [INFO] [stdout] | [INFO] [stdout] 79 | let mut remote = match args.get_one::("remote") { [INFO] [stdout] | ______________________^ [INFO] [stdout] 80 | | None => None, [INFO] [stdout] 81 | | Some(e) => Some(e.to_owned()) [INFO] [stdout] 82 | | }; [INFO] [stdout] | |_____^ help: try: `args.get_one::("remote").map(|e| e.to_owned())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/local/push.rs:84:22 [INFO] [stdout] | [INFO] [stdout] 84 | let mut branch = match args.get_one::("branch") { [INFO] [stdout] | ______________________^ [INFO] [stdout] 85 | | None => None, [INFO] [stdout] 86 | | Some(e) => Some(e.to_owned()) [INFO] [stdout] 87 | | }; [INFO] [stdout] | |_____^ help: try: `args.get_one::("branch").map(|e| e.to_owned())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/commands/local/pull.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | let pconf = args.get_one::("pconf").map(| p| p.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `args.get_one::("pconf").cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/local/pull.rs:58:22 [INFO] [stdout] | [INFO] [stdout] 58 | let mut remote = match args.get_one::("remote") { [INFO] [stdout] | ______________________^ [INFO] [stdout] 59 | | None => None, [INFO] [stdout] 60 | | Some(e) => Some(e.to_owned()) [INFO] [stdout] 61 | | }; [INFO] [stdout] | |_____^ help: try: `args.get_one::("remote").map(|e| e.to_owned())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/local/pull.rs:63:22 [INFO] [stdout] | [INFO] [stdout] 63 | let mut branch = match args.get_one::("branch") { [INFO] [stdout] | ______________________^ [INFO] [stdout] 64 | | None => None, [INFO] [stdout] 65 | | Some(e) => Some(e.to_owned()) [INFO] [stdout] 66 | | }; [INFO] [stdout] | |_____^ help: try: `args.get_one::("branch").map(|e| e.to_owned())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/commands/orgs/commands/delete.rs:61:33 [INFO] [stdout] | [INFO] [stdout] 61 | confirmation = input == format!("{}", name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `name.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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/commands/orgs/commands/delete.rs:86:47 [INFO] [stdout] | [INFO] [stdout] 86 | let _ = User::remove(&pconf.name, &name); [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/commands/orgs/commands/list.rs:62:41 [INFO] [stdout] | [INFO] [stdout] 62 | animation.finish_with_error(format!("{}", e.message)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `e.message.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: module has the same name as its containing module [INFO] [stdout] --> src/commands/orgs/mod.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | pub mod orgs; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/usettings/read.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let _ = void_config.save()?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 37 - let _ = void_config.save()?; [INFO] [stdout] 37 + void_config.save()?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands/repos/delete.rs:90:30 [INFO] [stdout] | [INFO] [stdout] 90 | (true, _) => vec![ [INFO] [stdout] | ______________________________^ [INFO] [stdout] 91 | | cformat!("repo delition succeeded!"), [INFO] [stdout] 92 | | cformat!("* soft delition only wotks with gitlab") [INFO] [stdout] 93 | | ].join("\n"), [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 90 ~ (true, _) => [cformat!("repo delition succeeded!"), [INFO] [stdout] 91 ~ cformat!("* soft delition only wotks with gitlab")].join("\n"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands/orgs/commands/delete.rs:78:30 [INFO] [stdout] | [INFO] [stdout] 78 | (true, _) => vec![ [INFO] [stdout] | ______________________________^ [INFO] [stdout] 79 | | cformat!("org delition succeeded!"), [INFO] [stdout] 80 | | cformat!("* soft delition only wotks with gitlab") [INFO] [stdout] 81 | | ].join("\n"), [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 78 ~ (true, _) => [cformat!("org delition succeeded!"), [INFO] [stdout] 79 ~ cformat!("* soft delition only wotks with gitlab")].join("\n"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/local/remote.rs:7:36 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn add_remote(&self, name: &String, url: &String, path: &PathBuf) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 7 - pub fn add_remote(&self, name: &String, url: &String, path: &PathBuf) -> Result<(), Error> { [INFO] [stdout] 7 + pub fn add_remote(&self, name: &str, url: &String, path: &PathBuf) -> Result<(), Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/local/remote.rs:7:50 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn add_remote(&self, name: &String, url: &String, path: &PathBuf) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 7 - pub fn add_remote(&self, name: &String, url: &String, path: &PathBuf) -> Result<(), Error> { [INFO] [stdout] 7 + pub fn add_remote(&self, name: &String, url: &str, path: &PathBuf) -> Result<(), Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/clone.rs:32:61 [INFO] [stdout] | [INFO] [stdout] 32 | let url = self.generate_clone_url(&config.endpoint, &owner, &repo); [INFO] [stdout] | ^^^^^^ help: change this to: `owner` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/clone.rs:32:69 [INFO] [stdout] | [INFO] [stdout] 32 | let url = self.generate_clone_url(&config.endpoint, &owner, &repo); [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/local/clone.rs:45:14 [INFO] [stdout] | [INFO] [stdout] 45 | url: &String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 45 ~ url: &str, [INFO] [stdout] 46 | options: &CloneOptions, [INFO] [stdout] ... [INFO] [stdout] 97 | animation.change_message("Cloning repository ..."); [INFO] [stdout] 98 ~ match builder.clone(url, options.path.as_path()) { [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] --> src/local/clone.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | / match options.branch.clone() { [INFO] [stdout] 87 | | Some(value) => { builder.branch(value.as_str()); }, [INFO] [stdout] 88 | | None => { } [INFO] [stdout] 89 | | }; [INFO] [stdout] | |_________^ help: try: `if let Some(value) = options.branch.clone() { builder.branch(value.as_str()); }` [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] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/local/clone.rs:95:22 [INFO] [stdout] | [INFO] [stdout] 95 | builder.bare(options.bare.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `options.bare` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/local/fetch.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | return Ok(result); [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] 159 - return Ok(result); [INFO] [stdout] 159 + Ok(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/fetch.rs:46:50 [INFO] [stdout] | [INFO] [stdout] 46 | ) = GitUtils::get_repo_branch_and_remote(&repo, &options)?; [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/local/fetch.rs:48:52 [INFO] [stdout] | [INFO] [stdout] 48 | if options.method == Methods::UPSTREAM && !options.dry_run.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `options.dry_run` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/local/fetch.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let _ = options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 50 - let _ = options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] 50 + options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/fetch.rs:50:49 [INFO] [stdout] | [INFO] [stdout] 50 | let _ = options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/local/fetch.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | let _ = remote.fetch(&ref_specs, Some(&mut fetch_options), None)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 143 - let _ = remote.fetch(&ref_specs, Some(&mut fetch_options), None)?; [INFO] [stdout] 143 + remote.fetch(&ref_specs, Some(&mut fetch_options), None)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/local/merge.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | animation: &Box [INFO] [stdout] | ^^^^^^^ help: try: `&A` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] = note: `#[warn(clippy::borrowed_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/merge.rs:56:50 [INFO] [stdout] | [INFO] [stdout] 56 | if !rebase { Ok((GitUtils::merge(&repo, &head_commit, &fetch_commit)?, true)) } [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/merge.rs:57:45 [INFO] [stdout] | [INFO] [stdout] 57 | else { Ok((GitUtils::rebase(&repo, &head_commit, &fetch_commit)?, true)) } [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/local/push.rs:36:52 [INFO] [stdout] | [INFO] [stdout] 36 | if options.method == Methods::UPSTREAM && !options.dry_run.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `options.dry_run` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/local/push.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let _ = options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 38 - let _ = options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] 38 + options.method.set_upstream(&repo, &branch_name, &remote_name)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/local/push.rs:169:27 [INFO] [stdout] | [INFO] [stdout] 169 | let _ref = if n.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!n.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: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/local/push.rs:188:29 [INFO] [stdout] | [INFO] [stdout] 188 | let final_perfect = perfect.lock().unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*perfect.lock().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `MERGE` contains a capitalized acronym [INFO] [stdout] --> src/local/pull.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | MERGE, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Merge` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `REBASE` contains a capitalized acronym [INFO] [stdout] --> src/local/pull.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | REBASE [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Rebase` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `ALL` contains a capitalized acronym [INFO] [stdout] --> src/local/git/options.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | ALL, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `All` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `TAG` contains a capitalized acronym [INFO] [stdout] --> src/local/git/options.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | TAG(String), [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Tag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `TAGS` contains a capitalized acronym [INFO] [stdout] --> src/local/git/options.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | TAGS, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Tags` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DEFAULT` contains a capitalized acronym [INFO] [stdout] --> src/local/git/options.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | DEFAULT, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Default` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BRANCHES` contains a capitalized acronym [INFO] [stdout] --> src/local/git/options.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | BRANCHES, [INFO] [stdout] | ^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Branches` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `UPSTREAM` contains a capitalized acronym [INFO] [stdout] --> src/local/git/options.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | UPSTREAM [INFO] [stdout] | ^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Upstream` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/git/options.rs:32:74 [INFO] [stdout] | [INFO] [stdout] 32 | conf.set_str(&format!("branch.{}.remote", &branch_name), &remote_name)?; [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `remote_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/local/git/error.rs:43:94 [INFO] [stdout] | [INFO] [stdout] 43 | ...p, message, Action::Clone(platform)) if message == "request failed with status code: 404" => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] = note: `#[warn(clippy::redundant_guards)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 43 - (ErrorCode::GenericError, ErrorClass::Http, message, Action::Clone(platform)) if message == "request failed with status code: 404" => { [INFO] [stdout] 43 + (ErrorCode::GenericError, ErrorClass::Http, "request failed with status code: 404", Action::Clone(platform)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/local/git/error.rs:46:70 [INFO] [stdout] | [INFO] [stdout] 46 | ...s::Os, message, _) if message == "failed to send request: The server name or address could not be resolved" => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 46 - (ErrorCode::GenericError, ErrorClass::Os, message, _) if message == "failed to send request: The server name or address could not be resolved" => { [INFO] [stdout] 46 + (ErrorCode::GenericError, ErrorClass::Os, "failed to send request: The server name or address could not be resolved", _) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/git/utils/branch.rs:16:47 [INFO] [stdout] | [INFO] [stdout] 16 | None => GitUtils::get_branch_name(&repo)?, [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/git/utils/branch.rs:29:54 [INFO] [stdout] | [INFO] [stdout] 29 | None => GitUtils::get_remote_from_branch(&repo, &branch)?, [INFO] [stdout] | ^^^^^ help: change this to: `repo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/local/git/utils/remote.rs:11:27 [INFO] [stdout] | [INFO] [stdout] 11 | return if remotes.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `remotes.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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/git/utils/rebase.rs:46:18 [INFO] [stdout] | [INFO] [stdout] 46 | Some(&local), [INFO] [stdout] | ^^^^^^ help: change this to: `local` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/local/git/utils/rebase.rs:47:18 [INFO] [stdout] | [INFO] [stdout] 47 | Some(&upstream), [INFO] [stdout] | ^^^^^^^^^ help: change this to: `upstream` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/local/git/utils/merge.rs:103:25 [INFO] [stdout] | [INFO] [stdout] 103 | format!("{}", changed_files.join(",")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `changed_files.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: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/local/git/utils/tags.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | / match String::from_utf8(name.to_vec()) { [INFO] [stdout] 11 | | Ok(s) => tags.push(s), [INFO] [stdout] 12 | | Err(_) => (), [INFO] [stdout] 13 | | }; [INFO] [stdout] | |_____________^ help: try: `if let Ok(s) = String::from_utf8(name.to_vec()) { tags.push(s) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually return `Self` [INFO] [stdout] --> src/system/directories.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | / fn new() -> Result { [INFO] [stdout] 64 | | let project = ProjectDirs::from("", "", "girep"); [INFO] [stdout] 65 | | project.ok_or(Error::new_custom("Internal error", vec!["* The system directories can not be determined"])) [INFO] [stdout] 66 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stdout] = note: `#[warn(clippy::new_ret_no_self)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/system/directories.rs:72:32 [INFO] [stdout] | [INFO] [stdout] 72 | create_dir_all(&location).map_err(|e| { [INFO] [stdout] | ^^^^^^^^^ help: change this to: `location` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/system/directories.rs:85:30 [INFO] [stdout] | [INFO] [stdout] 85 | File::create(&path).map_err(|e| { [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/system/show.rs:66:31 [INFO] [stdout] | [INFO] [stdout] 66 | Some(path) => format!("{}", path), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `path.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: useless use of `format!` [INFO] [stdout] --> src/system/show.rs:67:25 [INFO] [stdout] | [INFO] [stdout] 67 | None => format!("{}", user.name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `user.name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/system/file.rs:11:24 [INFO] [stdout] | [INFO] [stdout] 11 | read_to_string(&path) [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/commands/completions/repostructure.rs:30:56 [INFO] [stdout] | [INFO] [stdout] 30 | let candidates = Usettings::canditates(&OsStr::new(real_current.as_str())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `OsStr::new(real_current.as_str())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `parts.get(0)` [INFO] [stdout] --> src/commands/completions/repostructure.rs:51:30 [INFO] [stdout] | [INFO] [stdout] 51 | let pconf = *parts.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `parts.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/completions/structure.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | .map(|s| CompletionCandidate::new(s)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `CompletionCandidate::new` [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: length comparison to zero [INFO] [stdout] --> src/commands/completions/usettings.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | Ok(u) if u.pconfs.len() > 0 => u.pconfs [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!u.pconfs.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] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the impl [INFO] [stdout] --> src/commands/completions/git/upstream.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | impl<'a> Completer for Upstream { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the impl [INFO] [stdout] --> src/commands/completions/git/remote.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | impl<'a> Completer for Remote { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/commands/completions/git/remote.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if remotes.len() == 0 { return vec![] } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `remotes.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] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the impl [INFO] [stdout] --> src/commands/completions/git/branch.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | impl<'a> Completer for Branch { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/commands/validations/structure.rs:27:20 [INFO] [stdout] | [INFO] [stdout] 27 | ... if None == repo.pconf { Err(cformat!("\n * The pconf is obligatory for security reasons: <`. Consider using just `&T` [INFO] [stdout] --> src/commands/validations/or_exit/structure.rs:7:57 [INFO] [stdout] | [INFO] [stdout] 7 | fn or_exit(&self, animation: &Box) -> Self::Output; [INFO] [stdout] | ^^^^^^^ help: try: `&A` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/commands/validations/pconf.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | if usettings.pconfs.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `usettings.pconfs.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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/commands/validations/pconf.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | if usettings.pconfs.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `usettings.pconfs.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] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/commands/validations/repo.rs:75:40 [INFO] [stdout] | [INFO] [stdout] 75 | let repo: String = parts.pop().unwrap_or(String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/commands/validations/repo.rs:89:75 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn is_supported(&self, platform: &Platform) -> bool { self.len <= platform.max_repo_depth() as usize } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `platform.max_repo_depth()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `eprintln!` [INFO] [stdout] --> src/commands/grp.rs:85:27 [INFO] [stdout] | [INFO] [stdout] 85 | if new_line { eprintln!(""); } [INFO] [stdout] | ^^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/commands/config/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod config; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/commands/config/commands/add.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | value if names.contains(&value) => Ok(value.to_string()), [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/commands/config/commands/add.rs:21:45 [INFO] [stdout] | [INFO] [stdout] 21 | value if abbreviations.contains(&value) => { [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/commands/repos/list.rs:49:35 [INFO] [stdout] | [INFO] [stdout] 49 | match repos.save(&pconf.name, !owner.is_none()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `owner.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/commands/repos/list.rs:63:41 [INFO] [stdout] | [INFO] [stdout] 63 | animation.finish_with_error(format!("{}", e.message)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `e.message.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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/commands/repos/delete.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | if !matches!(usettings.get_pconf_by_name(e.as_str()), None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `usettings.get_pconf_by_name(e.as_str()).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/commands/local/fetch.rs:80:13 [INFO] [stdout] | [INFO] [stdout] 80 | return; [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] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 79 ~ error.show(); [INFO] [stdout] 80 | } [INFO] [stdout] 81 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/commands/local/fetch.rs:34:17 [INFO] [stdout] | [INFO] [stdout] 34 | let pconf = args.get_one::("pconf").map(| p| p.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `args.get_one::("pconf").cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/local/fetch.rs:43:18 [INFO] [stdout] | [INFO] [stdout] 43 | let remote = match args.get_one::("remote") { [INFO] [stdout] | __________________^ [INFO] [stdout] 44 | | None => None, [INFO] [stdout] 45 | | Some(e) => Some(e.to_owned()) [INFO] [stdout] 46 | | }; [INFO] [stdout] | |_____^ help: try: `args.get_one::("remote").map(|e| e.to_owned())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/local/clone.rs:46:18 [INFO] [stdout] | [INFO] [stdout] 46 | let branch = match args.get_one::("branch") { [INFO] [stdout] | __________________^ [INFO] [stdout] 47 | | Some(value) => Some(value.clone()), [INFO] [stdout] 48 | | None => None [INFO] [stdout] 49 | | }; [INFO] [stdout] | |_____^ help: try: `args.get_one::("branch").map(|value| value.clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/commands/local/clone.rs:91:55 [INFO] [stdout] | [INFO] [stdout] 91 | None => usettings.get_default_pconf().or_exit(&animation), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `animation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/commands/local/push.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let pconf = args.get_one::("pconf").map(| p| p.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `args.get_one::("pconf").cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/local/push.rs:79:22 [INFO] [stdout] | [INFO] [stdout] 79 | let mut remote = match args.get_one::("remote") { [INFO] [stdout] | ______________________^ [INFO] [stdout] 80 | | None => None, [INFO] [stdout] 81 | | Some(e) => Some(e.to_owned()) [INFO] [stdout] 82 | | }; [INFO] [stdout] | |_____^ help: try: `args.get_one::("remote").map(|e| e.to_owned())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/local/push.rs:84:22 [INFO] [stdout] | [INFO] [stdout] 84 | let mut branch = match args.get_one::("branch") { [INFO] [stdout] | ______________________^ [INFO] [stdout] 85 | | None => None, [INFO] [stdout] 86 | | Some(e) => Some(e.to_owned()) [INFO] [stdout] 87 | | }; [INFO] [stdout] | |_____^ help: try: `args.get_one::("branch").map(|e| e.to_owned())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/commands/local/pull.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | let pconf = args.get_one::("pconf").map(| p| p.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `args.get_one::("pconf").cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/local/pull.rs:58:22 [INFO] [stdout] | [INFO] [stdout] 58 | let mut remote = match args.get_one::("remote") { [INFO] [stdout] | ______________________^ [INFO] [stdout] 59 | | None => None, [INFO] [stdout] 60 | | Some(e) => Some(e.to_owned()) [INFO] [stdout] 61 | | }; [INFO] [stdout] | |_____^ help: try: `args.get_one::("remote").map(|e| e.to_owned())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/local/pull.rs:63:22 [INFO] [stdout] | [INFO] [stdout] 63 | let mut branch = match args.get_one::("branch") { [INFO] [stdout] | ______________________^ [INFO] [stdout] 64 | | None => None, [INFO] [stdout] 65 | | Some(e) => Some(e.to_owned()) [INFO] [stdout] 66 | | }; [INFO] [stdout] | |_____^ help: try: `args.get_one::("branch").map(|e| e.to_owned())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/commands/orgs/commands/delete.rs:61:33 [INFO] [stdout] | [INFO] [stdout] 61 | confirmation = input == format!("{}", name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `name.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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/commands/orgs/commands/delete.rs:86:47 [INFO] [stdout] | [INFO] [stdout] 86 | let _ = User::remove(&pconf.name, &name); [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/commands/orgs/commands/list.rs:62:41 [INFO] [stdout] | [INFO] [stdout] 62 | animation.finish_with_error(format!("{}", e.message)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `e.message.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: module has the same name as its containing module [INFO] [stdout] --> src/commands/orgs/mod.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | pub mod orgs; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/usettings/read.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let _ = void_config.save()?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 37 - let _ = void_config.save()?; [INFO] [stdout] 37 + void_config.save()?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands/repos/delete.rs:90:30 [INFO] [stdout] | [INFO] [stdout] 90 | (true, _) => vec![ [INFO] [stdout] | ______________________________^ [INFO] [stdout] 91 | | cformat!("repo delition succeeded!"), [INFO] [stdout] 92 | | cformat!("* soft delition only wotks with gitlab") [INFO] [stdout] 93 | | ].join("\n"), [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 90 ~ (true, _) => [cformat!("repo delition succeeded!"), [INFO] [stdout] 91 ~ cformat!("* soft delition only wotks with gitlab")].join("\n"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/commands/orgs/commands/delete.rs:78:30 [INFO] [stdout] | [INFO] [stdout] 78 | (true, _) => vec![ [INFO] [stdout] | ______________________________^ [INFO] [stdout] 79 | | cformat!("org delition succeeded!"), [INFO] [stdout] 80 | | cformat!("* soft delition only wotks with gitlab") [INFO] [stdout] 81 | | ].join("\n"), [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 78 ~ (true, _) => [cformat!("org delition succeeded!"), [INFO] [stdout] 79 ~ cformat!("* soft delition only wotks with gitlab")].join("\n"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 26s [INFO] running `Command { std: "docker" "inspect" "1d2f0fb775bf59875a1137cb8e518895977adb40070afe8fc85375a88b2da30f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d2f0fb775bf59875a1137cb8e518895977adb40070afe8fc85375a88b2da30f", kill_on_drop: false }` [INFO] [stdout] 1d2f0fb775bf59875a1137cb8e518895977adb40070afe8fc85375a88b2da30f