[INFO] fetching crate fzs 0.4.0... [INFO] linting fzs-0.4.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate fzs 0.4.0 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate fzs 0.4.0 [INFO] finished tweaking crates.io crate fzs 0.4.0 [INFO] tweaked toml for crates.io crate fzs 0.4.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate fzs 0.4.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 fzs 0.4.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 symlink v0.1.0 [INFO] [stderr] Downloaded is_executable v1.0.1 [INFO] [stderr] Downloaded rustix v0.38.36 [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] 62e0bd67918ef61765dc052631e45ec673199db9c6f646f833e093d137a1b9b2 [INFO] running `Command { std: "docker" "start" "-a" "62e0bd67918ef61765dc052631e45ec673199db9c6f646f833e093d137a1b9b2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "62e0bd67918ef61765dc052631e45ec673199db9c6f646f833e093d137a1b9b2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "62e0bd67918ef61765dc052631e45ec673199db9c6f646f833e093d137a1b9b2", kill_on_drop: false }` [INFO] [stdout] 62e0bd67918ef61765dc052631e45ec673199db9c6f646f833e093d137a1b9b2 [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] 146bf667b284666932d7ac636f4b781afd3ef375fd4e2353ab05ec5ec72a8c5e [INFO] running `Command { std: "docker" "start" "-a" "146bf667b284666932d7ac636f4b781afd3ef375fd4e2353ab05ec5ec72a8c5e", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Compiling rustix v0.38.36 [INFO] [stderr] Compiling unicode-segmentation v1.11.0 [INFO] [stderr] Checking anstyle-query v1.1.1 [INFO] [stderr] Compiling unicode-xid v0.2.4 [INFO] [stderr] Checking colorchoice v1.0.2 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Checking indexmap v2.3.0 [INFO] [stderr] Checking anstyle-parse v0.2.5 [INFO] [stderr] Checking winnow v0.6.18 [INFO] [stderr] Checking fastrand v2.1.1 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking is_executable v1.0.1 [INFO] [stderr] Checking symlink v0.1.0 [INFO] [stderr] Compiling convert_case v0.6.0 [INFO] [stderr] Checking anstream v0.6.15 [INFO] [stderr] Checking env_filter v0.1.2 [INFO] [stderr] Checking env_logger v0.11.5 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Checking tempfile v3.12.0 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Compiling derive_more-impl v1.0.0 [INFO] [stderr] Checking derive_more v1.0.0 [INFO] [stderr] Checking serde_spanned v0.6.7 [INFO] [stderr] Checking toml_datetime v0.6.8 [INFO] [stderr] Checking toml_edit v0.22.20 [INFO] [stderr] Checking toml v0.8.19 [INFO] [stderr] Checking fzs v0.4.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Level`, `log_enabled`, and `trace` [INFO] [stdout] --> src/main.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | use log::{debug, error, info, log_enabled, trace, warn, Level}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `format` [INFO] [stdout] --> src/main.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | use std::fmt::{self, format}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::DirEntry` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::fs::DirEntry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Level`, `log_enabled`, and `trace` [INFO] [stdout] --> src/main.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | use log::{debug, error, info, log_enabled, trace, warn, Level}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `format` [INFO] [stdout] --> src/main.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | use std::fmt::{self, format}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::DirEntry` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::fs::DirEntry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fstring` [INFO] [stdout] --> src/main.rs:1307:14 [INFO] [stdout] | [INFO] [stdout] 1307 | let (fstring, ext): (&str, Option<&str>) = match dir_name.split_once('.') { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fstring` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fstring` [INFO] [stdout] --> src/main.rs:1307:14 [INFO] [stdout] | [INFO] [stdout] 1307 | let (fstring, ext): (&str, Option<&str>) = match dir_name.split_once('.') { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fstring` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `provide_envs` [INFO] [stdout] --> src/main.rs:1753:5 [INFO] [stdout] | [INFO] [stdout] 1753 | provide_envs: &mut HashMap, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provide_envs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `provide_envs` [INFO] [stdout] --> src/main.rs:1753:5 [INFO] [stdout] | [INFO] [stdout] 1753 | provide_envs: &mut HashMap, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provide_envs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `global_config` [INFO] [stdout] --> src/main.rs:2268:5 [INFO] [stdout] | [INFO] [stdout] 2268 | global_config: &'a GlobalConfig, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_global_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `global_config` [INFO] [stdout] --> src/main.rs:2268:5 [INFO] [stdout] | [INFO] [stdout] 2268 | global_config: &'a GlobalConfig, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_global_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `env_filepath` and `write_env_file` are never used [INFO] [stdout] --> src/main.rs:199:8 [INFO] [stdout] | [INFO] [stdout] 49 | impl Plugin { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | fn env_filepath(&self, global_config: &GlobalConfig) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | fn write_env_file<'a>(&self, global_config: &'a GlobalConfig) -> Result<(), io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_widget` is never used [INFO] [stdout] --> src/main.rs:540:8 [INFO] [stdout] | [INFO] [stdout] 536 | impl FnFlag { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 540 | fn is_widget(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_shell_function` and `is_widget` are never used [INFO] [stdout] --> src/main.rs:563:8 [INFO] [stdout] | [INFO] [stdout] 547 | impl Fun { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 563 | fn is_shell_function(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 673 | fn is_widget(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_name` and `get_desc` are never used [INFO] [stdout] --> src/main.rs:773:8 [INFO] [stdout] | [INFO] [stdout] 769 | trait Initial { [INFO] [stdout] | ------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 773 | fn get_name(&self) -> String; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 774 | fn get_desc(&self) -> Option; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name_when_widget_template` is never read [INFO] [stdout] --> src/main.rs:853:5 [INFO] [stdout] | [INFO] [stdout] 839 | struct GlobalConfig { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 853 | name_when_widget_template: String, // Unimplemented: probably we don't want this, rely on user to consistently name widgets [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GlobalConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `map_includes` is never used [INFO] [stdout] --> src/main.rs:1251:8 [INFO] [stdout] | [INFO] [stdout] 1222 | impl Plugin { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1251 | fn map_includes(&mut self, plugins: HashMap) -> Result<(), ScanningError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_envs` is never used [INFO] [stdout] --> src/main.rs:2119:4 [INFO] [stdout] | [INFO] [stdout] 2119 | fn write_envs<'a>( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `env_filepath` and `write_env_file` are never used [INFO] [stdout] --> src/main.rs:199:8 [INFO] [stdout] | [INFO] [stdout] 49 | impl Plugin { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | fn env_filepath(&self, global_config: &GlobalConfig) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | fn write_env_file<'a>(&self, global_config: &'a GlobalConfig) -> Result<(), io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_widget` is never used [INFO] [stdout] --> src/main.rs:540:8 [INFO] [stdout] | [INFO] [stdout] 536 | impl FnFlag { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 540 | fn is_widget(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_shell_function` and `is_widget` are never used [INFO] [stdout] --> src/main.rs:563:8 [INFO] [stdout] | [INFO] [stdout] 547 | impl Fun { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 563 | fn is_shell_function(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 673 | fn is_widget(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_name` and `get_desc` are never used [INFO] [stdout] --> src/main.rs:773:8 [INFO] [stdout] | [INFO] [stdout] 769 | trait Initial { [INFO] [stdout] | ------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 773 | fn get_name(&self) -> String; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 774 | fn get_desc(&self) -> Option; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name_when_widget_template` is never read [INFO] [stdout] --> src/main.rs:853:5 [INFO] [stdout] | [INFO] [stdout] 839 | struct GlobalConfig { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 853 | name_when_widget_template: String, // Unimplemented: probably we don't want this, rely on user to consistently name widgets [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GlobalConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `map_includes` is never used [INFO] [stdout] --> src/main.rs:1251:8 [INFO] [stdout] | [INFO] [stdout] 1222 | impl Plugin { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1251 | fn map_includes(&mut self, plugins: HashMap) -> Result<(), ScanningError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_envs` is never used [INFO] [stdout] --> src/main.rs:2119:4 [INFO] [stdout] | [INFO] [stdout] 2119 | fn write_envs<'a>( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | / &self [INFO] [stdout] 77 | | .fn_table_template [INFO] [stdout] 78 | | .as_deref() [INFO] [stdout] 79 | | .unwrap_or(&global_config.fn_table_template), [INFO] [stdout] | |____________________________________________________________________^ [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 76 ~ self [INFO] [stdout] 77 + .fn_table_template [INFO] [stdout] 78 + .as_deref() [INFO] [stdout] 79 ~ .unwrap_or(&global_config.fn_table_template), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | / &self [INFO] [stdout] 77 | | .fn_table_template [INFO] [stdout] 78 | | .as_deref() [INFO] [stdout] 79 | | .unwrap_or(&global_config.fn_table_template), [INFO] [stdout] | |____________________________________________________________________^ [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 76 ~ self [INFO] [stdout] 77 + .fn_table_template [INFO] [stdout] 78 + .as_deref() [INFO] [stdout] 79 ~ .unwrap_or(&global_config.fn_table_template), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | return self.path.join(&global_config.generated_file); [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] 197 - return self.path.join(&global_config.generated_file); [INFO] [stdout] 197 + self.path.join(&global_config.generated_file) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | return self.path.join(&global_config.generated_file); [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] 197 - return self.path.join(&global_config.generated_file); [INFO] [stdout] 197 + self.path.join(&global_config.generated_file) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/main.rs:240:23 [INFO] [stdout] | [INFO] [stdout] 240 | fn write_env_file<'a>(&self, global_config: &'a GlobalConfig) -> Result<(), io::Error> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 240 - fn write_env_file<'a>(&self, global_config: &'a GlobalConfig) -> Result<(), io::Error> { [INFO] [stdout] 240 + fn write_env_file(&self, global_config: &GlobalConfig) -> Result<(), io::Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/main.rs:240:23 [INFO] [stdout] | [INFO] [stdout] 240 | fn write_env_file<'a>(&self, global_config: &'a GlobalConfig) -> Result<(), io::Error> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 240 - fn write_env_file<'a>(&self, global_config: &'a GlobalConfig) -> Result<(), io::Error> { [INFO] [stdout] 240 + fn write_env_file(&self, global_config: &GlobalConfig) -> Result<(), io::Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:246:46 [INFO] [stdout] | [INFO] [stdout] 246 | file = Some(File::create(&file_path)?); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `file_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:246:46 [INFO] [stdout] | [INFO] [stdout] 246 | file = Some(File::create(&file_path)?); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `file_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/main.rs:262:21 [INFO] [stdout] | [INFO] [stdout] 262 | fn env_contents<'a>(&self, global_config: &'a GlobalConfig) -> String { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 262 - fn env_contents<'a>(&self, global_config: &'a GlobalConfig) -> String { [INFO] [stdout] 262 + fn env_contents(&self, global_config: &GlobalConfig) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/main.rs:262:21 [INFO] [stdout] | [INFO] [stdout] 262 | fn env_contents<'a>(&self, global_config: &'a GlobalConfig) -> String { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 262 - fn env_contents<'a>(&self, global_config: &'a GlobalConfig) -> String { [INFO] [stdout] 262 + fn env_contents(&self, global_config: &GlobalConfig) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/main.rs:283:18 [INFO] [stdout] | [INFO] [stdout] 283 | fn is_proper<'a>(&self) -> bool { [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 function definition [INFO] [stdout] --> src/main.rs:283:18 [INFO] [stdout] | [INFO] [stdout] 283 | fn is_proper<'a>(&self) -> bool { [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: comparison to empty slice [INFO] [stdout] --> src/main.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | alias != "" [INFO] [stdout] | ^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!alias.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/main.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | alias != "" [INFO] [stdout] | ^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!alias.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:293:30 [INFO] [stdout] | [INFO] [stdout] 293 | fn compile_to_zwc(file_path: &PathBuf) -> Result<(), io::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] 293 - fn compile_to_zwc(file_path: &PathBuf) -> Result<(), io::Error> { [INFO] [stdout] 293 + fn compile_to_zwc(file_path: &Path) -> Result<(), io::Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:293:30 [INFO] [stdout] | [INFO] [stdout] 293 | fn compile_to_zwc(file_path: &PathBuf) -> Result<(), io::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] 293 - fn compile_to_zwc(file_path: &PathBuf) -> Result<(), io::Error> { [INFO] [stdout] 293 + fn compile_to_zwc(file_path: &Path) -> Result<(), io::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/main.rs:322:78 [INFO] [stdout] | [INFO] [stdout] 322 | replacements.insert("fn_table", build_plugin_table(plugins_iter.clone(), &global_config).into()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:322:78 [INFO] [stdout] | [INFO] [stdout] 322 | replacements.insert("fn_table", build_plugin_table(plugins_iter.clone(), &global_config).into()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:323:74 [INFO] [stdout] | [INFO] [stdout] 323 | replacements.insert("all_fn_table", build_all_fn_table(plugins_iter, &global_config).into()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:323:74 [INFO] [stdout] | [INFO] [stdout] 323 | replacements.insert("all_fn_table", build_all_fn_table(plugins_iter, &global_config).into()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:334:46 [INFO] [stdout] | [INFO] [stdout] 334 | contents = templatize_contents(contents, &global_config, &replacements)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:334:46 [INFO] [stdout] | [INFO] [stdout] 334 | contents = templatize_contents(contents, &global_config, &replacements)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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: `format!` in `format!` args [INFO] [stdout] --> src/main.rs:338:17 [INFO] [stdout] | [INFO] [stdout] 338 | / format!( [INFO] [stdout] 339 | | "bindkey '{}' \"{}\"\n", [INFO] [stdout] 340 | | kb, [INFO] [stdout] 341 | | format!("{}.plugin-select.wg", global_config.fzs_name) [INFO] [stdout] 342 | | ) [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `format!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] = note: `#[warn(clippy::format_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `format!` in `format!` args [INFO] [stdout] --> src/main.rs:338:17 [INFO] [stdout] | [INFO] [stdout] 338 | / format!( [INFO] [stdout] 339 | | "bindkey '{}' \"{}\"\n", [INFO] [stdout] 340 | | kb, [INFO] [stdout] 341 | | format!("{}.plugin-select.wg", global_config.fzs_name) [INFO] [stdout] 342 | | ) [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `format!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] = note: `#[warn(clippy::format_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `format!` in `format!` args [INFO] [stdout] --> src/main.rs:349:17 [INFO] [stdout] | [INFO] [stdout] 349 | / format!( [INFO] [stdout] 350 | | "bindkey '{}' \"{}\"\n", [INFO] [stdout] 351 | | kb, [INFO] [stdout] 352 | | format!("{}.all-fn-select.wg", global_config.fzs_name) [INFO] [stdout] 353 | | ) [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `format!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:360:9 [INFO] [stdout] | [INFO] [stdout] 360 | &global_config, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:372:77 [INFO] [stdout] | [INFO] [stdout] 372 | templatize(Some(fun), pg, &global_config.all_fn_table_template, &global_config, false, true) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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: `format!` in `format!` args [INFO] [stdout] --> src/main.rs:349:17 [INFO] [stdout] | [INFO] [stdout] 349 | / format!( [INFO] [stdout] 350 | | "bindkey '{}' \"{}\"\n", [INFO] [stdout] 351 | | kb, [INFO] [stdout] 352 | | format!("{}.all-fn-select.wg", global_config.fzs_name) [INFO] [stdout] 353 | | ) [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `format!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:360:9 [INFO] [stdout] | [INFO] [stdout] 360 | &global_config, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:372:77 [INFO] [stdout] | [INFO] [stdout] 372 | templatize(Some(fun), pg, &global_config.all_fn_table_template, &global_config, false, true) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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 `sources.get(0)` [INFO] [stdout] --> src/main.rs:403:21 [INFO] [stdout] | [INFO] [stdout] 403 | sources.get(0).unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `sources.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: accessing first element with `sources.get(0)` [INFO] [stdout] --> src/main.rs:403:21 [INFO] [stdout] | [INFO] [stdout] 403 | sources.get(0).unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `sources.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: name `WSUB` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:456:5 [INFO] [stdout] | [INFO] [stdout] 456 | WSUB, // transforms target into a pueue widget on shell [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Wsub` [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 `WSUB` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:456:5 [INFO] [stdout] | [INFO] [stdout] 456 | WSUB, // transforms target into a pueue widget on shell [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Wsub` [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 `WJR` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:457:5 [INFO] [stdout] | [INFO] [stdout] 457 | WJR, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Wjr` [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 `WJR` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:457:5 [INFO] [stdout] | [INFO] [stdout] 457 | WJR, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Wjr` [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 `WJSUB` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:458:5 [INFO] [stdout] | [INFO] [stdout] 458 | WJSUB, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Wjsub` [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 `WJSUB` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:458:5 [INFO] [stdout] | [INFO] [stdout] 458 | WJSUB, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Wjsub` [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 `PGI` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:459:5 [INFO] [stdout] | [INFO] [stdout] 459 | PGI, // flatmap plugin [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Pgi` [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 `PGI` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:459:5 [INFO] [stdout] | [INFO] [stdout] 459 | PGI, // flatmap plugin [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Pgi` [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 `PFN` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:461:5 [INFO] [stdout] | [INFO] [stdout] 461 | PFN, // (Keeping this in in case we need to do more provisions) [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Pfn` [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 `PFN` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:461:5 [INFO] [stdout] | [INFO] [stdout] 461 | PFN, // (Keeping this in in case we need to do more provisions) [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Pfn` [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 `PBG` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:462:5 [INFO] [stdout] | [INFO] [stdout] 462 | PBG, // Replace with run in background [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Pbg` [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 `PBG` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:462:5 [INFO] [stdout] | [INFO] [stdout] 462 | PBG, // Replace with run in background [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Pbg` [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 `CMD` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:469:5 [INFO] [stdout] | [INFO] [stdout] 469 | CMD, // Treat fstring as command [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Cmd` [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 `CMD` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:469:5 [INFO] [stdout] | [INFO] [stdout] 469 | CMD, // Treat fstring as command [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Cmd` [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/main.rs:705:36 [INFO] [stdout] | [INFO] [stdout] 705 | .replace("{{ pg_alias }}", &pg_alias); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `pg_alias` [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/main.rs:716:37 [INFO] [stdout] | [INFO] [stdout] 716 | .replace("{{ alias }}", &fun_alias) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `fun_alias` [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/main.rs:717:36 [INFO] [stdout] | [INFO] [stdout] 717 | .replace("{{ desc }}", &fun.desc.as_deref().unwrap_or("")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `fun.desc.as_deref().unwrap_or("")` [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/main.rs:705:36 [INFO] [stdout] | [INFO] [stdout] 705 | .replace("{{ pg_alias }}", &pg_alias); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `pg_alias` [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/main.rs:716:37 [INFO] [stdout] | [INFO] [stdout] 716 | .replace("{{ alias }}", &fun_alias) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `fun_alias` [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/main.rs:717:36 [INFO] [stdout] | [INFO] [stdout] 717 | .replace("{{ desc }}", &fun.desc.as_deref().unwrap_or("")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `fun.desc.as_deref().unwrap_or("")` [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: methods with the following characteristics: (`to_*` and `self` type is not `Copy`) usually take `self` by reference [INFO] [stdout] --> src/main.rs:822:22 [INFO] [stdout] | [INFO] [stdout] 822 | fn to_plugin<'a>(self, fns: HashMap) -> Plugin { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/main.rs:822:18 [INFO] [stdout] | [INFO] [stdout] 822 | fn to_plugin<'a>(self, fns: HashMap) -> Plugin { [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: methods with the following characteristics: (`to_*` and `self` type is not `Copy`) usually take `self` by reference [INFO] [stdout] --> src/main.rs:822:22 [INFO] [stdout] | [INFO] [stdout] 822 | fn to_plugin<'a>(self, fns: HashMap) -> Plugin { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/main.rs:822:18 [INFO] [stdout] | [INFO] [stdout] 822 | fn to_plugin<'a>(self, fns: HashMap) -> Plugin { [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: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/main.rs:880:13 [INFO] [stdout] | [INFO] [stdout] 880 | / io::Error::new( [INFO] [stdout] 881 | | io::ErrorKind::Other, [INFO] [stdout] 882 | | format!("Failed to create directory: {}", e), [INFO] [stdout] 883 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 880 ~ io::Error::other( [INFO] [stdout] 881 ~ format!("Failed to create directory: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/main.rs:880:13 [INFO] [stdout] | [INFO] [stdout] 880 | / io::Error::new( [INFO] [stdout] 881 | | io::ErrorKind::Other, [INFO] [stdout] 882 | | format!("Failed to create directory: {}", e), [INFO] [stdout] 883 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 880 ~ io::Error::other( [INFO] [stdout] 881 ~ format!("Failed to create directory: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/main.rs:897:13 [INFO] [stdout] | [INFO] [stdout] 897 | / io::Error::new( [INFO] [stdout] 898 | | io::ErrorKind::Other, [INFO] [stdout] 899 | | format!("Failed to create state directory: {}", e), [INFO] [stdout] 900 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 897 ~ io::Error::other( [INFO] [stdout] 898 ~ format!("Failed to create state directory: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/main.rs:897:13 [INFO] [stdout] | [INFO] [stdout] 897 | / io::Error::new( [INFO] [stdout] 898 | | io::ErrorKind::Other, [INFO] [stdout] 899 | | format!("Failed to create state directory: {}", e), [INFO] [stdout] 900 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 897 ~ io::Error::other( [INFO] [stdout] 898 ~ format!("Failed to create state directory: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:926:28 [INFO] [stdout] | [INFO] [stdout] 926 | fs::create_dir_all(&config_home.join("fzs_previews")).map_err(|e| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `config_home.join("fzs_previews")` [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 can be `std::io::Error::other(_)` [INFO] [stdout] --> src/main.rs:927:13 [INFO] [stdout] | [INFO] [stdout] 927 | / io::Error::new( [INFO] [stdout] 928 | | io::ErrorKind::Other, [INFO] [stdout] 929 | | format!("Failed to create config directory: {}", e), [INFO] [stdout] 930 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 927 ~ io::Error::other( [INFO] [stdout] 928 ~ format!("Failed to create config directory: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:926:28 [INFO] [stdout] | [INFO] [stdout] 926 | fs::create_dir_all(&config_home.join("fzs_previews")).map_err(|e| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `config_home.join("fzs_previews")` [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 can be `std::io::Error::other(_)` [INFO] [stdout] --> src/main.rs:927:13 [INFO] [stdout] | [INFO] [stdout] 927 | / io::Error::new( [INFO] [stdout] 928 | | io::ErrorKind::Other, [INFO] [stdout] 929 | | format!("Failed to create config directory: {}", e), [INFO] [stdout] 930 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 927 ~ io::Error::other( [INFO] [stdout] 928 ~ format!("Failed to create config directory: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/main.rs:948:13 [INFO] [stdout] | [INFO] [stdout] 948 | / io::Error::new( [INFO] [stdout] 949 | | io::ErrorKind::Other, [INFO] [stdout] 950 | | format!("Failed to create config directory: {}", e), [INFO] [stdout] 951 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 948 ~ io::Error::other( [INFO] [stdout] 949 ~ format!("Failed to create config directory: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/main.rs:948:13 [INFO] [stdout] | [INFO] [stdout] 948 | / io::Error::new( [INFO] [stdout] 949 | | io::ErrorKind::Other, [INFO] [stdout] 950 | | format!("Failed to create config directory: {}", e), [INFO] [stdout] 951 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 948 ~ io::Error::other( [INFO] [stdout] 949 ~ format!("Failed to create config directory: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:1004:28 [INFO] [stdout] | [INFO] [stdout] 1004 | fn pathbuf_to_string(path: &PathBuf, global_config: &GlobalConfig) -> 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] 1004 - fn pathbuf_to_string(path: &PathBuf, global_config: &GlobalConfig) -> String { [INFO] [stdout] 1004 + fn pathbuf_to_string(path: &Path, global_config: &GlobalConfig) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:1006:18 [INFO] [stdout] | [INFO] [stdout] 1006 | .replace(&global_config.path_dir.to_string_lossy().as_ref(), "$FZS_PATH_DIR") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `global_config.path_dir.to_string_lossy().as_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:1007:18 [INFO] [stdout] | [INFO] [stdout] 1007 | .replace(&global_config.root_dir.to_string_lossy().as_ref(), "$FZS_ROOT_DIR") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `global_config.root_dir.to_string_lossy().as_ref()` [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: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:1011:34 [INFO] [stdout] | [INFO] [stdout] 1011 | fn pathbuf_to_string_basic(path: &PathBuf) -> 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] 1011 - fn pathbuf_to_string_basic(path: &PathBuf) -> String { [INFO] [stdout] 1011 + fn pathbuf_to_string_basic(path: &Path) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:1004:28 [INFO] [stdout] | [INFO] [stdout] 1004 | fn pathbuf_to_string(path: &PathBuf, global_config: &GlobalConfig) -> 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] 1004 - fn pathbuf_to_string(path: &PathBuf, global_config: &GlobalConfig) -> String { [INFO] [stdout] 1004 + fn pathbuf_to_string(path: &Path, global_config: &GlobalConfig) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:1006:18 [INFO] [stdout] | [INFO] [stdout] 1006 | .replace(&global_config.path_dir.to_string_lossy().as_ref(), "$FZS_PATH_DIR") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `global_config.path_dir.to_string_lossy().as_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:1007:18 [INFO] [stdout] | [INFO] [stdout] 1007 | .replace(&global_config.root_dir.to_string_lossy().as_ref(), "$FZS_ROOT_DIR") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `global_config.root_dir.to_string_lossy().as_ref()` [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: methods with the following characteristics: (`to_*` and `self` type is not `Copy`) usually take `self` by reference [INFO] [stdout] --> src/main.rs:1024:25 [INFO] [stdout] | [INFO] [stdout] 1024 | fn to_global_config(self, config_dir: PathBuf) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:1011:34 [INFO] [stdout] | [INFO] [stdout] 1011 | fn pathbuf_to_string_basic(path: &PathBuf) -> 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] 1011 - fn pathbuf_to_string_basic(path: &PathBuf) -> String { [INFO] [stdout] 1011 + fn pathbuf_to_string_basic(path: &Path) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods with the following characteristics: (`to_*` and `self` type is not `Copy`) usually take `self` by reference [INFO] [stdout] --> src/main.rs:1024:25 [INFO] [stdout] | [INFO] [stdout] 1024 | fn to_global_config(self, config_dir: PathBuf) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `Fun` [INFO] [stdout] --> src/main.rs:1245:54 [INFO] [stdout] | [INFO] [stdout] 1245 | self.fns.insert(raw_fn.name.clone(), raw_fn.into()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider removing `.into()`: `raw_fn` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `Fun` [INFO] [stdout] --> src/main.rs:1245:54 [INFO] [stdout] | [INFO] [stdout] 1245 | self.fns.insert(raw_fn.name.clone(), raw_fn.into()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider removing `.into()`: `raw_fn` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/main.rs:1396:1 [INFO] [stdout] | [INFO] [stdout] 1396 | / fn process_cmd( [INFO] [stdout] 1397 | | name: String, [INFO] [stdout] 1398 | | path: Option<&PathBuf>, [INFO] [stdout] 1399 | | alias: Option, [INFO] [stdout] ... | [INFO] [stdout] 1405 | | global_config: &GlobalConfig, [INFO] [stdout] 1406 | | ) -> Result<(), ScanningError> { [INFO] [stdout] | |______________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/main.rs:1396:1 [INFO] [stdout] | [INFO] [stdout] 1396 | / fn process_cmd( [INFO] [stdout] 1397 | | name: String, [INFO] [stdout] 1398 | | path: Option<&PathBuf>, [INFO] [stdout] 1399 | | alias: Option, [INFO] [stdout] ... | [INFO] [stdout] 1405 | | global_config: &GlobalConfig, [INFO] [stdout] 1406 | | ) -> Result<(), ScanningError> { [INFO] [stdout] | |______________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:1505:12 [INFO] [stdout] | [INFO] [stdout] 1505 | if !path.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `path.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: called `unwrap` on `path` after checking its variant with `is_none` [INFO] [stdout] --> src/main.rs:1508:17 [INFO] [stdout] | [INFO] [stdout] 1505 | if !path.is_none() { [INFO] [stdout] | -------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 1508 | path.unwrap().display() [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:1505:12 [INFO] [stdout] | [INFO] [stdout] 1505 | if !path.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `path.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: called `unwrap` on `path` after checking its variant with `is_none` [INFO] [stdout] --> src/main.rs:1508:17 [INFO] [stdout] | [INFO] [stdout] 1505 | if !path.is_none() { [INFO] [stdout] | -------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 1508 | path.unwrap().display() [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/main.rs:1529:21 [INFO] [stdout] | [INFO] [stdout] 1529 | fn populate_plugins<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1534 | global_config: &'a GlobalConfig, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 1529 ~ fn populate_plugins( [INFO] [stdout] 1530 | plugins: &mut HashMap, [INFO] [stdout] ... [INFO] [stdout] 1533 | provide_envs: &mut HashMap, // fstring -> plugin -> function [INFO] [stdout] 1534 ~ global_config: &GlobalConfig, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/main.rs:1529:21 [INFO] [stdout] | [INFO] [stdout] 1529 | fn populate_plugins<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1534 | global_config: &'a GlobalConfig, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 1529 ~ fn populate_plugins( [INFO] [stdout] 1530 | plugins: &mut HashMap, [INFO] [stdout] ... [INFO] [stdout] 1533 | provide_envs: &mut HashMap, // fstring -> plugin -> function [INFO] [stdout] 1534 ~ global_config: &GlobalConfig, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:1600:25 [INFO] [stdout] | [INFO] [stdout] 1600 | &global_config, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:1604:25 [INFO] [stdout] | [INFO] [stdout] 1604 | &fstring, [INFO] [stdout] | ^^^^^^^^ help: change this to: `fstring` [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/main.rs:1609:25 [INFO] [stdout] | [INFO] [stdout] 1609 | &global_config, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:1600:25 [INFO] [stdout] | [INFO] [stdout] 1600 | &global_config, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:1604:25 [INFO] [stdout] | [INFO] [stdout] 1604 | &fstring, [INFO] [stdout] | ^^^^^^^^ help: change this to: `fstring` [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/main.rs:1609:25 [INFO] [stdout] | [INFO] [stdout] 1609 | &global_config, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:1662:57 [INFO] [stdout] | [INFO] [stdout] 1662 | let val = flag_str.strip_prefix("flags=").unwrap_or(&flag_str); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `flag_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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:1662:57 [INFO] [stdout] | [INFO] [stdout] 1662 | let val = flag_str.strip_prefix("flags=").unwrap_or(&flag_str); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `flag_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: compiling a regex in a loop [INFO] [stdout] --> src/main.rs:1779:28 [INFO] [stdout] | [INFO] [stdout] 1779 | ... let func_pattern = regex::Regex::new(r"(?:^| )\$([a-zA-Z0-9_]+)\s*\(").unwrap(); // https://stackoverflow.com/questions/2821... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> src/main.rs:1769:5 [INFO] [stdout] | [INFO] [stdout] 1769 | for line in reader.lines() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] = note: `#[warn(clippy::regex_creation_in_loops)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> src/main.rs:1779:28 [INFO] [stdout] | [INFO] [stdout] 1779 | ... let func_pattern = regex::Regex::new(r"(?:^| )\$([a-zA-Z0-9_]+)\s*\(").unwrap(); // https://stackoverflow.com/questions/2821... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> src/main.rs:1769:5 [INFO] [stdout] | [INFO] [stdout] 1769 | for line in reader.lines() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] = note: `#[warn(clippy::regex_creation_in_loops)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> src/main.rs:1780:27 [INFO] [stdout] | [INFO] [stdout] 1780 | let cmd_pattern = regex::Regex::new(r"(?:^| )([\$a-zA-Z0-9_.\-\&]+)\s*\(").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> src/main.rs:1769:5 [INFO] [stdout] | [INFO] [stdout] 1769 | for line in reader.lines() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> src/main.rs:1781:29 [INFO] [stdout] | [INFO] [stdout] 1781 | let alias_pattern = regex::Regex::new(r"alias ([\$a-zA-Z0-9_.\-\&]+)=").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> src/main.rs:1769:5 [INFO] [stdout] | [INFO] [stdout] 1769 | for line in reader.lines() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:1783:66 [INFO] [stdout] | [INFO] [stdout] 1783 | if let Some(directives) = line.trim_start().strip_prefix(&pattern) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `pattern` [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: compiling a regex in a loop [INFO] [stdout] --> src/main.rs:1780:27 [INFO] [stdout] | [INFO] [stdout] 1780 | let cmd_pattern = regex::Regex::new(r"(?:^| )([\$a-zA-Z0-9_.\-\&]+)\s*\(").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> src/main.rs:1769:5 [INFO] [stdout] | [INFO] [stdout] 1769 | for line in reader.lines() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> src/main.rs:1781:29 [INFO] [stdout] | [INFO] [stdout] 1781 | let alias_pattern = regex::Regex::new(r"alias ([\$a-zA-Z0-9_.\-\&]+)=").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> src/main.rs:1769:5 [INFO] [stdout] | [INFO] [stdout] 1769 | for line in reader.lines() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:1783:66 [INFO] [stdout] | [INFO] [stdout] 1783 | if let Some(directives) = line.trim_start().strip_prefix(&pattern) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `pattern` [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/main.rs:1846:101 [INFO] [stdout] | [INFO] [stdout] 1846 | ... let name= global_config.name_from_alias_template.replace("{{ alias }}", &alias.as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `alias.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: this expression can be written more simply using `.retain()` [INFO] [stdout] --> src/main.rs:1881:25 [INFO] [stdout] | [INFO] [stdout] 1881 | ... flags = flags.into_iter().filter(|flag| if flag.cannot_on_script() { warn!("Flag {:?} cannot decorate a function ({}), skipping", flag, file_path.display()); false } else {true}).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling `.retain()` instead: `flags.retain(|flag| if flag.cannot_on_script() { warn!("Flag {:?} cannot decorate a function ({}), skipping", flag, file_path.display()); false } else {true})` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_retain [INFO] [stdout] = note: `#[warn(clippy::manual_retain)]` 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/main.rs:1846:101 [INFO] [stdout] | [INFO] [stdout] 1846 | ... let name= global_config.name_from_alias_template.replace("{{ alias }}", &alias.as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `alias.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: this expression can be written more simply using `.retain()` [INFO] [stdout] --> src/main.rs:1881:25 [INFO] [stdout] | [INFO] [stdout] 1881 | ... flags = flags.into_iter().filter(|flag| if flag.cannot_on_script() { warn!("Flag {:?} cannot decorate a function ({}), skipping", flag, file_path.display()); false } else {true}).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling `.retain()` instead: `flags.retain(|flag| if flag.cannot_on_script() { warn!("Flag {:?} cannot decorate a function ({}), skipping", flag, file_path.display()); false } else {true})` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_retain [INFO] [stdout] = note: `#[warn(clippy::manual_retain)]` 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/main.rs:1901:29 [INFO] [stdout] | [INFO] [stdout] 1901 | ... &global_config, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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 can be written more simply using `.retain()` [INFO] [stdout] --> src/main.rs:1907:21 [INFO] [stdout] | [INFO] [stdout] 1907 | ... flags = flags.into_iter().filter(|flag| if flag.cannot_on_script() { warn!("Flag {:?} cannot decorate a function ({}), skipping", flag, file_path.display()); false } else {true}).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling `.retain()` instead: `flags.retain(|flag| if flag.cannot_on_script() { warn!("Flag {:?} cannot decorate a function ({}), skipping", flag, file_path.display()); false } else {true})` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_retain [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:1901:29 [INFO] [stdout] | [INFO] [stdout] 1901 | ... &global_config, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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 can be written more simply using `.retain()` [INFO] [stdout] --> src/main.rs:1907:21 [INFO] [stdout] | [INFO] [stdout] 1907 | ... flags = flags.into_iter().filter(|flag| if flag.cannot_on_script() { warn!("Flag {:?} cannot decorate a function ({}), skipping", flag, file_path.display()); false } else {true}).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling `.retain()` instead: `flags.retain(|flag| if flag.cannot_on_script() { warn!("Flag {:?} cannot decorate a function ({}), skipping", flag, file_path.display()); false } else {true})` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_retain [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:1970:38 [INFO] [stdout] | [INFO] [stdout] 1970 | symlink_file(&source_path, &symlink_path) [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `source_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:1970:38 [INFO] [stdout] | [INFO] [stdout] 1970 | symlink_file(&source_path, &symlink_path) [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `source_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/main.rs:2024:58 [INFO] [stdout] | [INFO] [stdout] 2024 | &pathbuf_to_string(&global_config.provides_file, &global_config), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:2024:58 [INFO] [stdout] | [INFO] [stdout] 2024 | &pathbuf_to_string(&global_config.provides_file, &global_config), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:2048:54 [INFO] [stdout] | [INFO] [stdout] 2048 | &pathbuf_to_string(&global_config.init_file, &global_config), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:2068:59 [INFO] [stdout] | [INFO] [stdout] 2068 | &pathbuf_to_string(&global_config.generated_file, &global_config)) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:2048:54 [INFO] [stdout] | [INFO] [stdout] 2048 | &pathbuf_to_string(&global_config.init_file, &global_config), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:2081:66 [INFO] [stdout] | [INFO] [stdout] 2081 | if let Err(e) = fs::write(&global_config.generated_file, &[]) { [INFO] [stdout] | ^^^ help: change this to: `[]` [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/main.rs:2068:59 [INFO] [stdout] | [INFO] [stdout] 2068 | &pathbuf_to_string(&global_config.generated_file, &global_config)) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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/main.rs:2092:109 [INFO] [stdout] | [INFO] [stdout] 2092 | ...ng(&global_config.default_help_file, &global_config), |p| p.to_string_lossy().to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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 conversion to the same type: `&str` [INFO] [stdout] --> src/main.rs:2093:29 [INFO] [stdout] | [INFO] [stdout] 2093 | replacements.insert("plugin_help_file".into(), help_file.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `"plugin_help_file"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:2081:66 [INFO] [stdout] | [INFO] [stdout] 2081 | if let Err(e) = fs::write(&global_config.generated_file, &[]) { [INFO] [stdout] | ^^^ help: change this to: `[]` [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 conversion to the same type: `&str` [INFO] [stdout] --> src/main.rs:2096:33 [INFO] [stdout] | [INFO] [stdout] 2096 | replacements.insert("fn_table".into(), fn_table.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `"fn_table"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `&str` [INFO] [stdout] --> src/main.rs:2098:17 [INFO] [stdout] | [INFO] [stdout] 2098 | "selector_name".into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `"selector_name"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:2092:109 [INFO] [stdout] | [INFO] [stdout] 2092 | ...ng(&global_config.default_help_file, &global_config), |p| p.to_string_lossy().to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `global_config` [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 conversion to the same type: `&str` [INFO] [stdout] --> src/main.rs:2093:29 [INFO] [stdout] | [INFO] [stdout] 2093 | replacements.insert("plugin_help_file".into(), help_file.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `"plugin_help_file"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `&str` [INFO] [stdout] --> src/main.rs:2096:33 [INFO] [stdout] | [INFO] [stdout] 2096 | replacements.insert("fn_table".into(), fn_table.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `"fn_table"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `&str` [INFO] [stdout] --> src/main.rs:2098:17 [INFO] [stdout] | [INFO] [stdout] 2098 | "selector_name".into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `"selector_name"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/main.rs:2161:9 [INFO] [stdout] | [INFO] [stdout] 2161 | extra.push_str("⋯"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `extra.push('⋯')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/main.rs:2170:21 [INFO] [stdout] | [INFO] [stdout] 2170 | for (_, fun) in &plugin.fns { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 2170 - for (_, fun) in &plugin.fns { [INFO] [stdout] 2170 + for fun in plugin.fns.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/main.rs:2161:9 [INFO] [stdout] | [INFO] [stdout] 2161 | extra.push_str("⋯"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `extra.push('⋯')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/main.rs:2170:21 [INFO] [stdout] | [INFO] [stdout] 2170 | for (_, fun) in &plugin.fns { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 2170 - for (_, fun) in &plugin.fns { [INFO] [stdout] 2170 + for fun in plugin.fns.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant name starts with the enum's name [INFO] [stdout] --> src/main.rs:2261:5 [INFO] [stdout] | [INFO] [stdout] 2261 | ScannedPlugin(InitialPlugin), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant name starts with the enum's name [INFO] [stdout] --> src/main.rs:2262:5 [INFO] [stdout] | [INFO] [stdout] 2262 | ScannedLinkedbin(InitialPlugin), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/main.rs:2266:21 [INFO] [stdout] | [INFO] [stdout] 2266 | fn finalize_plugins<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] 2267 | plugins: &mut HashMap, [INFO] [stdout] 2268 | global_config: &'a GlobalConfig, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 2266 ~ fn finalize_plugins( [INFO] [stdout] 2267 | plugins: &mut HashMap, [INFO] [stdout] 2268 ~ global_config: &GlobalConfig, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.35s [INFO] [stdout] warning: variant name starts with the enum's name [INFO] [stdout] --> src/main.rs:2261:5 [INFO] [stdout] | [INFO] [stdout] 2261 | ScannedPlugin(InitialPlugin), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant name starts with the enum's name [INFO] [stdout] --> src/main.rs:2262:5 [INFO] [stdout] | [INFO] [stdout] 2262 | ScannedLinkedbin(InitialPlugin), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/main.rs:2266:21 [INFO] [stdout] | [INFO] [stdout] 2266 | fn finalize_plugins<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] 2267 | plugins: &mut HashMap, [INFO] [stdout] 2268 | global_config: &'a GlobalConfig, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 2266 ~ fn finalize_plugins( [INFO] [stdout] 2267 | plugins: &mut HashMap, [INFO] [stdout] 2268 ~ global_config: &GlobalConfig, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/main.rs:2295:9 [INFO] [stdout] | [INFO] [stdout] 2295 | / io::Error::new( [INFO] [stdout] 2296 | | io::ErrorKind::Other, [INFO] [stdout] 2297 | | format!("Failed to read config.toml: {}", e), [INFO] [stdout] 2298 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 2295 ~ io::Error::other( [INFO] [stdout] 2296 ~ format!("Failed to read config.toml: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/main.rs:2295:9 [INFO] [stdout] | [INFO] [stdout] 2295 | / io::Error::new( [INFO] [stdout] 2296 | | io::ErrorKind::Other, [INFO] [stdout] 2297 | | format!("Failed to read config.toml: {}", e), [INFO] [stdout] 2298 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 2295 ~ io::Error::other( [INFO] [stdout] 2296 ~ format!("Failed to read config.toml: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:2369:33 [INFO] [stdout] | [INFO] [stdout] 2369 | .replace(&home_dir, &"~") [INFO] [stdout] | ^^^^ help: change this to: `"~"` [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/main.rs:2378:37 [INFO] [stdout] | [INFO] [stdout] 2378 | .replace(&home_dir, &"~") [INFO] [stdout] | ^^^^ help: change this to: `"~"` [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/main.rs:2369:33 [INFO] [stdout] | [INFO] [stdout] 2369 | .replace(&home_dir, &"~") [INFO] [stdout] | ^^^^ help: change this to: `"~"` [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/main.rs:2378:37 [INFO] [stdout] | [INFO] [stdout] 2378 | .replace(&home_dir, &"~") [INFO] [stdout] | ^^^^ help: change this to: `"~"` [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] running `Command { std: "docker" "inspect" "146bf667b284666932d7ac636f4b781afd3ef375fd4e2353ab05ec5ec72a8c5e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "146bf667b284666932d7ac636f4b781afd3ef375fd4e2353ab05ec5ec72a8c5e", kill_on_drop: false }` [INFO] [stdout] 146bf667b284666932d7ac636f4b781afd3ef375fd4e2353ab05ec5ec72a8c5e