[INFO] cloning repository https://github.com/StarterX4/L4AddonEnforcer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/StarterX4/L4AddonEnforcer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStarterX4%2FL4AddonEnforcer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStarterX4%2FL4AddonEnforcer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0a551dbab5f5d1f9a75819485cdd88b08afd57ab [INFO] linting StarterX4/L4AddonEnforcer against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStarterX4%2FL4AddonEnforcer" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain [INFO] started tweaking git repo https://github.com/StarterX4/L4AddonEnforcer [INFO] finished tweaking git repo https://github.com/StarterX4/L4AddonEnforcer [INFO] tweaked toml for git repo https://github.com/StarterX4/L4AddonEnforcer written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/StarterX4/L4AddonEnforcer on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/StarterX4/L4AddonEnforcer 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 path-dedot v3.1.1 [INFO] [stderr] Downloaded keyvalues-parser v0.2.0 [INFO] [stderr] Downloaded fltk-theme v0.7.9 [INFO] [stderr] Downloaded steamlocate v2.0.1 [INFO] [stderr] Downloaded cmk v0.1.2 [INFO] [stderr] Downloaded sourcepak v0.3.0 [INFO] [stderr] Downloaded keyvalues-serde v0.2.2 [INFO] [stderr] Downloaded filebuffer v0.4.0 [INFO] [stderr] Downloaded helptext v0.1.1 [INFO] [stderr] Downloaded fltk v1.5.9 [INFO] [stderr] Downloaded fltk-sys v1.5.9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0d9b2ac5496981b0c6043a0c8ee32688d17fa2899cc49caffada3e340c2dfdae [INFO] running `Command { std: "docker" "start" "-a" "0d9b2ac5496981b0c6043a0c8ee32688d17fa2899cc49caffada3e340c2dfdae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0d9b2ac5496981b0c6043a0c8ee32688d17fa2899cc49caffada3e340c2dfdae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0d9b2ac5496981b0c6043a0c8ee32688d17fa2899cc49caffada3e340c2dfdae", kill_on_drop: false }` [INFO] [stdout] 0d9b2ac5496981b0c6043a0c8ee32688d17fa2899cc49caffada3e340c2dfdae [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 03fb1dfb86df2f289e01e243145e5b51be73485f099f13ae1296c1e647957701 [INFO] running `Command { std: "docker" "start" "-a" "03fb1dfb86df2f289e01e243145e5b51be73485f099f13ae1296c1e647957701", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.2.29 [INFO] [stderr] Checking ttf-parser v0.25.1 [INFO] [stderr] Checking path-dedot v3.1.1 [INFO] [stderr] Checking helptext v0.1.1 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking clap_builder v4.5.40 [INFO] [stderr] Checking filebuffer v0.4.0 [INFO] [stderr] Checking sanitize-filename v0.6.0 [INFO] [stderr] Checking md-5 v0.10.6 [INFO] [stderr] Checking sourcepak v0.3.0 [INFO] [stderr] Compiling cmake v0.1.54 [INFO] [stderr] Compiling fltk-sys v1.5.9 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling clap_derive v4.5.40 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling pest v2.8.1 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking clap v4.5.40 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Compiling pest_meta v2.8.1 [INFO] [stderr] Compiling pest_generator v2.8.1 [INFO] [stderr] Compiling pest_derive v2.8.1 [INFO] [stderr] Checking keyvalues-parser v0.2.0 [INFO] [stderr] Checking keyvalues-serde v0.2.2 [INFO] [stderr] Checking steamlocate v2.0.1 [INFO] [stderr] Checking fltk v1.5.9 [INFO] [stderr] Checking fltk-theme v0.7.9 [INFO] [stderr] Checking L4AddonEnforcer v0.5.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `process::exit` [INFO] [stdout] --> src/core_imports.rs:14:2 [INFO] [stdout] | [INFO] [stdout] 14 | process::exit, [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: `process::exit` [INFO] [stdout] --> src/core_imports.rs:14:2 [INFO] [stdout] | [INFO] [stdout] 14 | process::exit, [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: `env::join_paths` [INFO] [stdout] --> src/list_addons.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{env::join_paths, path}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VPKDirectoryEntry` [INFO] [stdout] --> src/vpk_getdata.rs:6:30 [INFO] [stdout] | [INFO] [stdout] 6 | common::format::{PakReader, VPKDirectoryEntry}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `env::join_paths` [INFO] [stdout] --> src/list_addons.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{env::join_paths, path}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VPKDirectoryEntry` [INFO] [stdout] --> src/vpk_getdata.rs:6:30 [INFO] [stdout] | [INFO] [stdout] 6 | common::format::{PakReader, VPKDirectoryEntry}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:120:23 [INFO] [stdout] | [INFO] [stdout] 120 | installed_list.add(&format!("Failed to list addons:")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Failed to list addons:".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:130:33 [INFO] [stdout] | [INFO] [stdout] 130 | installed_list.add(&format!("@c@iNo addons are currently installed.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"@c@iNo addons are currently installed.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:131:33 [INFO] [stdout] | [INFO] [stdout] 131 | installed_list.add(&format!("@c@iWould you like to install one (or more)?")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"@c@iWould you like to install one (or more)?".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:157:58 [INFO] [stdout] | [INFO] [stdout] 157 | ..., &format!("Invalid addon name!\n\tName cannot be empty, contain whitespace, or special characters\n\tthat are known to cause problems with file managers or filesystems.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Invalid addon name!\n\tName cannot be empty, contain whitespace, or special characters\n\tthat are known to cause problems with file managers or filesystems.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/gui.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | if !inp_box.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `inp_box.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 `inp_box` after checking its variant with `is_none` [INFO] [stdout] --> src/gui.rs:213:19 [INFO] [stdout] | [INFO] [stdout] 212 | if !inp_box.is_none() { [INFO] [stdout] | ----------------- the check is happening here [INFO] [stdout] 213 | let input = inp_box.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:288:59 [INFO] [stdout] | [INFO] [stdout] 288 | dialog::alert(center().0 - 200, center().1 - 100, &format!("PuG Mode is now enabled.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"PuG Mode is now enabled.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:293:56 [INFO] [stdout] | [INFO] [stdout] 293 | dialog::alert(center().0 - 200, center().1 - 100, &format!("PuG Mode is now disabled.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"PuG Mode is now disabled.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:334:58 [INFO] [stdout] | [INFO] [stdout] 334 | dialog::alert(center().0 - 200, center().1 - 100, &format!("Succesfully reset gameinfo.txt to default.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Succesfully reset gameinfo.txt to default.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:401:29 [INFO] [stdout] | [INFO] [stdout] 401 | installed_list.add(&format!("@bFailed to list addons:")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"@bFailed to list addons:".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:415:33 [INFO] [stdout] | [INFO] [stdout] 415 | installed_list.add(&format!("@c@iNo addons are currently installed.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"@c@iNo addons are currently installed.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:416:33 [INFO] [stdout] | [INFO] [stdout] 416 | installed_list.add(&format!("@c@iWould you like to install one (or more)?")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"@c@iWould you like to install one (or more)?".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/install_addon.rs:8:35 [INFO] [stdout] | [INFO] [stdout] 8 | let datapack = vpk_getdata::main(&addon_file, verbose)?; [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `addon_file` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/install_addon.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let err = format!( [INFO] [stdout] | ___________________^ [INFO] [stdout] 11 | | "Unable to define the addon name. Please specify it manually." [INFO] [stdout] 12 | | ); [INFO] [stdout] | |_________^ help: consider using `.to_string()`: `"Unable to define the addon name. Please specify it manually.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/install_addon.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | ... let i = install_addon(&addon_file, &sanitize_filename::sanitize(&datapack.title.replace(" ", "_").replace("'", "").as_str()), ... [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `addon_file` [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/install_addon.rs:21:67 [INFO] [stdout] | [INFO] [stdout] 21 | ...anitize_filename::sanitize(&datapack.title.replace(" ", "_").replace("'", "").as_str()), verbose)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `datapack.title.replace(" ", "_").replace("'", "").as_str()` [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: useless use of `format!` [INFO] [stdout] --> src/gui.rs:120:23 [INFO] [stdout] | [INFO] [stdout] 120 | installed_list.add(&format!("Failed to list addons:")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Failed to list addons:".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:130:33 [INFO] [stdout] | [INFO] [stdout] 130 | installed_list.add(&format!("@c@iNo addons are currently installed.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"@c@iNo addons are currently installed.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:131:33 [INFO] [stdout] | [INFO] [stdout] 131 | installed_list.add(&format!("@c@iWould you like to install one (or more)?")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"@c@iWould you like to install one (or more)?".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/install_addon.rs:30:26 [INFO] [stdout] | [INFO] [stdout] 30 | let gameinfo_orig_md5 = format!("586b3b0b39bc44ddfb07792b1932c479"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"586b3b0b39bc44ddfb07792b1932c479".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/install_addon.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let err = format!("Both addon name and addon file path must be provided!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Both addon name and addon file path must be provided!".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/install_addon.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let err = format!( [INFO] [stdout] | ___________________^ [INFO] [stdout] 53 | | "Invalid addon name! \n\tName cannot be empty, contain whitespace, or special characters \n\tthat are known to cause p... [INFO] [stdout] 54 | | ); [INFO] [stdout] | |_________^ help: consider using `.to_string()`: `"Invalid addon name! \n\tName cannot be empty, contain whitespace, or special characters \n\tthat are known to cause problems with file managers or filesystems.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/install_addon.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | let err = format!("Invalid addon file path!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Invalid addon file path!".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/install_addon.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/install_addon.rs:122:32 [INFO] [stdout] | [INFO] [stdout] 122 | let addon_dir = l4d2_dir.join(format!("{}", name)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/install_addon.rs:158:54 [INFO] [stdout] | [INFO] [stdout] 158 | .any(|line| line.contains("Game") && line.contains(&name)) [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:157:58 [INFO] [stdout] | [INFO] [stdout] 157 | ..., &format!("Invalid addon name!\n\tName cannot be empty, contain whitespace, or special characters\n\tthat are known to cause problems with file managers or filesystems.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Invalid addon name!\n\tName cannot be empty, contain whitespace, or special characters\n\tthat are known to cause problems with file managers or filesystems.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/gui.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | if !inp_box.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `inp_box.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 `inp_box` after checking its variant with `is_none` [INFO] [stdout] --> src/gui.rs:213:19 [INFO] [stdout] | [INFO] [stdout] 212 | if !inp_box.is_none() { [INFO] [stdout] | ----------------- the check is happening here [INFO] [stdout] 213 | let input = inp_box.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:288:59 [INFO] [stdout] | [INFO] [stdout] 288 | dialog::alert(center().0 - 200, center().1 - 100, &format!("PuG Mode is now enabled.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"PuG Mode is now enabled.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:293:56 [INFO] [stdout] | [INFO] [stdout] 293 | dialog::alert(center().0 - 200, center().1 - 100, &format!("PuG Mode is now disabled.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"PuG Mode is now disabled.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:334:58 [INFO] [stdout] | [INFO] [stdout] 334 | dialog::alert(center().0 - 200, center().1 - 100, &format!("Succesfully reset gameinfo.txt to default.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Succesfully reset gameinfo.txt to default.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:401:29 [INFO] [stdout] | [INFO] [stdout] 401 | installed_list.add(&format!("@bFailed to list addons:")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"@bFailed to list addons:".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:415:33 [INFO] [stdout] | [INFO] [stdout] 415 | installed_list.add(&format!("@c@iNo addons are currently installed.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"@c@iNo addons are currently installed.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/gui.rs:416:33 [INFO] [stdout] | [INFO] [stdout] 416 | installed_list.add(&format!("@c@iWould you like to install one (or more)?")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"@c@iWould you like to install one (or more)?".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rename_addon.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let err = format!("No addon names provided for renaming"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"No addon names provided for renaming".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rename_addon.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let err = format!( [INFO] [stdout] | ___________________^ [INFO] [stdout] 27 | | "Invalid addon name! \n\tNew name cannot be empty, contain whitespace, or special characters \n\tthat are known to cau... [INFO] [stdout] 28 | | ); [INFO] [stdout] | |_________^ help: consider using `.to_string()`: `"Invalid addon name! \n\tNew name cannot be empty, contain whitespace, or special characters \n\tthat are known to cause problems with file managers or filesystems.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rename_addon.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | let err = format!("Unable to locate gameinfo.txt file. Is the game installation broken?"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unable to locate gameinfo.txt file. Is the game installation broken?".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/install_addon.rs:8:35 [INFO] [stdout] | [INFO] [stdout] 8 | let datapack = vpk_getdata::main(&addon_file, verbose)?; [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `addon_file` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/install_addon.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let err = format!( [INFO] [stdout] | ___________________^ [INFO] [stdout] 11 | | "Unable to define the addon name. Please specify it manually." [INFO] [stdout] 12 | | ); [INFO] [stdout] | |_________^ help: consider using `.to_string()`: `"Unable to define the addon name. Please specify it manually.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/install_addon.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | ... let i = install_addon(&addon_file, &sanitize_filename::sanitize(&datapack.title.replace(" ", "_").replace("'", "").as_str()), ... [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `addon_file` [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/rename_addon.rs:78:55 [INFO] [stdout] | [INFO] [stdout] 78 | .any(|line| line.contains("Game") && line.contains(&new_name)) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `new_name` [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/install_addon.rs:21:67 [INFO] [stdout] | [INFO] [stdout] 21 | ...anitize_filename::sanitize(&datapack.title.replace(" ", "_").replace("'", "").as_str()), verbose)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `datapack.title.replace(" ", "_").replace("'", "").as_str()` [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/rename_addon.rs:90:55 [INFO] [stdout] | [INFO] [stdout] 90 | .any(|line| line.contains("Game") && line.contains(&ren_name)) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `ren_name` [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/rename_addon.rs:97:61 [INFO] [stdout] | [INFO] [stdout] 97 | .position(|line| line.contains("Game") && line.contains(&ren_name)) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `ren_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rename_addon.rs:124:37 [INFO] [stdout] | [INFO] [stdout] 124 | let ren_addon_dir = l4d2_dir.join(format!("{}", ren_name)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `ren_name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rename_addon.rs:125:41 [INFO] [stdout] | [INFO] [stdout] 125 | let ren_new_addon_dir = l4d2_dir.join(format!("{}", new_name)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `new_name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/list_addons.rs:55:37 [INFO] [stdout] | [INFO] [stdout] 55 | let addon_file = l4d2_dir.join(&addon.trim_start_matches('\t')).join("pak01_dir.vpk"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `addon.trim_start_matches('\t')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/uninstall_addon.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | let err = format!("No addon name provided for uninstallation"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"No addon name provided for uninstallation".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/uninstall_addon.rs:33:55 [INFO] [stdout] | [INFO] [stdout] 33 | .any(|line| line.contains("Game") && line.contains(&del_name)) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `del_name` [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/uninstall_addon.rs:37:61 [INFO] [stdout] | [INFO] [stdout] 37 | .position(|line| line.contains("Game") && line.contains(&del_name)) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `del_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/uninstall_addon.rs:54:41 [INFO] [stdout] | [INFO] [stdout] 54 | let del_addon_dir = l4d2_path()?.join(format!("{}", del_name)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `del_name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/uninstall_addon.rs:72:14 [INFO] [stdout] | [INFO] [stdout] 72 | let err = format!("Core game components cannot be uninstalled!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Core game components cannot be uninstalled!".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pug_mode.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | return Err(Box::new(QuietErr(Some(err)))); [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] 34 - return Err(Box::new(QuietErr(Some(err)))); [INFO] [stdout] 34 + Err(Box::new(QuietErr(Some(err)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pug_mode.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | return Err(Box::new(QuietErr(Some(err)))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - return Err(Box::new(QuietErr(Some(err)))); [INFO] [stdout] 44 + Err(Box::new(QuietErr(Some(err)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pug_mode.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | return Ok(2); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 65 - return Ok(2); [INFO] [stdout] 65 + Ok(2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pug_mode.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | return Ok(1); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 105 - return Ok(1); [INFO] [stdout] 105 + Ok(1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pug_mode.rs:126:4 [INFO] [stdout] | [INFO] [stdout] 126 | return Ok(2); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - return Ok(2); [INFO] [stdout] 126 + Ok(2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pug_mode.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | let gameinfo_orig_md5 = format!("586b3b0b39bc44ddfb07792b1932c479"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"586b3b0b39bc44ddfb07792b1932c479".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/install_addon.rs:30:26 [INFO] [stdout] | [INFO] [stdout] 30 | let gameinfo_orig_md5 = format!("586b3b0b39bc44ddfb07792b1932c479"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"586b3b0b39bc44ddfb07792b1932c479".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/install_addon.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let err = format!("Both addon name and addon file path must be provided!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Both addon name and addon file path must be provided!".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pug_mode.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | let err = format!( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 40 | | "gameinfo.txt is already at its default state, but no custom gameinfo.txt is to be found! [INFO] [stdout] 41 | | \n (PuG Mode is disabled, and gameinfo in unmodified vanilla state)" [INFO] [stdout] 42 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 39 ~ let err = "gameinfo.txt is already at its default state, but no custom gameinfo.txt is to be found! [INFO] [stdout] 40 ~ \n (PuG Mode is disabled, and gameinfo in unmodified vanilla state)".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/install_addon.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let err = format!( [INFO] [stdout] | ___________________^ [INFO] [stdout] 53 | | "Invalid addon name! \n\tName cannot be empty, contain whitespace, or special characters \n\tthat are known to cause p... [INFO] [stdout] 54 | | ); [INFO] [stdout] | |_________^ help: consider using `.to_string()`: `"Invalid addon name! \n\tName cannot be empty, contain whitespace, or special characters \n\tthat are known to cause problems with file managers or filesystems.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/install_addon.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | let err = format!("Invalid addon file path!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Invalid addon file path!".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/install_addon.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/install_addon.rs:122:32 [INFO] [stdout] | [INFO] [stdout] 122 | let addon_dir = l4d2_dir.join(format!("{}", name)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/install_addon.rs:158:54 [INFO] [stdout] | [INFO] [stdout] 158 | .any(|line| line.contains("Game") && line.contains(&name)) [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_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:29:47 [INFO] [stdout] | [INFO] [stdout] 29 | let _ = install_addon::autoinstall_addon(&addon_file, args.verbose); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `addon_file` [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:32:43 [INFO] [stdout] | [INFO] [stdout] 32 | let _ = install_addon::install_addon(&addon_file, &name, args.verbose); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `addon_file` [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:32:56 [INFO] [stdout] | [INFO] [stdout] 32 | let _ = install_addon::install_addon(&addon_file, &name, args.verbose); [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:35:16 [INFO] [stdout] | [INFO] [stdout] 35 | let err = format!( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 36 | | "Argument -n has been passed but no -f have been passed! [INFO] [stdout] 37 | | \nNo addon.vpk file provided for installation." [INFO] [stdout] 38 | | ); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 35 ~ let err = "Argument -n has been passed but no -f have been passed! [INFO] [stdout] 36 ~ \nNo addon.vpk file provided for installation.".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | let err = format!( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 49 | | "Arguments -n and -f have not been passed! [INFO] [stdout] 50 | | \nNo addon.vpk file provided for installation." [INFO] [stdout] 51 | | ); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 48 ~ let err = "Arguments -n and -f have not been passed! [INFO] [stdout] 49 ~ \nNo addon.vpk file provided for installation.".to_string(); [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:66:47 [INFO] [stdout] | [INFO] [stdout] 66 | let _ = uninstall_addon::uninstall_addon(&name, args.verbose); [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:69:16 [INFO] [stdout] | [INFO] [stdout] 69 | let err = format!( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 70 | | "Argument -n has not been passed! [INFO] [stdout] 71 | | \nNo addon name provided for uninstalling." [INFO] [stdout] 72 | | ); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 69 ~ let err = "Argument -n has not been passed! [INFO] [stdout] 70 ~ \nNo addon name provided for uninstalling.".to_string(); [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:91:41 [INFO] [stdout] | [INFO] [stdout] 91 | let _ = rename_addon::rename_addon(¤t, &new, args.verbose); [INFO] [stdout] | ^^^^^^^^ help: change this to: `current` [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:91:51 [INFO] [stdout] | [INFO] [stdout] 91 | let _ = rename_addon::rename_addon(¤t, &new, args.verbose); [INFO] [stdout] | ^^^^ help: change this to: `new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | let err = format!( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 95 | | "Argument --current (-c) has been passed but no --new (-n) have been passed! [INFO] [stdout] 96 | | \nNo new addon name provided for renaming." [INFO] [stdout] 97 | | ); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 94 ~ let err = "Argument --current (-c) has been passed but no --new (-n) have been passed! [INFO] [stdout] 95 ~ \nNo new addon name provided for renaming.".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:107:16 [INFO] [stdout] | [INFO] [stdout] 107 | let err = format!( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 108 | | "Argument --current (-c) has not been passed! [INFO] [stdout] 109 | | \nNo currently installed addon provided for renaming." [INFO] [stdout] 110 | | ); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 107 ~ let err = "Argument --current (-c) has not been passed! [INFO] [stdout] 108 ~ \nNo currently installed addon provided for renaming.".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:120:16 [INFO] [stdout] | [INFO] [stdout] 120 | let err = format!( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 121 | | "Arguments --current (-c) and --new (-n) have not been passed! [INFO] [stdout] 122 | | \nNo currently installed addon provided for renaming." [INFO] [stdout] 123 | | ); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 120 ~ let err = "Arguments --current (-c) and --new (-n) have not been passed! [INFO] [stdout] 121 ~ \nNo currently installed addon provided for renaming.".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:140:15 [INFO] [stdout] | [INFO] [stdout] 140 | let err = format!( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 141 | | "Argument --CONFIRM has not been passed! [INFO] [stdout] 142 | | \nNo confirmation provided for reset." [INFO] [stdout] 143 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 140 ~ let err = "Argument --CONFIRM has not been passed! [INFO] [stdout] 141 ~ \nNo confirmation provided for reset.".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:155:15 [INFO] [stdout] | [INFO] [stdout] 155 | let err = format!( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 156 | | "No PuG mode action specified! [INFO] [stdout] 157 | | \nUse --check (-c) to check PuG mode status or --switch (-s) to toggle it." [INFO] [stdout] 158 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 155 ~ let err = "No PuG mode action specified! [INFO] [stdout] 156 ~ \nUse --check (-c) to check PuG mode status or --switch (-s) to toggle it.".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:186:26 [INFO] [stdout] | [INFO] [stdout] 186 | let gameinfo_orig_md5 = format!("586b3b0b39bc44ddfb07792b1932c479"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"586b3b0b39bc44ddfb07792b1932c479".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/main.rs:208:4 [INFO] [stdout] | [INFO] [stdout] 208 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:216:14 [INFO] [stdout] | [INFO] [stdout] 216 | let err = format!("gameinfo.txt is already at its default state!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"gameinfo.txt is already at its default state!".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:233:14 [INFO] [stdout] | [INFO] [stdout] 233 | let err = format!("gameinfo.txt is already at its default state!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"gameinfo.txt is already at its default state!".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:301:4 [INFO] [stdout] | [INFO] [stdout] 301 | return Err(Box::new(QuietErr(Some(e)))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 301 - return Err(Box::new(QuietErr(Some(e)))); [INFO] [stdout] 301 + Err(Box::new(QuietErr(Some(e)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rename_addon.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let err = format!("No addon names provided for renaming"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"No addon names provided for renaming".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rename_addon.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let err = format!( [INFO] [stdout] | ___________________^ [INFO] [stdout] 27 | | "Invalid addon name! \n\tNew name cannot be empty, contain whitespace, or special characters \n\tthat are known to cau... [INFO] [stdout] 28 | | ); [INFO] [stdout] | |_________^ help: consider using `.to_string()`: `"Invalid addon name! \n\tNew name cannot be empty, contain whitespace, or special characters \n\tthat are known to cause problems with file managers or filesystems.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rename_addon.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | let err = format!("Unable to locate gameinfo.txt file. Is the game installation broken?"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unable to locate gameinfo.txt file. Is the game installation broken?".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:333:13 [INFO] [stdout] | [INFO] [stdout] 333 | let err = format!("Unable to locate gameinfo.txt file. Is the game installation broken?"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unable to locate gameinfo.txt file. Is the game installation broken?".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:368:4 [INFO] [stdout] | [INFO] [stdout] 368 | return Err(Box::new(QuietErr(Some(e)))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 368 - return Err(Box::new(QuietErr(Some(e)))); [INFO] [stdout] 368 + Err(Box::new(QuietErr(Some(e)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:386:4 [INFO] [stdout] | [INFO] [stdout] 386 | return Err(Box::new(QuietErr(Some(e)))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 386 - return Err(Box::new(QuietErr(Some(e)))); [INFO] [stdout] 386 + Err(Box::new(QuietErr(Some(e)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/rename_addon.rs:78:55 [INFO] [stdout] | [INFO] [stdout] 78 | .any(|line| line.contains("Game") && line.contains(&new_name)) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `new_name` [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/rename_addon.rs:90:55 [INFO] [stdout] | [INFO] [stdout] 90 | .any(|line| line.contains("Game") && line.contains(&ren_name)) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `ren_name` [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/rename_addon.rs:97:61 [INFO] [stdout] | [INFO] [stdout] 97 | .position(|line| line.contains("Game") && line.contains(&ren_name)) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `ren_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:381:23 [INFO] [stdout] | [INFO] [stdout] 381 | let place_invalid = format!("left4dead2/"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"left4dead2/".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rename_addon.rs:124:37 [INFO] [stdout] | [INFO] [stdout] 124 | let ren_addon_dir = l4d2_dir.join(format!("{}", ren_name)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `ren_name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rename_addon.rs:125:41 [INFO] [stdout] | [INFO] [stdout] 125 | let ren_new_addon_dir = l4d2_dir.join(format!("{}", new_name)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `new_name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/list_addons.rs:55:37 [INFO] [stdout] | [INFO] [stdout] 55 | let addon_file = l4d2_dir.join(&addon.trim_start_matches('\t')).join("pak01_dir.vpk"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `addon.trim_start_matches('\t')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/uninstall_addon.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | let err = format!("No addon name provided for uninstallation"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"No addon name provided for uninstallation".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rename_addon.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | let excl_addons = vec![ [INFO] [stdout] | _______________________^ [INFO] [stdout] 62 | | "update", [INFO] [stdout] 63 | | "left4dead2_dlc3", [INFO] [stdout] 64 | | "left4dead2_dlc2", [INFO] [stdout] ... | [INFO] [stdout] 67 | | "|gameinfo_path|.", [INFO] [stdout] 68 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 61 ~ let excl_addons = ["update", [INFO] [stdout] 62 ~ "left4dead2_dlc3", [INFO] [stdout] 63 ~ "left4dead2_dlc2", [INFO] [stdout] 64 ~ "left4dead2_dlc1", [INFO] [stdout] 65 ~ "hl2", [INFO] [stdout] 66 ~ "|gameinfo_path|."]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/list_addons.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | let excl_addons = vec![ [INFO] [stdout] | _______________________^ [INFO] [stdout] 22 | | "update", [INFO] [stdout] 23 | | "left4dead2_dlc3", [INFO] [stdout] 24 | | "left4dead2_dlc2", [INFO] [stdout] ... | [INFO] [stdout] 27 | | "|gameinfo_path|.", [INFO] [stdout] 28 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 21 ~ let excl_addons = ["update", [INFO] [stdout] 22 ~ "left4dead2_dlc3", [INFO] [stdout] 23 ~ "left4dead2_dlc2", [INFO] [stdout] 24 ~ "left4dead2_dlc1", [INFO] [stdout] 25 ~ "hl2", [INFO] [stdout] 26 ~ "|gameinfo_path|."]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/uninstall_addon.rs:33:55 [INFO] [stdout] | [INFO] [stdout] 33 | .any(|line| line.contains("Game") && line.contains(&del_name)) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `del_name` [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/uninstall_addon.rs:37:61 [INFO] [stdout] | [INFO] [stdout] 37 | .position(|line| line.contains("Game") && line.contains(&del_name)) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `del_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/uninstall_addon.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | let excl_addons = vec![ [INFO] [stdout] | _______________________^ [INFO] [stdout] 21 | | "update", [INFO] [stdout] 22 | | "left4dead2_dlc3", [INFO] [stdout] 23 | | "left4dead2_dlc2", [INFO] [stdout] ... | [INFO] [stdout] 26 | | "|gameinfo_path|.", [INFO] [stdout] 27 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 20 ~ let excl_addons = ["update", [INFO] [stdout] 21 ~ "left4dead2_dlc3", [INFO] [stdout] 22 ~ "left4dead2_dlc2", [INFO] [stdout] 23 ~ "left4dead2_dlc1", [INFO] [stdout] 24 ~ "hl2", [INFO] [stdout] 25 ~ "|gameinfo_path|."]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/uninstall_addon.rs:54:41 [INFO] [stdout] | [INFO] [stdout] 54 | let del_addon_dir = l4d2_path()?.join(format!("{}", del_name)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `del_name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/uninstall_addon.rs:72:14 [INFO] [stdout] | [INFO] [stdout] 72 | let err = format!("Core game components cannot be uninstalled!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Core game components cannot be uninstalled!".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pug_mode.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | return Err(Box::new(QuietErr(Some(err)))); [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] 34 - return Err(Box::new(QuietErr(Some(err)))); [INFO] [stdout] 34 + Err(Box::new(QuietErr(Some(err)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pug_mode.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | return Err(Box::new(QuietErr(Some(err)))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - return Err(Box::new(QuietErr(Some(err)))); [INFO] [stdout] 44 + Err(Box::new(QuietErr(Some(err)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pug_mode.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | return Ok(2); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 65 - return Ok(2); [INFO] [stdout] 65 + Ok(2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pug_mode.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | return Ok(1); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 105 - return Ok(1); [INFO] [stdout] 105 + Ok(1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pug_mode.rs:126:4 [INFO] [stdout] | [INFO] [stdout] 126 | return Ok(2); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - return Ok(2); [INFO] [stdout] 126 + Ok(2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pug_mode.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | let gameinfo_orig_md5 = format!("586b3b0b39bc44ddfb07792b1932c479"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"586b3b0b39bc44ddfb07792b1932c479".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pug_mode.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | let err = format!( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 40 | | "gameinfo.txt is already at its default state, but no custom gameinfo.txt is to be found! [INFO] [stdout] 41 | | \n (PuG Mode is disabled, and gameinfo in unmodified vanilla state)" [INFO] [stdout] 42 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 39 ~ let err = "gameinfo.txt is already at its default state, but no custom gameinfo.txt is to be found! [INFO] [stdout] 40 ~ \n (PuG Mode is disabled, and gameinfo in unmodified vanilla state)".to_string(); [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:29:47 [INFO] [stdout] | [INFO] [stdout] 29 | let _ = install_addon::autoinstall_addon(&addon_file, args.verbose); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `addon_file` [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:32:43 [INFO] [stdout] | [INFO] [stdout] 32 | let _ = install_addon::install_addon(&addon_file, &name, args.verbose); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `addon_file` [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:32:56 [INFO] [stdout] | [INFO] [stdout] 32 | let _ = install_addon::install_addon(&addon_file, &name, args.verbose); [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:35:16 [INFO] [stdout] | [INFO] [stdout] 35 | let err = format!( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 36 | | "Argument -n has been passed but no -f have been passed! [INFO] [stdout] 37 | | \nNo addon.vpk file provided for installation." [INFO] [stdout] 38 | | ); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 35 ~ let err = "Argument -n has been passed but no -f have been passed! [INFO] [stdout] 36 ~ \nNo addon.vpk file provided for installation.".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | let err = format!( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 49 | | "Arguments -n and -f have not been passed! [INFO] [stdout] 50 | | \nNo addon.vpk file provided for installation." [INFO] [stdout] 51 | | ); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 48 ~ let err = "Arguments -n and -f have not been passed! [INFO] [stdout] 49 ~ \nNo addon.vpk file provided for installation.".to_string(); [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:66:47 [INFO] [stdout] | [INFO] [stdout] 66 | let _ = uninstall_addon::uninstall_addon(&name, args.verbose); [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:69:16 [INFO] [stdout] | [INFO] [stdout] 69 | let err = format!( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 70 | | "Argument -n has not been passed! [INFO] [stdout] 71 | | \nNo addon name provided for uninstalling." [INFO] [stdout] 72 | | ); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 69 ~ let err = "Argument -n has not been passed! [INFO] [stdout] 70 ~ \nNo addon name provided for uninstalling.".to_string(); [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:91:41 [INFO] [stdout] | [INFO] [stdout] 91 | let _ = rename_addon::rename_addon(¤t, &new, args.verbose); [INFO] [stdout] | ^^^^^^^^ help: change this to: `current` [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:91:51 [INFO] [stdout] | [INFO] [stdout] 91 | let _ = rename_addon::rename_addon(¤t, &new, args.verbose); [INFO] [stdout] | ^^^^ help: change this to: `new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | let err = format!( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 95 | | "Argument --current (-c) has been passed but no --new (-n) have been passed! [INFO] [stdout] 96 | | \nNo new addon name provided for renaming." [INFO] [stdout] 97 | | ); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 94 ~ let err = "Argument --current (-c) has been passed but no --new (-n) have been passed! [INFO] [stdout] 95 ~ \nNo new addon name provided for renaming.".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:107:16 [INFO] [stdout] | [INFO] [stdout] 107 | let err = format!( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 108 | | "Argument --current (-c) has not been passed! [INFO] [stdout] 109 | | \nNo currently installed addon provided for renaming." [INFO] [stdout] 110 | | ); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 107 ~ let err = "Argument --current (-c) has not been passed! [INFO] [stdout] 108 ~ \nNo currently installed addon provided for renaming.".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:120:16 [INFO] [stdout] | [INFO] [stdout] 120 | let err = format!( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 121 | | "Arguments --current (-c) and --new (-n) have not been passed! [INFO] [stdout] 122 | | \nNo currently installed addon provided for renaming." [INFO] [stdout] 123 | | ); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 120 ~ let err = "Arguments --current (-c) and --new (-n) have not been passed! [INFO] [stdout] 121 ~ \nNo currently installed addon provided for renaming.".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:140:15 [INFO] [stdout] | [INFO] [stdout] 140 | let err = format!( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 141 | | "Argument --CONFIRM has not been passed! [INFO] [stdout] 142 | | \nNo confirmation provided for reset." [INFO] [stdout] 143 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 140 ~ let err = "Argument --CONFIRM has not been passed! [INFO] [stdout] 141 ~ \nNo confirmation provided for reset.".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:155:15 [INFO] [stdout] | [INFO] [stdout] 155 | let err = format!( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 156 | | "No PuG mode action specified! [INFO] [stdout] 157 | | \nUse --check (-c) to check PuG mode status or --switch (-s) to toggle it." [INFO] [stdout] 158 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 155 ~ let err = "No PuG mode action specified! [INFO] [stdout] 156 ~ \nUse --check (-c) to check PuG mode status or --switch (-s) to toggle it.".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:186:26 [INFO] [stdout] | [INFO] [stdout] 186 | let gameinfo_orig_md5 = format!("586b3b0b39bc44ddfb07792b1932c479"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"586b3b0b39bc44ddfb07792b1932c479".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/main.rs:208:4 [INFO] [stdout] | [INFO] [stdout] 208 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:216:14 [INFO] [stdout] | [INFO] [stdout] 216 | let err = format!("gameinfo.txt is already at its default state!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"gameinfo.txt is already at its default state!".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:233:14 [INFO] [stdout] | [INFO] [stdout] 233 | let err = format!("gameinfo.txt is already at its default state!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"gameinfo.txt is already at its default state!".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:301:4 [INFO] [stdout] | [INFO] [stdout] 301 | return Err(Box::new(QuietErr(Some(e)))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 301 - return Err(Box::new(QuietErr(Some(e)))); [INFO] [stdout] 301 + Err(Box::new(QuietErr(Some(e)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:333:13 [INFO] [stdout] | [INFO] [stdout] 333 | let err = format!("Unable to locate gameinfo.txt file. Is the game installation broken?"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unable to locate gameinfo.txt file. Is the game installation broken?".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:368:4 [INFO] [stdout] | [INFO] [stdout] 368 | return Err(Box::new(QuietErr(Some(e)))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 368 - return Err(Box::new(QuietErr(Some(e)))); [INFO] [stdout] 368 + Err(Box::new(QuietErr(Some(e)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:386:4 [INFO] [stdout] | [INFO] [stdout] 386 | return Err(Box::new(QuietErr(Some(e)))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 386 - return Err(Box::new(QuietErr(Some(e)))); [INFO] [stdout] 386 + Err(Box::new(QuietErr(Some(e)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:381:23 [INFO] [stdout] | [INFO] [stdout] 381 | let place_invalid = format!("left4dead2/"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"left4dead2/".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rename_addon.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | let excl_addons = vec![ [INFO] [stdout] | _______________________^ [INFO] [stdout] 62 | | "update", [INFO] [stdout] 63 | | "left4dead2_dlc3", [INFO] [stdout] 64 | | "left4dead2_dlc2", [INFO] [stdout] ... | [INFO] [stdout] 67 | | "|gameinfo_path|.", [INFO] [stdout] 68 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 61 ~ let excl_addons = ["update", [INFO] [stdout] 62 ~ "left4dead2_dlc3", [INFO] [stdout] 63 ~ "left4dead2_dlc2", [INFO] [stdout] 64 ~ "left4dead2_dlc1", [INFO] [stdout] 65 ~ "hl2", [INFO] [stdout] 66 ~ "|gameinfo_path|."]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/list_addons.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | let excl_addons = vec![ [INFO] [stdout] | _______________________^ [INFO] [stdout] 22 | | "update", [INFO] [stdout] 23 | | "left4dead2_dlc3", [INFO] [stdout] 24 | | "left4dead2_dlc2", [INFO] [stdout] ... | [INFO] [stdout] 27 | | "|gameinfo_path|.", [INFO] [stdout] 28 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 21 ~ let excl_addons = ["update", [INFO] [stdout] 22 ~ "left4dead2_dlc3", [INFO] [stdout] 23 ~ "left4dead2_dlc2", [INFO] [stdout] 24 ~ "left4dead2_dlc1", [INFO] [stdout] 25 ~ "hl2", [INFO] [stdout] 26 ~ "|gameinfo_path|."]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/uninstall_addon.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | let excl_addons = vec![ [INFO] [stdout] | _______________________^ [INFO] [stdout] 21 | | "update", [INFO] [stdout] 22 | | "left4dead2_dlc3", [INFO] [stdout] 23 | | "left4dead2_dlc2", [INFO] [stdout] ... | [INFO] [stdout] 26 | | "|gameinfo_path|.", [INFO] [stdout] 27 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 20 ~ let excl_addons = ["update", [INFO] [stdout] 21 ~ "left4dead2_dlc3", [INFO] [stdout] 22 ~ "left4dead2_dlc2", [INFO] [stdout] 23 ~ "left4dead2_dlc1", [INFO] [stdout] 24 ~ "hl2", [INFO] [stdout] 25 ~ "|gameinfo_path|."]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 04s [INFO] running `Command { std: "docker" "inspect" "03fb1dfb86df2f289e01e243145e5b51be73485f099f13ae1296c1e647957701", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "03fb1dfb86df2f289e01e243145e5b51be73485f099f13ae1296c1e647957701", kill_on_drop: false }` [INFO] [stdout] 03fb1dfb86df2f289e01e243145e5b51be73485f099f13ae1296c1e647957701