[INFO] cloning repository https://github.com/lebe-dev/site-discovery-flea [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lebe-dev/site-discovery-flea" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flebe-dev%2Fsite-discovery-flea", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flebe-dev%2Fsite-discovery-flea'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 750502379da07ae5dfa16647051da3f100832469 [INFO] linting lebe-dev/site-discovery-flea against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flebe-dev%2Fsite-discovery-flea" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-0-tc1/source/.cargo/config [INFO] started tweaking git repo https://github.com/lebe-dev/site-discovery-flea [INFO] finished tweaking git repo https://github.com/lebe-dev/site-discovery-flea [INFO] tweaked toml for git repo https://github.com/lebe-dev/site-discovery-flea written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lebe-dev/site-discovery-flea 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/lebe-dev/site-discovery-flea 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] Downloading crates ... [INFO] [stderr] Downloaded thread-id v4.2.0 [INFO] [stderr] Downloaded regex v1.9.6 [INFO] [stderr] Downloaded regex-automata v0.3.9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] f6967f22b2384e9c5ca02b958078fd1945aded54df24b5d6a3869111a7ff19ad [INFO] running `Command { std: "docker" "start" "-a" "f6967f22b2384e9c5ca02b958078fd1945aded54df24b5d6a3869111a7ff19ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f6967f22b2384e9c5ca02b958078fd1945aded54df24b5d6a3869111a7ff19ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6967f22b2384e9c5ca02b958078fd1945aded54df24b5d6a3869111a7ff19ad", kill_on_drop: false }` [INFO] [stdout] f6967f22b2384e9c5ca02b958078fd1945aded54df24b5d6a3869111a7ff19ad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] c2aa7143995d98b1412199603b652ed0b7f600e01ee6107c249a259a5f8148f4 [INFO] running `Command { std: "docker" "start" "-a" "c2aa7143995d98b1412199603b652ed0b7f600e01ee6107c249a259a5f8148f4", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.149 [INFO] [stderr] Compiling num-traits v0.2.17 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking smallvec v1.11.1 [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking serde_json v1.0.107 [INFO] [stderr] Checking serde_yaml v0.8.26 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Checking parking_lot_core v0.9.8 [INFO] [stderr] Checking thread-id v4.2.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking ordered-float v2.10.0 [INFO] [stderr] Checking chrono v0.4.31 [INFO] [stderr] Checking regex-automata v0.3.9 [INFO] [stderr] Checking serde-value v0.7.0 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking regex v1.9.6 [INFO] [stderr] Checking log4rs v1.2.0 [INFO] [stderr] Checking vhost-discovery-tool v1.5.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/logging.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / return match level { [INFO] [stdout] 12 | | "debug" => LevelFilter::Debug, [INFO] [stdout] 13 | | "error" => LevelFilter::Error, [INFO] [stdout] 14 | | "warn" => LevelFilter::Warn, [INFO] [stdout] ... | [INFO] [stdout] 17 | | _ => LevelFilter::Info [INFO] [stdout] 18 | | }; [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] 11 ~ match level { [INFO] [stdout] 12 + "debug" => LevelFilter::Debug, [INFO] [stdout] 13 + "error" => LevelFilter::Error, [INFO] [stdout] 14 + "warn" => LevelFilter::Warn, [INFO] [stdout] 15 + "trace" => LevelFilter::Trace, [INFO] [stdout] 16 + "off" => LevelFilter::Off, [INFO] [stdout] 17 + _ => LevelFilter::Info [INFO] [stdout] 18 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/logging.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | ).expect(&format!("couldn't create log file '{}'", LOG_FILE_PATH)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("couldn't create log file '{}'", LOG_FILE_PATH))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/webserver.rs:63:30 [INFO] [stdout] | [INFO] [stdout] 63 | let paths = fs::read_dir(&vhost_root_path)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `vhost_root_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/webserver.rs:76:73 [INFO] [stdout] | [INFO] [stdout] 76 | match get_vhost_config_file_list(path_subdir_entry, &file_extensions, recursive) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `file_extensions` [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: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/webserver.rs:83:21 [INFO] [stdout] | [INFO] [stdout] 83 | / match get_vhost_file_from_dir(vhost_root_path, &file_extensions, &dir_entry) { [INFO] [stdout] 84 | | Some(file_path) => vhost_files.push(file_path), [INFO] [stdout] 85 | | None => {} [INFO] [stdout] 86 | | } [INFO] [stdout] | |_____________________^ help: try: `if let Some(file_path) = get_vhost_file_from_dir(vhost_root_path, &file_extensions, &dir_entry) { vhost_files.push(file_path) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/webserver.rs:83:68 [INFO] [stdout] | [INFO] [stdout] 83 | match get_vhost_file_from_dir(vhost_root_path, &file_extensions, &dir_entry) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `file_extensions` [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/webserver.rs:173:27 [INFO] [stdout] | [INFO] [stdout] 173 | &row, &port_search_pattern [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `port_search_pattern` [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/webserver.rs:187:27 [INFO] [stdout] | [INFO] [stdout] 187 | &row, &domain_search_pattern [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `domain_search_pattern` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/webserver.rs:208:69 [INFO] [stdout] | [INFO] [stdout] 208 | fn get_vhost_file_from_dir(vhost_root_path: &Path, file_extensions: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 208 - fn get_vhost_file_from_dir(vhost_root_path: &Path, file_extensions: &Vec, [INFO] [stdout] 208 + fn get_vhost_file_from_dir(vhost_root_path: &Path, file_extensions: &[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/webserver.rs:233:40 [INFO] [stdout] | [INFO] [stdout] 233 | let groups = pattern.captures_iter(&row).next().unwrap(); [INFO] [stdout] | ^^^^ help: change this to: `row` [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: unneeded `return` statement [INFO] [stdout] --> src/webserver.rs:244:5 [INFO] [stdout] | [INFO] [stdout] 244 | return port [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] 244 - return port [INFO] [stdout] 244 + port [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/webserver.rs:240:39 [INFO] [stdout] | [INFO] [stdout] 240 | for caps in pattern.captures_iter(&row) { [INFO] [stdout] | ^^^^ help: change this to: `row` [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/webserver.rs:241:16 [INFO] [stdout] | [INFO] [stdout] 241 | port = format!("{}", &caps["port"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `(&caps["port"]).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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/nginx.rs:6:52 [INFO] [stdout] | [INFO] [stdout] 6 | ... file_extensions: &Vec) -> VhostDiscoveryConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 6 ~ file_extensions: &[String]) -> VhostDiscoveryConfig { [INFO] [stdout] 7 | VhostDiscoveryConfig { [INFO] [stdout] ... [INFO] [stdout] 12 | include_subdirs, [INFO] [stdout] 13 ~ file_extensions: file_extensions.to_owned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/nginx.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | return Regex::new("(?:^|^[^#]+)server_name[\\s\t]+([a-z0-9.\\s\\-]+);").unwrap(); [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] 18 - return Regex::new("(?:^|^[^#]+)server_name[\\s\t]+([a-z0-9.\\s\\-]+);").unwrap(); [INFO] [stdout] 18 + Regex::new("(?:^|^[^#]+)server_name[\\s\t]+([a-z0-9.\\s\\-]+);").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/nginx.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | return Regex::new("(?:^|^[^#]+)server[\\s\t]+\\{").unwrap(); [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] 22 - return Regex::new("(?:^|^[^#]+)server[\\s\t]+\\{").unwrap(); [INFO] [stdout] 22 + Regex::new("(?:^|^[^#]+)server[\\s\t]+\\{").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/nginx.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | return Regex::new("^[\t\\s]*return[\\s\\t]+301[\\s\t]+http.*[\\s\t]*$").unwrap(); [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] 26 - return Regex::new("^[\t\\s]*return[\\s\\t]+301[\\s\t]+http.*[\\s\t]*$").unwrap(); [INFO] [stdout] 26 + Regex::new("^[\t\\s]*return[\\s\\t]+301[\\s\t]+http.*[\\s\t]*$").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/nginx.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | return Regex::new("^[\\s\t]*listen[\\s\t]+(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}:)?(?P\\d+)[\\s\t]*[ssl\\s|http2\\s]*;.*$").unwrap(); [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] 30 - return Regex::new("^[\\s\t]*listen[\\s\t]+(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}:)?(?P\\d+)[\\s\t]*[ssl\\s|http2\\s]*;.*$").unwrap(); [INFO] [stdout] 30 + Regex::new("^[\\s\t]*listen[\\s\t]+(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}:)?(?P\\d+)[\\s\t]*[ssl\\s|http2\\s]*;.*$").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/apache.rs:5:76 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn get_apache_discovery_config(include_subdirs: bool, file_extensions: &Vec) -> VhostDiscoveryConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 5 ~ pub fn get_apache_discovery_config(include_subdirs: bool, file_extensions: &[String]) -> VhostDiscoveryConfig { [INFO] [stdout] 6 | VhostDiscoveryConfig { [INFO] [stdout] ... [INFO] [stdout] 11 | include_subdirs, [INFO] [stdout] 12 ~ file_extensions: file_extensions.to_owned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/apache.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | return Regex::new("(?:^|^[^#]+)ServerName[\\s\t]+([a-zA-Z0-9.-]+)$").unwrap(); [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] 17 - return Regex::new("(?:^|^[^#]+)ServerName[\\s\t]+([a-zA-Z0-9.-]+)$").unwrap(); [INFO] [stdout] 17 + Regex::new("(?:^|^[^#]+)ServerName[\\s\t]+([a-zA-Z0-9.-]+)$").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/apache.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | return Regex::new("(?:^|^[^#]+)Redirect[\\s\t]+/[\\s\t]+http").unwrap(); [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] 21 - return Regex::new("(?:^|^[^#]+)Redirect[\\s\t]+/[\\s\t]+http").unwrap(); [INFO] [stdout] 21 + Regex::new("(?:^|^[^#]+)Redirect[\\s\t]+/[\\s\t]+http").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/apache.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | return Regex::new("(?:^|^[^#]+)\\d+)>").unwrap(); [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] 25 - return Regex::new("(?:^|^[^#]+)\\d+)>").unwrap(); [INFO] [stdout] 25 + Regex::new("(?:^|^[^#]+)\\d+)>").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/site.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | return sites; [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] 18 - return sites; [INFO] [stdout] 18 + sites [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/site.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | / (!include_domains_with_www && !domain_starts_with_www) || [INFO] [stdout] 13 | | (include_domains_with_www && domain_starts_with_www) || [INFO] [stdout] 14 | | !domain_starts_with_www [INFO] [stdout] | |_______________________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 12 - (!include_domains_with_www && !domain_starts_with_www) || [INFO] [stdout] 13 - (include_domains_with_www && domain_starts_with_www) || [INFO] [stdout] 14 - !domain_starts_with_www [INFO] [stdout] 12 + !(!include_domains_with_www && domain_starts_with_www) [INFO] [stdout] | [INFO] [stdout] 12 - (!include_domains_with_www && !domain_starts_with_www) || [INFO] [stdout] 13 - (include_domains_with_www && domain_starts_with_www) || [INFO] [stdout] 14 - !domain_starts_with_www [INFO] [stdout] 12 + include_domains_with_www || !domain_starts_with_www [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/site.rs:23:30 [INFO] [stdout] | [INFO] [stdout] 23 | DEFAULT_HTTP_PORT => String::from(format!("http://{domain}")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!("http://{domain}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/site.rs:24:31 [INFO] [stdout] | [INFO] [stdout] 24 | DEFAULT_HTTPS_PORT => String::from(format!("https://{domain}")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!("https://{domain}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/site.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | _ => String::from(format!("http://{domain}:{vhost_port}")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!("http://{domain}:{vhost_port}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/site.rs:36:30 [INFO] [stdout] | [INFO] [stdout] 36 | DEFAULT_HTTP_PORT => String::from(format!("{domain}_http")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!("{domain}_http")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/site.rs:38:14 [INFO] [stdout] | [INFO] [stdout] 38 | _ => String::from(format!("{domain}:{port}")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!("{domain}:{port}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/filter.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | return results [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] 40 - return results [INFO] [stdout] 40 + results [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/filter.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | if mask.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!mask.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/filter.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | return results [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] 53 - return results [INFO] [stdout] 53 + results [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/filter.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | / if vhost_has_standard_port(vhost.port) { [INFO] [stdout] 68 | | if !vec_contains_same_domain_with_port(buffer, &vhost.domain, vhost.port) { [INFO] [stdout] 69 | | permitted = true; [INFO] [stdout] 70 | | } [INFO] [stdout] 71 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 67 ~ if vhost_has_standard_port(vhost.port) [INFO] [stdout] 68 ~ && !vec_contains_same_domain_with_port(buffer, &vhost.domain, vhost.port) { [INFO] [stdout] 69 | permitted = true; [INFO] [stdout] 70 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/filter.rs:85:47 [INFO] [stdout] | [INFO] [stdout] 85 | fn vec_contains_same_domain_with_port(vhosts: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 85 - fn vec_contains_same_domain_with_port(vhosts: &Vec, [INFO] [stdout] 85 + fn vec_contains_same_domain_with_port(vhosts: &[VirtualHost], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/main.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | let json; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `json` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 216 ~ [INFO] [stdout] 217 | [INFO] [stdout] 218 ~ let json = if matches.is_present(USE_DATA_PROPERTY_ARGUMENT) { [INFO] [stdout] 219 ~ get_low_level_discovery_json_with_data_property(sites) [INFO] [stdout] 220 | [INFO] [stdout] 221 | } else { [INFO] [stdout] 222 ~ get_low_level_discovery_json(sites) [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:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | &matches, WORK_DIR_ARGUMENT, WORK_DIR_SHORT_ARGUMENT, WORKDIR); [INFO] [stdout] | ^^^^^^^^ help: change this to: `matches` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:243:26 [INFO] [stdout] | [INFO] [stdout] 243 | env::set_current_dir(&working_directory).expect("couldn't set working directory"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `working_directory` [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: unneeded `return` statement [INFO] [stdout] --> src/main.rs:263:5 [INFO] [stdout] | [INFO] [stdout] 263 | return path; [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] 263 - return path; [INFO] [stdout] 263 + path [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:267:29 [INFO] [stdout] | [INFO] [stdout] 267 | get_argument_path_value(&matches, NGINX_VHOSTS_PATH_ARGUMENT, [INFO] [stdout] | ^^^^^^^^ help: change this to: `matches` [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:272:29 [INFO] [stdout] | [INFO] [stdout] 272 | get_argument_path_value(&matches, APACHE_VHOSTS_PATH_ARGUMENT, [INFO] [stdout] | ^^^^^^^^ help: change this to: `matches` [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: unneeded `return` statement [INFO] [stdout] --> src/main.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | return json; [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] 279 - return json; [INFO] [stdout] 279 + json [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:285:5 [INFO] [stdout] | [INFO] [stdout] 285 | return json; [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] 285 - return json; [INFO] [stdout] 285 + json [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/logging.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / return match level { [INFO] [stdout] 12 | | "debug" => LevelFilter::Debug, [INFO] [stdout] 13 | | "error" => LevelFilter::Error, [INFO] [stdout] 14 | | "warn" => LevelFilter::Warn, [INFO] [stdout] ... | [INFO] [stdout] 17 | | _ => LevelFilter::Info [INFO] [stdout] 18 | | }; [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] 11 ~ match level { [INFO] [stdout] 12 + "debug" => LevelFilter::Debug, [INFO] [stdout] 13 + "error" => LevelFilter::Error, [INFO] [stdout] 14 + "warn" => LevelFilter::Warn, [INFO] [stdout] 15 + "trace" => LevelFilter::Trace, [INFO] [stdout] 16 + "off" => LevelFilter::Off, [INFO] [stdout] 17 + _ => LevelFilter::Info [INFO] [stdout] 18 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/logging.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | ).expect(&format!("couldn't create log file '{}'", LOG_FILE_PATH)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("couldn't create log file '{}'", LOG_FILE_PATH))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/webserver.rs:63:30 [INFO] [stdout] | [INFO] [stdout] 63 | let paths = fs::read_dir(&vhost_root_path)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `vhost_root_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/webserver.rs:76:73 [INFO] [stdout] | [INFO] [stdout] 76 | match get_vhost_config_file_list(path_subdir_entry, &file_extensions, recursive) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `file_extensions` [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: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/webserver.rs:83:21 [INFO] [stdout] | [INFO] [stdout] 83 | / match get_vhost_file_from_dir(vhost_root_path, &file_extensions, &dir_entry) { [INFO] [stdout] 84 | | Some(file_path) => vhost_files.push(file_path), [INFO] [stdout] 85 | | None => {} [INFO] [stdout] 86 | | } [INFO] [stdout] | |_____________________^ help: try: `if let Some(file_path) = get_vhost_file_from_dir(vhost_root_path, &file_extensions, &dir_entry) { vhost_files.push(file_path) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/webserver.rs:83:68 [INFO] [stdout] | [INFO] [stdout] 83 | match get_vhost_file_from_dir(vhost_root_path, &file_extensions, &dir_entry) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `file_extensions` [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/webserver.rs:173:27 [INFO] [stdout] | [INFO] [stdout] 173 | &row, &port_search_pattern [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `port_search_pattern` [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/webserver.rs:187:27 [INFO] [stdout] | [INFO] [stdout] 187 | &row, &domain_search_pattern [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `domain_search_pattern` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/webserver.rs:208:69 [INFO] [stdout] | [INFO] [stdout] 208 | fn get_vhost_file_from_dir(vhost_root_path: &Path, file_extensions: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 208 - fn get_vhost_file_from_dir(vhost_root_path: &Path, file_extensions: &Vec, [INFO] [stdout] 208 + fn get_vhost_file_from_dir(vhost_root_path: &Path, file_extensions: &[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/webserver.rs:233:40 [INFO] [stdout] | [INFO] [stdout] 233 | let groups = pattern.captures_iter(&row).next().unwrap(); [INFO] [stdout] | ^^^^ help: change this to: `row` [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: unneeded `return` statement [INFO] [stdout] --> src/webserver.rs:244:5 [INFO] [stdout] | [INFO] [stdout] 244 | return port [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] 244 - return port [INFO] [stdout] 244 + port [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/webserver.rs:240:39 [INFO] [stdout] | [INFO] [stdout] 240 | for caps in pattern.captures_iter(&row) { [INFO] [stdout] | ^^^^ help: change this to: `row` [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/webserver.rs:241:16 [INFO] [stdout] | [INFO] [stdout] 241 | port = format!("{}", &caps["port"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `(&caps["port"]).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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/webserver.rs:268:33 [INFO] [stdout] | [INFO] [stdout] 268 | let vhosts = get_vhosts(&nginx_vhost_path, &config, false).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `nginx_vhost_path` [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: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/webserver.rs:270:60 [INFO] [stdout] | [INFO] [stdout] 270 | vhosts.iter().for_each(|vhost| println!("{}", vhost.to_string())); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/nginx.rs:6:52 [INFO] [stdout] | [INFO] [stdout] 6 | ... file_extensions: &Vec) -> VhostDiscoveryConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 6 ~ file_extensions: &[String]) -> VhostDiscoveryConfig { [INFO] [stdout] 7 | VhostDiscoveryConfig { [INFO] [stdout] ... [INFO] [stdout] 12 | include_subdirs, [INFO] [stdout] 13 ~ file_extensions: file_extensions.to_owned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/nginx.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | return Regex::new("(?:^|^[^#]+)server_name[\\s\t]+([a-z0-9.\\s\\-]+);").unwrap(); [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] 18 - return Regex::new("(?:^|^[^#]+)server_name[\\s\t]+([a-z0-9.\\s\\-]+);").unwrap(); [INFO] [stdout] 18 + Regex::new("(?:^|^[^#]+)server_name[\\s\t]+([a-z0-9.\\s\\-]+);").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/nginx.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | return Regex::new("(?:^|^[^#]+)server[\\s\t]+\\{").unwrap(); [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] 22 - return Regex::new("(?:^|^[^#]+)server[\\s\t]+\\{").unwrap(); [INFO] [stdout] 22 + Regex::new("(?:^|^[^#]+)server[\\s\t]+\\{").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/nginx.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | return Regex::new("^[\t\\s]*return[\\s\\t]+301[\\s\t]+http.*[\\s\t]*$").unwrap(); [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] 26 - return Regex::new("^[\t\\s]*return[\\s\\t]+301[\\s\t]+http.*[\\s\t]*$").unwrap(); [INFO] [stdout] 26 + Regex::new("^[\t\\s]*return[\\s\\t]+301[\\s\t]+http.*[\\s\t]*$").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/nginx.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | return Regex::new("^[\\s\t]*listen[\\s\t]+(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}:)?(?P\\d+)[\\s\t]*[ssl\\s|http2\\s]*;.*$").unwrap(); [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] 30 - return Regex::new("^[\\s\t]*listen[\\s\t]+(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}:)?(?P\\d+)[\\s\t]*[ssl\\s|http2\\s]*;.*$").unwrap(); [INFO] [stdout] 30 + Regex::new("^[\\s\t]*listen[\\s\t]+(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}:)?(?P\\d+)[\\s\t]*[ssl\\s|http2\\s]*;.*$").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/apache.rs:5:76 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn get_apache_discovery_config(include_subdirs: bool, file_extensions: &Vec) -> VhostDiscoveryConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 5 ~ pub fn get_apache_discovery_config(include_subdirs: bool, file_extensions: &[String]) -> VhostDiscoveryConfig { [INFO] [stdout] 6 | VhostDiscoveryConfig { [INFO] [stdout] ... [INFO] [stdout] 11 | include_subdirs, [INFO] [stdout] 12 ~ file_extensions: file_extensions.to_owned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/apache.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | return Regex::new("(?:^|^[^#]+)ServerName[\\s\t]+([a-zA-Z0-9.-]+)$").unwrap(); [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] 17 - return Regex::new("(?:^|^[^#]+)ServerName[\\s\t]+([a-zA-Z0-9.-]+)$").unwrap(); [INFO] [stdout] 17 + Regex::new("(?:^|^[^#]+)ServerName[\\s\t]+([a-zA-Z0-9.-]+)$").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/apache.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | return Regex::new("(?:^|^[^#]+)Redirect[\\s\t]+/[\\s\t]+http").unwrap(); [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] 21 - return Regex::new("(?:^|^[^#]+)Redirect[\\s\t]+/[\\s\t]+http").unwrap(); [INFO] [stdout] 21 + Regex::new("(?:^|^[^#]+)Redirect[\\s\t]+/[\\s\t]+http").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/apache.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | return Regex::new("(?:^|^[^#]+)\\d+)>").unwrap(); [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] 25 - return Regex::new("(?:^|^[^#]+)\\d+)>").unwrap(); [INFO] [stdout] 25 + Regex::new("(?:^|^[^#]+)\\d+)>").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/apache.rs:44:33 [INFO] [stdout] | [INFO] [stdout] 44 | println!("{}", vhost.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/site.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | return sites; [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] 18 - return sites; [INFO] [stdout] 18 + sites [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/site.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | / (!include_domains_with_www && !domain_starts_with_www) || [INFO] [stdout] 13 | | (include_domains_with_www && domain_starts_with_www) || [INFO] [stdout] 14 | | !domain_starts_with_www [INFO] [stdout] | |_______________________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 12 - (!include_domains_with_www && !domain_starts_with_www) || [INFO] [stdout] 13 - (include_domains_with_www && domain_starts_with_www) || [INFO] [stdout] 14 - !domain_starts_with_www [INFO] [stdout] 12 + !(!include_domains_with_www && domain_starts_with_www) [INFO] [stdout] | [INFO] [stdout] 12 - (!include_domains_with_www && !domain_starts_with_www) || [INFO] [stdout] 13 - (include_domains_with_www && domain_starts_with_www) || [INFO] [stdout] 14 - !domain_starts_with_www [INFO] [stdout] 12 + include_domains_with_www || !domain_starts_with_www [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/site.rs:23:30 [INFO] [stdout] | [INFO] [stdout] 23 | DEFAULT_HTTP_PORT => String::from(format!("http://{domain}")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!("http://{domain}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/site.rs:24:31 [INFO] [stdout] | [INFO] [stdout] 24 | DEFAULT_HTTPS_PORT => String::from(format!("https://{domain}")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!("https://{domain}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/site.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | _ => String::from(format!("http://{domain}:{vhost_port}")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!("http://{domain}:{vhost_port}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/site.rs:36:30 [INFO] [stdout] | [INFO] [stdout] 36 | DEFAULT_HTTP_PORT => String::from(format!("{domain}_http")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!("{domain}_http")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/site.rs:38:14 [INFO] [stdout] | [INFO] [stdout] 38 | _ => String::from(format!("{domain}:{port}")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!("{domain}:{port}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/site.rs:134:36 [INFO] [stdout] | [INFO] [stdout] 134 | fn assert_site_with_url(sites: &Vec, url: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 134 - fn assert_site_with_url(sites: &Vec, url: &str) { [INFO] [stdout] 134 + fn assert_site_with_url(sites: &[Site], url: &str) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/filter.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | return results [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] 40 - return results [INFO] [stdout] 40 + results [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/filter.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | if mask.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!mask.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/filter.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | return results [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] 53 - return results [INFO] [stdout] 53 + results [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/filter.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | / if vhost_has_standard_port(vhost.port) { [INFO] [stdout] 68 | | if !vec_contains_same_domain_with_port(buffer, &vhost.domain, vhost.port) { [INFO] [stdout] 69 | | permitted = true; [INFO] [stdout] 70 | | } [INFO] [stdout] 71 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 67 ~ if vhost_has_standard_port(vhost.port) [INFO] [stdout] 68 ~ && !vec_contains_same_domain_with_port(buffer, &vhost.domain, vhost.port) { [INFO] [stdout] 69 | permitted = true; [INFO] [stdout] 70 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/filter.rs:85:47 [INFO] [stdout] | [INFO] [stdout] 85 | fn vec_contains_same_domain_with_port(vhosts: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 85 - fn vec_contains_same_domain_with_port(vhosts: &Vec, [INFO] [stdout] 85 + fn vec_contains_same_domain_with_port(vhosts: &[VirtualHost], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `results.get(0)` [INFO] [stdout] --> src/filter.rs:121:28 [INFO] [stdout] | [INFO] [stdout] 121 | let first_result = results.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `results.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/test_utils/mod.rs:5:36 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn assert_vhost_in_vec(vhosts: &Vec, domain: &str, port: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 5 - pub fn assert_vhost_in_vec(vhosts: &Vec, domain: &str, port: i32) { [INFO] [stdout] 5 + pub fn assert_vhost_in_vec(vhosts: &[VirtualHost], domain: &str, port: i32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/main.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | let json; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `json` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 216 ~ [INFO] [stdout] 217 | [INFO] [stdout] 218 ~ let json = if matches.is_present(USE_DATA_PROPERTY_ARGUMENT) { [INFO] [stdout] 219 ~ get_low_level_discovery_json_with_data_property(sites) [INFO] [stdout] 220 | [INFO] [stdout] 221 | } else { [INFO] [stdout] 222 ~ get_low_level_discovery_json(sites) [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:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | &matches, WORK_DIR_ARGUMENT, WORK_DIR_SHORT_ARGUMENT, WORKDIR); [INFO] [stdout] | ^^^^^^^^ help: change this to: `matches` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:243:26 [INFO] [stdout] | [INFO] [stdout] 243 | env::set_current_dir(&working_directory).expect("couldn't set working directory"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `working_directory` [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: unneeded `return` statement [INFO] [stdout] --> src/main.rs:263:5 [INFO] [stdout] | [INFO] [stdout] 263 | return path; [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] 263 - return path; [INFO] [stdout] 263 + path [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:267:29 [INFO] [stdout] | [INFO] [stdout] 267 | get_argument_path_value(&matches, NGINX_VHOSTS_PATH_ARGUMENT, [INFO] [stdout] | ^^^^^^^^ help: change this to: `matches` [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:272:29 [INFO] [stdout] | [INFO] [stdout] 272 | get_argument_path_value(&matches, APACHE_VHOSTS_PATH_ARGUMENT, [INFO] [stdout] | ^^^^^^^^ help: change this to: `matches` [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: unneeded `return` statement [INFO] [stdout] --> src/main.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | return json; [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] 279 - return json; [INFO] [stdout] 279 + json [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:285:5 [INFO] [stdout] | [INFO] [stdout] 285 | return json; [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] 285 - return json; [INFO] [stdout] 285 + json [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.40s [INFO] running `Command { std: "docker" "inspect" "c2aa7143995d98b1412199603b652ed0b7f600e01ee6107c249a259a5f8148f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c2aa7143995d98b1412199603b652ed0b7f600e01ee6107c249a259a5f8148f4", kill_on_drop: false }` [INFO] [stdout] c2aa7143995d98b1412199603b652ed0b7f600e01ee6107c249a259a5f8148f4