[INFO] cloning repository https://github.com/cristianoliveira/funzzy [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cristianoliveira/funzzy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcristianoliveira%2Ffunzzy", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcristianoliveira%2Ffunzzy'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 04e214bfbe4c034b420fa1ec43a483689d404227 [INFO] linting cristianoliveira/funzzy against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcristianoliveira%2Ffunzzy" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/cristianoliveira/funzzy [INFO] finished tweaking git repo https://github.com/cristianoliveira/funzzy [INFO] tweaked toml for git repo https://github.com/cristianoliveira/funzzy written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/cristianoliveira/funzzy 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/cristianoliveira/funzzy 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] warning: file `/workspace/builds/worker-1-tc1/source/src/main.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `funzzy` [INFO] [stderr] * `bin` target `fzz` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded notify-debouncer-mini v0.3.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 9c3f1e47151afdb98f5124978b4a055eee5ab7628c23b3e0e62d75f5e6864c4c [INFO] running `Command { std: "docker" "start" "-a" "9c3f1e47151afdb98f5124978b4a055eee5ab7628c23b3e0e62d75f5e6864c4c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9c3f1e47151afdb98f5124978b4a055eee5ab7628c23b3e0e62d75f5e6864c4c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9c3f1e47151afdb98f5124978b4a055eee5ab7628c23b3e0e62d75f5e6864c4c", kill_on_drop: false }` [INFO] [stdout] 9c3f1e47151afdb98f5124978b4a055eee5ab7628c23b3e0e62d75f5e6864c4c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 678aad7f48b8ea46260b8f34febc0d4265ef1c09f9c22a42c1febaabd9cd48b5 [INFO] running `Command { std: "docker" "start" "-a" "678aad7f48b8ea46260b8f34febc0d4265ef1c09f9c22a42c1febaabd9cd48b5", kill_on_drop: false }` [INFO] [stderr] warning: file `/opt/rustwide/workdir/src/main.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `funzzy` [INFO] [stderr] * `bin` target `fzz` [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Checking memchr v2.7.6 [INFO] [stderr] Compiling proc-macro2 v1.0.105 [INFO] [stderr] Compiling quote v1.0.43 [INFO] [stderr] Compiling memoffset v0.7.1 [INFO] [stderr] Compiling assert_cmd v2.1.2 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking float-cmp v0.10.0 [INFO] [stderr] Checking pretty_assertions v1.4.1 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking inotify-sys v0.1.5 [INFO] [stderr] Checking filetime v0.2.26 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.39 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Checking wait-timeout v0.2.1 [INFO] [stderr] Checking inotify v0.9.6 [INFO] [stderr] Checking inotify v0.7.1 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking notify v6.1.1 [INFO] [stderr] Checking notify-debouncer-mini v0.3.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Checking mio-extras v2.0.6 [INFO] [stderr] Checking notify v4.0.18 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Checking bstr v1.12.1 [INFO] [stderr] Checking predicates v3.1.3 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking docopt v1.1.1 [INFO] [stderr] Checking funzzy v1.6.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/cli/init.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | if let Ok(_) = File::open(&self.file_name) { [INFO] [stdout] | -------^^^^^------------------------------ help: try: `if File::open(&self.file_name).is_ok()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | return format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint); [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] 13 - return format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint); [INFO] [stdout] 13 + format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | return format!("Hint: {}", hint); [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] 15 - return format!("Hint: {}", hint); [INFO] [stdout] 15 + format!("Hint: {}", hint) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/errors.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | format!("{}", msg) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `msg.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 can be `std::io::Error::other(_)` [INFO] [stdout] --> src/logging.rs:23:22 [INFO] [stdout] | [INFO] [stdout] 23 | .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 23 - .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] 23 + .map_err(|_| io::Error::other("logger poisoned"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/logging.rs:47:22 [INFO] [stdout] | [INFO] [stdout] 47 | .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 47 - .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] 47 + .map_err(|_| io::Error::other("logger poisoned"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/rules.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | if None == self.yaml { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `self.yaml.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rules.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | if self.commands().len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.commands().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: length comparison to zero [INFO] [stdout] --> src/rules.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | if self.watch_patterns().len() == 0 && !self.run_on_init() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.watch_patterns().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rules.rs:313:8 [INFO] [stdout] | [INFO] [stdout] 313 | if items.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `items.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rules.rs:587:5 [INFO] [stdout] | [INFO] [stdout] 587 | return Ok(watches); [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] 587 - return Ok(watches); [INFO] [stdout] 587 + Ok(watches) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/rules.rs:565:9 [INFO] [stdout] | [INFO] [stdout] 565 | line_number = line_number + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `line_number += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rules.rs:621:13 [INFO] [stdout] | [INFO] [stdout] 621 | return from_yaml(&content); [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] 621 - return from_yaml(&content); [INFO] [stdout] 621 + from_yaml(&content) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/rules.rs:649:37 [INFO] [stdout] | [INFO] [stdout] 649 | Pattern::new(&compiled_pattern).expect( [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 650 | | &vec![ [INFO] [stdout] 651 | | format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 652 | | vec![ [INFO] [stdout] ... | [INFO] [stdout] 666 | | .join("\n"), [INFO] [stdout] 667 | | ) [INFO] [stdout] | |_____^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 649 ~ Pattern::new(&compiled_pattern).unwrap_or_else(|_| panic!("{}", vec![ [INFO] [stdout] 650 + format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 651 + vec![ [INFO] [stdout] 652 + "", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 661 + ] [INFO] [stdout] 662 + .join("\n") [INFO] [stdout] 663 + .to_string(), [INFO] [stdout] 664 + ] [INFO] [stdout] 665 + .join("\n"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/rules.rs:686:9 [INFO] [stdout] | [INFO] [stdout] 686 | / if let Err(err) = rule.validate() { [INFO] [stdout] 687 | | return Err(err); [INFO] [stdout] 688 | | } [INFO] [stdout] | |_________^ help: replace it with: `rule.validate()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/stdout.rs:91:56 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn print_time_elapsed(elapsed: std::time::Duration) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/stdout.rs:120:43 [INFO] [stdout] | [INFO] [stdout] 120 | let errors: Vec> = results.iter().cloned().filter(|r| r.is_err()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try: `.filter(|&r| r.is_err()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] = note: `#[warn(clippy::iter_overeager_cloned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/stdout.rs:121:21 [INFO] [stdout] | [INFO] [stdout] 121 | let completed = results.iter().cloned().filter(|r| r.is_ok()).count(); [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try: `.filter(|&r| r.is_ok()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/stdout.rs:164:22 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn clear_screen() -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/watches.rs:42:20 [INFO] [stdout] | [INFO] [stdout] 42 | let cmds = self [INFO] [stdout] | ____________________^ [INFO] [stdout] 43 | | .rules [INFO] [stdout] 44 | | .iter() [INFO] [stdout] 45 | | .cloned() [INFO] [stdout] ... | [INFO] [stdout] 63 | | watched_by_absolute || watched_by_relative [INFO] [stdout] 64 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 44 ~ .iter().filter(|&r| { [INFO] [stdout] 45 + let ignored_by_absolute = r.ignore_absolute(absolute_path_str); [INFO] [stdout] 46 + let ignored_by_relative = relative_path [INFO] [stdout] 47 + .as_ref() [INFO] [stdout] 48 + .map(|rel| r.ignore_relative(rel)) [INFO] [stdout] 49 + .unwrap_or(false); [INFO] [stdout] 50 + [INFO] [stdout] 51 + if ignored_by_absolute || ignored_by_relative { [INFO] [stdout] 52 + return false; [INFO] [stdout] 53 + } [INFO] [stdout] 54 + [INFO] [stdout] 55 + let watched_by_absolute = r.watch_absolute(absolute_path_str); [INFO] [stdout] 56 + let watched_by_relative = relative_path [INFO] [stdout] 57 + .as_ref() [INFO] [stdout] 58 + .map(|rel| r.watch_relative(rel)) [INFO] [stdout] 59 + .unwrap_or(false); [INFO] [stdout] 60 + [INFO] [stdout] 61 + watched_by_absolute || watched_by_relative [INFO] [stdout] 62 + }).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/watches.rs:77:20 [INFO] [stdout] | [INFO] [stdout] 77 | let cmds = self [INFO] [stdout] | _____________________^ [INFO] [stdout] 78 | | .rules [INFO] [stdout] 79 | | .iter() [INFO] [stdout] | | ____________________- [INFO] [stdout] 80 | || .cloned() [INFO] [stdout] 81 | || .filter(|r| r.run_on_init()) [INFO] [stdout] | ||________________________________________^ [INFO] [stdout] | |________________________________________| [INFO] [stdout] | help: try: `.filter(|&r| r.run_on_init()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/workers.rs:48:32 [INFO] [stdout] | [INFO] [stdout] 48 | ... && !results.clone().into_iter().find(|r| r.is_err()).is_none()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `results.clone().into_iter().find(|r| r.is_err()).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: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/yaml.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | .map(|i| String::from(i.as_str().unwrap_or_else(|| "_invalid_value_"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 11 - .map(|i| String::from(i.as_str().unwrap_or_else(|| "_invalid_value_"))) [INFO] [stdout] 11 + .map(|i| String::from(i.as_str().unwrap_or("_invalid_value_"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/yaml.rs:18:32 [INFO] [stdout] | [INFO] [stdout] 18 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/yaml.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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 `vec!` [INFO] [stdout] --> src/rules.rs:163:32 [INFO] [stdout] | [INFO] [stdout] 163 | return Err(vec![ [INFO] [stdout] | ________________________________^ [INFO] [stdout] 164 | | format!( [INFO] [stdout] 165 | | "Rule '{}' contains an invalid `change` glob pattern '{}'.", [INFO] [stdout] 166 | | name, watch_pattern [INFO] [stdout] ... | [INFO] [stdout] 169 | | " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned(), [INFO] [stdout] 170 | | ] [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] 163 ~ return Err([format!( [INFO] [stdout] 164 + "Rule '{}' contains an invalid `change` glob pattern '{}'.", [INFO] [stdout] 165 + name, watch_pattern [INFO] [stdout] 166 + ), [INFO] [stdout] 167 + format!(" {}", err), [INFO] [stdout] 168 + " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:180:32 [INFO] [stdout] | [INFO] [stdout] 180 | return Err(vec![ [INFO] [stdout] | ________________________________^ [INFO] [stdout] 181 | | format!( [INFO] [stdout] 182 | | "Rule '{}' contains an invalid `ignore` glob pattern '{}'.", [INFO] [stdout] 183 | | name, ignore_pattern [INFO] [stdout] ... | [INFO] [stdout] 186 | | " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned(), [INFO] [stdout] 187 | | ] [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] 180 ~ return Err([format!( [INFO] [stdout] 181 + "Rule '{}' contains an invalid `ignore` glob pattern '{}'.", [INFO] [stdout] 182 + name, ignore_pattern [INFO] [stdout] 183 + ), [INFO] [stdout] 184 + format!(" {}", err), [INFO] [stdout] 185 + " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:577:25 [INFO] [stdout] | [INFO] [stdout] 577 | / vec![ [INFO] [stdout] 578 | | "When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 579 | | "The output of command `find` is a good example", [INFO] [stdout] 580 | | ].join("\n"), [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 577 ~ ["When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 578 ~ "The output of command `find` is a good example"].join("\n"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:650:10 [INFO] [stdout] | [INFO] [stdout] 650 | &vec![ [INFO] [stdout] | __________^ [INFO] [stdout] 651 | | format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 652 | | vec![ [INFO] [stdout] 653 | | "", [INFO] [stdout] ... | [INFO] [stdout] 664 | | .to_string(), [INFO] [stdout] 665 | | ] [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] 650 ~ &[format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 651 + vec![ [INFO] [stdout] 652 + "", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 661 + ] [INFO] [stdout] 662 + .join("\n") [INFO] [stdout] 663 + .to_string()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:652:13 [INFO] [stdout] | [INFO] [stdout] 652 | / vec![ [INFO] [stdout] 653 | | "", [INFO] [stdout] 654 | | "Some example of valid patterns: ", [INFO] [stdout] 655 | | " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] ... | [INFO] [stdout] 661 | | " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 662 | | ] [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] 652 ~ ["", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/watcher.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | let warning = &vec![ [INFO] [stdout] | ____________________________^ [INFO] [stdout] 26 | | format!("unknown file/directory: '{}'", path), [INFO] [stdout] 27 | | format!("Different behaviour depending on the OS."), [INFO] [stdout] 28 | | format!("The watcher may not be triggered for this rule."), [INFO] [stdout] 29 | | ] [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] 25 ~ let warning = &[format!("unknown file/directory: '{}'", path), [INFO] [stdout] 26 + format!("Different behaviour depending on the OS."), [INFO] [stdout] 27 + format!("The watcher may not be triggered for this rule.")] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pretty_assertions::assert_eq` [INFO] [stdout] --> tests/watching_nested_groups.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use pretty_assertions::assert_eq; [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: `std::io::prelude::*` [INFO] [stdout] --> tests/watching_nested_groups.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `set_readonly` with argument `false` [INFO] [stdout] --> tests/command_init_errors.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | perms.set_readonly(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: on Unix platforms this results in the file being world writable [INFO] [stdout] = help: you can set the desired permissions using `PermissionsExt`. For more information, see [INFO] [stdout] https://doc.rust-lang.org/std/os/unix/fs/trait.PermissionsExt.html [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#permissions_set_readonly_false [INFO] [stdout] = note: `#[warn(clippy::permissions_set_readonly_false)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> tests/command_init_errors.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | / vec![ [INFO] [stdout] 27 | | "\u{1b}[31mError\u{1b}[0m: Command failed to execute", [INFO] [stdout] 28 | | "Configuration file already exists (.watch.yaml)", [INFO] [stdout] 29 | | "", [INFO] [stdout] 30 | | ] [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] 26 ~ ["\u{1b}[31mError\u{1b}[0m: Command failed to execute", [INFO] [stdout] 27 + "Configuration file already exists (.watch.yaml)", [INFO] [stdout] 28 + ""] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> tests/command_init_errors.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | / vec![ [INFO] [stdout] 64 | | "Error: Command failed to execute", [INFO] [stdout] 65 | | "Failed to create the configuration file", [INFO] [stdout] 66 | | "Reason: Permission denied (os error 13)", [INFO] [stdout] 67 | | "Hint: Check if you have permission to write in the current folder", [INFO] [stdout] 68 | | "", [INFO] [stdout] 69 | | ] [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] 63 ~ ["Error: Command failed to execute", [INFO] [stdout] 64 + "Failed to create the configuration file", [INFO] [stdout] 65 + "Reason: Permission denied (os error 13)", [INFO] [stdout] 66 + "Hint: Check if you have permission to write in the current folder", [INFO] [stdout] 67 + ""] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> tests/read_stdin_error.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | / vec![ [INFO] [stdout] 21 | | "Error: No files provided via stdin.", [INFO] [stdout] 22 | | "Provide a list of files or directories via stdin, e.g., `find . | fzz 'echo {{filepath}}'`.", [INFO] [stdout] 23 | | "", [INFO] [stdout] 24 | | ] [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] 20 ~ ["Error: No files provided via stdin.", [INFO] [stdout] 21 + "Provide a list of files or directories via stdin, e.g., `find . | fzz 'echo {{filepath}}'`.", [INFO] [stdout] 22 + ""] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> tests/read_stdin_error.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | / vec![ [INFO] [stdout] 49 | | "Error: Failed to get rules from stdin", [INFO] [stdout] 50 | | "Unknown path \'total", //... 8' line 1 [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_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 48 ~ ["Error: Failed to get rules from stdin", [INFO] [stdout] 49 + "Unknown path \'total"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> tests/read_stdin_error.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | / vec![ [INFO] [stdout] 56 | | "Reason: No such file or directory (os error 2)", [INFO] [stdout] 57 | | "Hint: When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 58 | | "The output of command `find` is a good example", [INFO] [stdout] 59 | | "", [INFO] [stdout] 60 | | ] [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] 55 ~ ["Reason: No such file or directory (os error 2)", [INFO] [stdout] 56 + "Hint: When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 57 + "The output of command `find` is a good example", [INFO] [stdout] 58 + ""] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_with_verbose_flag.rs:14:29 [INFO] [stdout] | [INFO] [stdout] 14 | let mut child = fzz_cmd.arg("-V").spawn().expect("failed to spawn child"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] = note: `#[warn(clippy::zombie_processes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/cli/init.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | if let Ok(_) = File::open(&self.file_name) { [INFO] [stdout] | -------^^^^^------------------------------ help: try: `if File::open(&self.file_name).is_ok()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watcher_reloads_config_file.rs:14:29 [INFO] [stdout] | [INFO] [stdout] 14 | let mut child = fzz_cmd [INFO] [stdout] | _____________________________^ [INFO] [stdout] 15 | | .arg("--non-block") [INFO] [stdout] 16 | | .spawn() [INFO] [stdout] 17 | | .expect("failed to spawn child"); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] = note: `#[warn(clippy::zombie_processes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_configured_rules.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 15 | let mut child = fzz_cmd.arg("-V").spawn().expect("failed to spawn child"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] = note: `#[warn(clippy::zombie_processes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_configured_rules.rs:83:29 [INFO] [stdout] | [INFO] [stdout] 83 | let mut child = fzz_cmd.spawn().expect("failed to spawn process"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_configured_rules.rs:233:29 [INFO] [stdout] | [INFO] [stdout] 233 | let mut child = fzz_cmd [INFO] [stdout] | _____________________________^ [INFO] [stdout] 234 | | .arg("-t") [INFO] [stdout] 235 | | .arg("@invalid") [INFO] [stdout] 236 | | .arg("-V") [INFO] [stdout] 237 | | .spawn() [INFO] [stdout] 238 | | .expect("failed to spawn child"); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | return format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint); [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] 13 - return format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint); [INFO] [stdout] 13 + format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | return format!("Hint: {}", hint); [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] 15 - return format!("Hint: {}", hint); [INFO] [stdout] 15 + format!("Hint: {}", hint) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_with_fail_fast_flag.rs:17:29 [INFO] [stdout] | [INFO] [stdout] 17 | let mut child = fzz_cmd [INFO] [stdout] | _____________________________^ [INFO] [stdout] 18 | | .arg("--fail-fast") [INFO] [stdout] 19 | | .spawn() [INFO] [stdout] 20 | | .expect("failed to spawn sub process"); [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] = note: `#[warn(clippy::zombie_processes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watcher_does_not_die_with_failing_tasks.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | let mut child = fzz_cmd.spawn().expect("failed to spawn sub process"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] = note: `#[warn(clippy::zombie_processes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/errors.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | format!("{}", msg) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `msg.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 `vec!` [INFO] [stdout] --> tests/watching_configured_errors.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | / vec![ [INFO] [stdout] 21 | | "Error: Failed to read default config file", [INFO] [stdout] 22 | | "Couldn\'t open configuration file: \'.watch.yaml\'", [INFO] [stdout] 23 | | "Reason: No such file or directory (os error 2)", [INFO] [stdout] 24 | | "Hint: Check if the file exists and if the path is correct. Try `fzz init` to create a new configuration file", [INFO] [stdout] 25 | | "", [INFO] [stdout] 26 | | ] [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] 20 ~ ["Error: Failed to read default config file", [INFO] [stdout] 21 + "Couldn\'t open configuration file: \'.watch.yaml\'", [INFO] [stdout] 22 + "Reason: No such file or directory (os error 2)", [INFO] [stdout] 23 + "Hint: Check if the file exists and if the path is correct. Try `fzz init` to create a new configuration file", [INFO] [stdout] 24 + ""] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_with_fail_fast_flag.rs:104:37 [INFO] [stdout] | [INFO] [stdout] 104 | let mut child = fzz_cmd.spawn().expect("failed to spawn sub process"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> tests/watching_configured_errors.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | / vec![ [INFO] [stdout] 45 | | "Error: Failed to read config file", [INFO] [stdout] 46 | | "Missing \'name\' in rule", [INFO] [stdout] 47 | | "```yaml", [INFO] [stdout] ... | [INFO] [stdout] 52 | | "", [INFO] [stdout] 53 | | ] [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] 44 ~ ["Error: Failed to read config file", [INFO] [stdout] 45 + "Missing \'name\' in rule", [INFO] [stdout] 46 + "```yaml", [INFO] [stdout] 47 + "foo: bla", [INFO] [stdout] 48 + "run: bar", [INFO] [stdout] 49 + "```", [INFO] [stdout] 50 + "Hint: Check for typos or wrong identation", [INFO] [stdout] 51 + ""] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> tests/watching_configured_errors.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | / vec![ [INFO] [stdout] 72 | | "Error: Failed to read config file", [INFO] [stdout] 73 | | "Configuration file is invalid. When using the 'on' format, you must provide a 'tasks' array", [INFO] [stdout] 74 | | "Hint: Example:", [INFO] [stdout] ... | [INFO] [stdout] 80 | | "", [INFO] [stdout] 81 | | ] [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] 71 ~ ["Error: Failed to read config file", [INFO] [stdout] 72 + "Configuration file is invalid. When using the 'on' format, you must provide a 'tasks' array", [INFO] [stdout] 73 + "Hint: Example:", [INFO] [stdout] 74 + "on:", [INFO] [stdout] 75 + " change: [\"src/**\"]", [INFO] [stdout] 76 + "tasks:", [INFO] [stdout] 77 + " - name: build", [INFO] [stdout] 78 + " run: cargo build", [INFO] [stdout] 79 + ""] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/logging.rs:23:22 [INFO] [stdout] | [INFO] [stdout] 23 | .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 23 - .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] 23 + .map_err(|_| io::Error::other("logger poisoned"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/logging.rs:47:22 [INFO] [stdout] | [INFO] [stdout] 47 | .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 47 - .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] 47 + .map_err(|_| io::Error::other("logger poisoned"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_with_fail_fast_flag.rs:190:29 [INFO] [stdout] | [INFO] [stdout] 190 | let mut child = fzz_cmd [INFO] [stdout] | _____________________________^ [INFO] [stdout] 191 | | .arg("-nb") // --non-block + --fail-fast [INFO] [stdout] 192 | | .spawn() [INFO] [stdout] 193 | | .expect("failed to spawn sub process"); [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_with_non_block_flag.rs:17:29 [INFO] [stdout] | [INFO] [stdout] 17 | let mut child = fzz_cmd [INFO] [stdout] | _____________________________^ [INFO] [stdout] 18 | | .arg("--non-block") [INFO] [stdout] 19 | | .spawn() [INFO] [stdout] 20 | | .expect("failed to spawn child"); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] = note: `#[warn(clippy::zombie_processes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/rules.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | if None == self.yaml { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `self.yaml.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rules.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | if self.commands().len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.commands().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: length comparison to zero [INFO] [stdout] --> src/rules.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | if self.watch_patterns().len() == 0 && !self.run_on_init() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.watch_patterns().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_with_non_block_flag.rs:115:37 [INFO] [stdout] | [INFO] [stdout] 115 | let mut child = fzz_cmd.spawn().expect("failed to spawn child"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rules.rs:313:8 [INFO] [stdout] | [INFO] [stdout] 313 | if items.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `items.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rules.rs:587:5 [INFO] [stdout] | [INFO] [stdout] 587 | return Ok(watches); [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] 587 - return Ok(watches); [INFO] [stdout] 587 + Ok(watches) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/rules.rs:565:9 [INFO] [stdout] | [INFO] [stdout] 565 | line_number = line_number + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `line_number += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rules.rs:621:13 [INFO] [stdout] | [INFO] [stdout] 621 | return from_yaml(&content); [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] 621 - return from_yaml(&content); [INFO] [stdout] 621 + from_yaml(&content) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/rules.rs:649:37 [INFO] [stdout] | [INFO] [stdout] 649 | Pattern::new(&compiled_pattern).expect( [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 650 | | &vec![ [INFO] [stdout] 651 | | format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 652 | | vec![ [INFO] [stdout] ... | [INFO] [stdout] 666 | | .join("\n"), [INFO] [stdout] 667 | | ) [INFO] [stdout] | |_____^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 649 ~ Pattern::new(&compiled_pattern).unwrap_or_else(|_| panic!("{}", vec![ [INFO] [stdout] 650 + format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 651 + vec![ [INFO] [stdout] 652 + "", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 661 + ] [INFO] [stdout] 662 + .join("\n") [INFO] [stdout] 663 + .to_string(), [INFO] [stdout] 664 + ] [INFO] [stdout] 665 + .join("\n"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/rules.rs:686:9 [INFO] [stdout] | [INFO] [stdout] 686 | / if let Err(err) = rule.validate() { [INFO] [stdout] 687 | | return Err(err); [INFO] [stdout] 688 | | } [INFO] [stdout] | |_________^ help: replace it with: `rule.validate()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:741:9 [INFO] [stdout] | [INFO] [stdout] 741 | assert_eq!(true, rule.watch("tests/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 741 - assert_eq!(true, rule.watch("tests/foo.rs")); [INFO] [stdout] 741 + assert!(rule.watch("tests/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:744:9 [INFO] [stdout] | [INFO] [stdout] 744 | assert_eq!(true, rule2.watch("src/foo.rsx")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 744 - assert_eq!(true, rule2.watch("src/foo.rsx")); [INFO] [stdout] 744 + assert!(rule2.watch("src/foo.rsx")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:745:9 [INFO] [stdout] | [INFO] [stdout] 745 | assert_eq!(true, rule2.watch("src/bar/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 745 - assert_eq!(true, rule2.watch("src/bar/foo.rs")); [INFO] [stdout] 745 + assert!(rule2.watch("src/bar/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:746:9 [INFO] [stdout] | [INFO] [stdout] 746 | assert_eq!(true, rule2.watch("src/bar/foo.rsx")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 746 - assert_eq!(true, rule2.watch("src/bar/foo.rsx")); [INFO] [stdout] 746 + assert!(rule2.watch("src/bar/foo.rsx")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:747:9 [INFO] [stdout] | [INFO] [stdout] 747 | assert_eq!(true, rule2.watch("src/bar/foo.rs3")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 747 - assert_eq!(true, rule2.watch("src/bar/foo.rs3")); [INFO] [stdout] 747 + assert!(rule2.watch("src/bar/foo.rs3")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:748:9 [INFO] [stdout] | [INFO] [stdout] 748 | assert_eq!(true, rule2.watch("src/bar/foo.rs&")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 748 - assert_eq!(true, rule2.watch("src/bar/foo.rs&")); [INFO] [stdout] 748 + assert!(rule2.watch("src/bar/foo.rs&")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:749:9 [INFO] [stdout] | [INFO] [stdout] 749 | assert_eq!(true, rule2.watch("src/bar/foo.abc")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 749 - assert_eq!(true, rule2.watch("src/bar/foo.abc")); [INFO] [stdout] 749 + assert!(rule2.watch("src/bar/foo.abc")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:750:9 [INFO] [stdout] | [INFO] [stdout] 750 | assert_eq!(true, rule2.watch("src/bar/foo.abx")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 750 - assert_eq!(true, rule2.watch("src/bar/foo.abx")); [INFO] [stdout] 750 + assert!(rule2.watch("src/bar/foo.abx")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:752:9 [INFO] [stdout] | [INFO] [stdout] 752 | assert_eq!(false, rule2.watch("src/bar/foo.ab")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 752 - assert_eq!(false, rule2.watch("src/bar/foo.ab")); [INFO] [stdout] 752 + assert!(!rule2.watch("src/bar/foo.ab")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | assert_eq!(false, rule.watch("tests/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 766 - assert_eq!(false, rule.watch("tests/foo.rs")); [INFO] [stdout] 766 + assert!(!rule.watch("tests/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:825:9 [INFO] [stdout] | [INFO] [stdout] 825 | assert_eq!(true, rule.ignore("tests/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 825 - assert_eq!(true, rule.ignore("tests/foo.rs")); [INFO] [stdout] 825 + assert!(rule.ignore("tests/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:840:9 [INFO] [stdout] | [INFO] [stdout] 840 | assert_eq!(false, rule.ignore("tests/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 840 - assert_eq!(false, rule.ignore("tests/foo.rs")); [INFO] [stdout] 840 + assert!(!rule.ignore("tests/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rules.rs:913:34 [INFO] [stdout] | [INFO] [stdout] 913 | current_dir: format!("{}", "/foo/bar"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"/foo/bar".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/rules.rs:928:34 [INFO] [stdout] | [INFO] [stdout] 928 | current_dir: format!("{}", "/foo/bar"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"/foo/bar".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: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rules.rs:962:34 [INFO] [stdout] | [INFO] [stdout] 962 | current_dir: format!("{}", "/foo/bar"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"/foo/bar".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 unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_filtered_tasks_with_target_flag.rs:17:29 [INFO] [stdout] | [INFO] [stdout] 17 | let mut child = fzz_cmd [INFO] [stdout] | _____________________________^ [INFO] [stdout] 18 | | .arg("--target") [INFO] [stdout] 19 | | .arg("@quick") [INFO] [stdout] 20 | | .spawn() [INFO] [stdout] 21 | | .expect("failed to spawn child"); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] = note: `#[warn(clippy::zombie_processes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_arbitrary_files_running_arbitrary_commands.rs:11:21 [INFO] [stdout] | [INFO] [stdout] 11 | let files = Command::new("find") [INFO] [stdout] | _____________________^ [INFO] [stdout] 12 | | .arg(".") [INFO] [stdout] 13 | | .arg("-name") [INFO] [stdout] 14 | | .arg("*.txt") [INFO] [stdout] 15 | | .stdout(Stdio::piped()) [INFO] [stdout] 16 | | .spawn() [INFO] [stdout] 17 | | .expect("failed to run find"); [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] = note: `#[warn(clippy::zombie_processes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_arbitrary_files_running_arbitrary_commands.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | let mut child = fzz_cmd [INFO] [stdout] | _________________________^ [INFO] [stdout] 20 | | .arg("echo 'running arbitrary command'") [INFO] [stdout] 21 | | .stdin(files.stdout.expect("failed to open stdin")) [INFO] [stdout] 22 | | .spawn() [INFO] [stdout] 23 | | .expect("Failed to spawn grep command"); [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_arbitrary_files_running_arbitrary_commands.rs:77:25 [INFO] [stdout] | [INFO] [stdout] 77 | let files = Command::new("find") [INFO] [stdout] | _________________________^ [INFO] [stdout] 78 | | .arg(".") [INFO] [stdout] 79 | | .arg("-name") [INFO] [stdout] 80 | | .arg("*.txt") [INFO] [stdout] 81 | | .stdout(Stdio::piped()) [INFO] [stdout] 82 | | .spawn() [INFO] [stdout] 83 | | .expect("failed to run find"); [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_arbitrary_files_running_arbitrary_commands.rs:85:29 [INFO] [stdout] | [INFO] [stdout] 85 | let mut child = fzz_cmd [INFO] [stdout] | _____________________________^ [INFO] [stdout] 86 | | .arg("echo 'this file changed: {{filepath}}'") [INFO] [stdout] 87 | | .arg("-V") // DEBUG [INFO] [stdout] 88 | | .stdin(files.stdout.expect("failed to open stdin")) [INFO] [stdout] 89 | | .spawn() [INFO] [stdout] 90 | | .expect("Failed to spawn grep command"); [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_arbitrary_files_running_arbitrary_commands.rs:144:21 [INFO] [stdout] | [INFO] [stdout] 144 | let files = Command::new("find") [INFO] [stdout] | _____________________^ [INFO] [stdout] 145 | | .arg(".") [INFO] [stdout] 146 | | .arg("-name") [INFO] [stdout] 147 | | .arg("*.txt") [INFO] [stdout] 148 | | .stdout(Stdio::piped()) [INFO] [stdout] 149 | | .spawn() [INFO] [stdout] 150 | | .expect("failed to run find"); [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_arbitrary_files_running_arbitrary_commands.rs:151:25 [INFO] [stdout] | [INFO] [stdout] 151 | let mut child = fzz_cmd [INFO] [stdout] | _________________________^ [INFO] [stdout] 152 | | .arg("watch") [INFO] [stdout] 153 | | .arg("echo 'it runs on init by default'") [INFO] [stdout] 154 | | .stdin(files.stdout.expect("failed to open stdin")) [INFO] [stdout] 155 | | .spawn() [INFO] [stdout] 156 | | .expect("Failed to spawn grep command"); [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_arbitrary_files_running_arbitrary_commands.rs:182:25 [INFO] [stdout] | [INFO] [stdout] 182 | let mut child = fzz_cmd [INFO] [stdout] | _________________________^ [INFO] [stdout] 183 | | .arg("watch") [INFO] [stdout] 184 | | .arg("'echo fooo'") [INFO] [stdout] 185 | | .stdin(Stdio::null()) [INFO] [stdout] 186 | | .spawn() [INFO] [stdout] 187 | | .expect("Failed to spawn grep command"); [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/tasks_with_filepath_template.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | let mut child = fzz_cmd [INFO] [stdout] | _____________________________^ [INFO] [stdout] 17 | | .arg("-t") [INFO] [stdout] 18 | | .arg("@absolute") [INFO] [stdout] 19 | | .spawn() [INFO] [stdout] 20 | | .expect("failed to spawn child"); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] = note: `#[warn(clippy::zombie_processes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/stdout.rs:91:56 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn print_time_elapsed(elapsed: std::time::Duration) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/stdout.rs:120:43 [INFO] [stdout] | [INFO] [stdout] 120 | let errors: Vec> = results.iter().cloned().filter(|r| r.is_err()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try: `.filter(|&r| r.is_err()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] = note: `#[warn(clippy::iter_overeager_cloned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/stdout.rs:121:21 [INFO] [stdout] | [INFO] [stdout] 121 | let completed = results.iter().cloned().filter(|r| r.is_ok()).count(); [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try: `.filter(|&r| r.is_ok()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/stdout.rs:164:22 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn clear_screen() -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/tasks_with_filepath_template.rs:104:29 [INFO] [stdout] | [INFO] [stdout] 104 | let mut child = fzz_cmd [INFO] [stdout] | _____________________________^ [INFO] [stdout] 105 | | .arg("-t") [INFO] [stdout] 106 | | .arg("@relative") [INFO] [stdout] 107 | | .spawn() [INFO] [stdout] 108 | | .expect("failed to spawn child"); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/watches.rs:42:20 [INFO] [stdout] | [INFO] [stdout] 42 | let cmds = self [INFO] [stdout] | ____________________^ [INFO] [stdout] 43 | | .rules [INFO] [stdout] 44 | | .iter() [INFO] [stdout] 45 | | .cloned() [INFO] [stdout] ... | [INFO] [stdout] 63 | | watched_by_absolute || watched_by_relative [INFO] [stdout] 64 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 44 ~ .iter().filter(|&r| { [INFO] [stdout] 45 + let ignored_by_absolute = r.ignore_absolute(absolute_path_str); [INFO] [stdout] 46 + let ignored_by_relative = relative_path [INFO] [stdout] 47 + .as_ref() [INFO] [stdout] 48 + .map(|rel| r.ignore_relative(rel)) [INFO] [stdout] 49 + .unwrap_or(false); [INFO] [stdout] 50 + [INFO] [stdout] 51 + if ignored_by_absolute || ignored_by_relative { [INFO] [stdout] 52 + return false; [INFO] [stdout] 53 + } [INFO] [stdout] 54 + [INFO] [stdout] 55 + let watched_by_absolute = r.watch_absolute(absolute_path_str); [INFO] [stdout] 56 + let watched_by_relative = relative_path [INFO] [stdout] 57 + .as_ref() [INFO] [stdout] 58 + .map(|rel| r.watch_relative(rel)) [INFO] [stdout] 59 + .unwrap_or(false); [INFO] [stdout] 60 + [INFO] [stdout] 61 + watched_by_absolute || watched_by_relative [INFO] [stdout] 62 + }).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/watches.rs:77:20 [INFO] [stdout] | [INFO] [stdout] 77 | let cmds = self [INFO] [stdout] | _____________________^ [INFO] [stdout] 78 | | .rules [INFO] [stdout] 79 | | .iter() [INFO] [stdout] | | ____________________- [INFO] [stdout] 80 | || .cloned() [INFO] [stdout] 81 | || .filter(|r| r.run_on_init()) [INFO] [stdout] | ||________________________________________^ [INFO] [stdout] | |________________________________________| [INFO] [stdout] | help: try: `.filter(|&r| r.run_on_init()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/watches.rs:200:53 [INFO] [stdout] | [INFO] [stdout] 200 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/watches.rs:214:53 [INFO] [stdout] | [INFO] [stdout] 214 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:225:53 [INFO] [stdout] | [INFO] [stdout] 225 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:242:53 [INFO] [stdout] | [INFO] [stdout] 242 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:257:53 [INFO] [stdout] | [INFO] [stdout] 257 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:273:53 [INFO] [stdout] | [INFO] [stdout] 273 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:297:53 [INFO] [stdout] | [INFO] [stdout] 297 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:314:53 [INFO] [stdout] | [INFO] [stdout] 314 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:328:53 [INFO] [stdout] | [INFO] [stdout] 328 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:352:53 [INFO] [stdout] | [INFO] [stdout] 352 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:391:53 [INFO] [stdout] | [INFO] [stdout] 391 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:434:13 [INFO] [stdout] | [INFO] [stdout] 434 | / &r#" [INFO] [stdout] 435 | | - name: run tests [INFO] [stdout] 436 | | run: [ [INFO] [stdout] 437 | | "yarn test {{filepath}}", [INFO] [stdout] 438 | | change: 'src/**' [INFO] [stdout] 439 | | "# [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 434 ~ r#" [INFO] [stdout] 435 + - name: run tests [INFO] [stdout] 436 + run: [ [INFO] [stdout] 437 + "yarn test {{filepath}}", [INFO] [stdout] 438 + change: 'src/**' [INFO] [stdout] 439 + "# [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/watches.rs:444:13 [INFO] [stdout] | [INFO] [stdout] 444 | / &r#" [INFO] [stdout] 445 | | - name: other [INFO] [stdout] 446 | | run: 'cargo test' [INFO] [stdout] 447 | | change: 'test/**' [INFO] [stdout] 448 | | "# [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 444 ~ r#" [INFO] [stdout] 445 + - name: other [INFO] [stdout] 446 + run: 'cargo test' [INFO] [stdout] 447 + change: 'test/**' [INFO] [stdout] 448 + "# [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/workers.rs:48:32 [INFO] [stdout] | [INFO] [stdout] 48 | ... && !results.clone().into_iter().find(|r| r.is_err()).is_none()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `results.clone().into_iter().find(|r| r.is_err()).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: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/yaml.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | .map(|i| String::from(i.as_str().unwrap_or_else(|| "_invalid_value_"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 11 - .map(|i| String::from(i.as_str().unwrap_or_else(|| "_invalid_value_"))) [INFO] [stdout] 11 + .map(|i| String::from(i.as_str().unwrap_or("_invalid_value_"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/yaml.rs:18:32 [INFO] [stdout] | [INFO] [stdout] 18 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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 `vec!` [INFO] [stdout] --> src/rules.rs:163:32 [INFO] [stdout] | [INFO] [stdout] 163 | return Err(vec![ [INFO] [stdout] | ________________________________^ [INFO] [stdout] 164 | | format!( [INFO] [stdout] 165 | | "Rule '{}' contains an invalid `change` glob pattern '{}'.", [INFO] [stdout] 166 | | name, watch_pattern [INFO] [stdout] ... | [INFO] [stdout] 169 | | " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned(), [INFO] [stdout] 170 | | ] [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] 163 ~ return Err([format!( [INFO] [stdout] 164 + "Rule '{}' contains an invalid `change` glob pattern '{}'.", [INFO] [stdout] 165 + name, watch_pattern [INFO] [stdout] 166 + ), [INFO] [stdout] 167 + format!(" {}", err), [INFO] [stdout] 168 + " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:180:32 [INFO] [stdout] | [INFO] [stdout] 180 | return Err(vec![ [INFO] [stdout] | ________________________________^ [INFO] [stdout] 181 | | format!( [INFO] [stdout] 182 | | "Rule '{}' contains an invalid `ignore` glob pattern '{}'.", [INFO] [stdout] 183 | | name, ignore_pattern [INFO] [stdout] ... | [INFO] [stdout] 186 | | " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned(), [INFO] [stdout] 187 | | ] [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] 180 ~ return Err([format!( [INFO] [stdout] 181 + "Rule '{}' contains an invalid `ignore` glob pattern '{}'.", [INFO] [stdout] 182 + name, ignore_pattern [INFO] [stdout] 183 + ), [INFO] [stdout] 184 + format!(" {}", err), [INFO] [stdout] 185 + " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:577:25 [INFO] [stdout] | [INFO] [stdout] 577 | / vec![ [INFO] [stdout] 578 | | "When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 579 | | "The output of command `find` is a good example", [INFO] [stdout] 580 | | ].join("\n"), [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 577 ~ ["When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 578 ~ "The output of command `find` is a good example"].join("\n"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:650:10 [INFO] [stdout] | [INFO] [stdout] 650 | &vec![ [INFO] [stdout] | __________^ [INFO] [stdout] 651 | | format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 652 | | vec![ [INFO] [stdout] 653 | | "", [INFO] [stdout] ... | [INFO] [stdout] 664 | | .to_string(), [INFO] [stdout] 665 | | ] [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] 650 ~ &[format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 651 + vec![ [INFO] [stdout] 652 + "", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 661 + ] [INFO] [stdout] 662 + .join("\n") [INFO] [stdout] 663 + .to_string()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:652:13 [INFO] [stdout] | [INFO] [stdout] 652 | / vec![ [INFO] [stdout] 653 | | "", [INFO] [stdout] 654 | | "Some example of valid patterns: ", [INFO] [stdout] 655 | | " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] ... | [INFO] [stdout] 661 | | " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 662 | | ] [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] 652 ~ ["", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:991:13 [INFO] [stdout] | [INFO] [stdout] 991 | / vec![ [INFO] [stdout] 992 | | "name: my tests", [INFO] [stdout] 993 | | "run: cargo tests {{filepath}}", [INFO] [stdout] 994 | | "change: tests/**", [INFO] [stdout] 995 | | "run_on_init: true", [INFO] [stdout] 996 | | ] [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] 991 ~ ["name: my tests", [INFO] [stdout] 992 + "run: cargo tests {{filepath}}", [INFO] [stdout] 993 + "change: tests/**", [INFO] [stdout] 994 + "run_on_init: true"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:1019:13 [INFO] [stdout] | [INFO] [stdout] 1019 | / vec![ [INFO] [stdout] 1020 | | "Failed to load configuration at line:", [INFO] [stdout] 1021 | | "| run: 'cargo tests'", [INFO] [stdout] 1022 | | "|> change: **/*", [INFO] [stdout] ... | [INFO] [stdout] 1025 | | "Hint: Check for wrong types, any missing quotes for glob pattern or incorrect identation", [INFO] [stdout] 1026 | | ] [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] 1019 ~ ["Failed to load configuration at line:", [INFO] [stdout] 1020 + "| run: 'cargo tests'", [INFO] [stdout] 1021 + "|> change: **/*", [INFO] [stdout] 1022 + "| ", [INFO] [stdout] 1023 + "Reason: while scanning an anchor or alias, did not find expected alphabetic or numeric character at line 8 column 19", [INFO] [stdout] 1024 + "Hint: Check for wrong types, any missing quotes for glob pattern or incorrect identation"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:1037:13 [INFO] [stdout] | [INFO] [stdout] 1037 | / vec![ [INFO] [stdout] 1038 | | "Configuration file is invalid! There are no rules to watch", [INFO] [stdout] 1039 | | "Hint: Make sure to declare at least one rule. Try to run `fzz init` to generate a new configuration from scratch", [INFO] [stdout] 1040 | | ] [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] 1037 ~ ["Configuration file is invalid! There are no rules to watch", [INFO] [stdout] 1038 + "Hint: Make sure to declare at least one rule. Try to run `fzz init` to generate a new configuration from scratch"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:1054:13 [INFO] [stdout] | [INFO] [stdout] 1054 | / vec![ [INFO] [stdout] 1055 | | "Configuration file is invalid. When using the 'on' format, you must provide a 'tasks' array", [INFO] [stdout] 1056 | | "Hint: Example:", [INFO] [stdout] 1057 | | "on:", [INFO] [stdout] ... | [INFO] [stdout] 1061 | | " run: cargo build", [INFO] [stdout] 1062 | | ] [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] 1054 ~ ["Configuration file is invalid. When using the 'on' format, you must provide a 'tasks' array", [INFO] [stdout] 1055 + "Hint: Example:", [INFO] [stdout] 1056 + "on:", [INFO] [stdout] 1057 + " change: [\"src/**\"]", [INFO] [stdout] 1058 + "tasks:", [INFO] [stdout] 1059 + " - name: build", [INFO] [stdout] 1060 + " run: cargo build"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/watcher.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | let warning = &vec![ [INFO] [stdout] | ____________________________^ [INFO] [stdout] 26 | | format!("unknown file/directory: '{}'", path), [INFO] [stdout] 27 | | format!("Different behaviour depending on the OS."), [INFO] [stdout] 28 | | format!("The watcher may not be triggered for this rule."), [INFO] [stdout] 29 | | ] [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] 25 ~ let warning = &[format!("unknown file/directory: '{}'", path), [INFO] [stdout] 26 + format!("Different behaviour depending on the OS."), [INFO] [stdout] 27 + format!("The watcher may not be triggered for this rule.")] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> tests/./common/lib.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_file_path` [INFO] [stdout] --> tests/./common/lib.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> tests/./common/lib.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/tasks_that_run_on_init.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | let mut child = fzz_cmd [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 21 | | .env("_TEST_FUNZZY_COLORED", "1") [INFO] [stdout] 22 | | .spawn() [INFO] [stdout] 23 | | .expect("failed to spawn child"); [INFO] [stdout] | |________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] = note: `#[warn(clippy::zombie_processes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/tasks_that_run_on_init.rs:98:37 [INFO] [stdout] | [INFO] [stdout] 98 | let mut child = fzz_cmd [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 99 | | .arg("--no-run-on-init") [INFO] [stdout] 100 | | .env("_TEST_FUNZZY_COLORED", "1") [INFO] [stdout] 101 | | .spawn() [INFO] [stdout] 102 | | .expect("failed to spawn child"); [INFO] [stdout] | |________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless `fn main` in doctest [INFO] [stdout] --> tests/./common/./macros.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | /// fn main() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main [INFO] [stdout] = note: `#[warn(clippy::needless_doctest_main)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn with_example(_: Options, _: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:40:58 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn with_output(output_file_path: &str, handler: F) -> () [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> tests/./common/lib.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | F: FnOnce(&mut Command, File) -> (), [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is never `wait()`ed on [INFO] [stdout] --> tests/watching_with_log_file.rs:18:29 [INFO] [stdout] | [INFO] [stdout] 18 | let mut child = fzz_cmd [INFO] [stdout] | _____________________________^ [INFO] [stdout] 19 | | .arg("--log-file") [INFO] [stdout] 20 | | .arg(&log_path) [INFO] [stdout] 21 | | .spawn() [INFO] [stdout] 22 | | .expect("failed to spawn child"); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider calling `.wait()` [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] = note: `#[warn(clippy::zombie_processes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/workers.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | FinishedExecution(Duration), [INFO] [stdout] | ----------------- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `WorkerEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 - FinishedExecution(Duration), [INFO] [stdout] 16 + FinishedExecution(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/cli/init.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | if let Ok(_) = File::open(&self.file_name) { [INFO] [stdout] | -------^^^^^------------------------------ help: try: `if File::open(&self.file_name).is_ok()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | return format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint); [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] 13 - return format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint); [INFO] [stdout] 13 + format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | return format!("Hint: {}", hint); [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] 15 - return format!("Hint: {}", hint); [INFO] [stdout] 15 + format!("Hint: {}", hint) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same postfix: `Error` [INFO] [stdout] --> src/errors.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub enum FzzError { [INFO] [stdout] 23 | | IoConfigError(String, Option), [INFO] [stdout] 24 | | IoStdinError(String, Hint), [INFO] [stdout] 25 | | InvalidConfigError(String, Option, Hint), [INFO] [stdout] ... | [INFO] [stdout] 28 | | GenericError(String), [INFO] [stdout] 29 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/errors.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | format!("{}", msg) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `msg.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 can be `std::io::Error::other(_)` [INFO] [stdout] --> src/logging.rs:23:22 [INFO] [stdout] | [INFO] [stdout] 23 | .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 23 - .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] 23 + .map_err(|_| io::Error::other("logger poisoned"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/logging.rs:47:22 [INFO] [stdout] | [INFO] [stdout] 47 | .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 47 - .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] 47 + .map_err(|_| io::Error::other("logger poisoned"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/rules.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | if None == self.yaml { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `self.yaml.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rules.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | if self.commands().len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.commands().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: length comparison to zero [INFO] [stdout] --> src/rules.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | if self.watch_patterns().len() == 0 && !self.run_on_init() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.watch_patterns().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rules.rs:313:8 [INFO] [stdout] | [INFO] [stdout] 313 | if items.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `items.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rules.rs:587:5 [INFO] [stdout] | [INFO] [stdout] 587 | return Ok(watches); [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] 587 - return Ok(watches); [INFO] [stdout] 587 + Ok(watches) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/rules.rs:565:9 [INFO] [stdout] | [INFO] [stdout] 565 | line_number = line_number + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `line_number += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rules.rs:621:13 [INFO] [stdout] | [INFO] [stdout] 621 | return from_yaml(&content); [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] 621 - return from_yaml(&content); [INFO] [stdout] 621 + from_yaml(&content) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/rules.rs:649:37 [INFO] [stdout] | [INFO] [stdout] 649 | Pattern::new(&compiled_pattern).expect( [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 650 | | &vec![ [INFO] [stdout] 651 | | format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 652 | | vec![ [INFO] [stdout] ... | [INFO] [stdout] 666 | | .join("\n"), [INFO] [stdout] 667 | | ) [INFO] [stdout] | |_____^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 649 ~ Pattern::new(&compiled_pattern).unwrap_or_else(|_| panic!("{}", vec![ [INFO] [stdout] 650 + format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 651 + vec![ [INFO] [stdout] 652 + "", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 661 + ] [INFO] [stdout] 662 + .join("\n") [INFO] [stdout] 663 + .to_string(), [INFO] [stdout] 664 + ] [INFO] [stdout] 665 + .join("\n"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/rules.rs:686:9 [INFO] [stdout] | [INFO] [stdout] 686 | / if let Err(err) = rule.validate() { [INFO] [stdout] 687 | | return Err(err); [INFO] [stdout] 688 | | } [INFO] [stdout] | |_________^ help: replace it with: `rule.validate()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/stdout.rs:91:56 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn print_time_elapsed(elapsed: std::time::Duration) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/stdout.rs:120:43 [INFO] [stdout] | [INFO] [stdout] 120 | let errors: Vec> = results.iter().cloned().filter(|r| r.is_err()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try: `.filter(|&r| r.is_err()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] = note: `#[warn(clippy::iter_overeager_cloned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/stdout.rs:121:21 [INFO] [stdout] | [INFO] [stdout] 121 | let completed = results.iter().cloned().filter(|r| r.is_ok()).count(); [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try: `.filter(|&r| r.is_ok()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/stdout.rs:164:22 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn clear_screen() -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/watches.rs:42:20 [INFO] [stdout] | [INFO] [stdout] 42 | let cmds = self [INFO] [stdout] | ____________________^ [INFO] [stdout] 43 | | .rules [INFO] [stdout] 44 | | .iter() [INFO] [stdout] 45 | | .cloned() [INFO] [stdout] ... | [INFO] [stdout] 63 | | watched_by_absolute || watched_by_relative [INFO] [stdout] 64 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 44 ~ .iter().filter(|&r| { [INFO] [stdout] 45 + let ignored_by_absolute = r.ignore_absolute(absolute_path_str); [INFO] [stdout] 46 + let ignored_by_relative = relative_path [INFO] [stdout] 47 + .as_ref() [INFO] [stdout] 48 + .map(|rel| r.ignore_relative(rel)) [INFO] [stdout] 49 + .unwrap_or(false); [INFO] [stdout] 50 + [INFO] [stdout] 51 + if ignored_by_absolute || ignored_by_relative { [INFO] [stdout] 52 + return false; [INFO] [stdout] 53 + } [INFO] [stdout] 54 + [INFO] [stdout] 55 + let watched_by_absolute = r.watch_absolute(absolute_path_str); [INFO] [stdout] 56 + let watched_by_relative = relative_path [INFO] [stdout] 57 + .as_ref() [INFO] [stdout] 58 + .map(|rel| r.watch_relative(rel)) [INFO] [stdout] 59 + .unwrap_or(false); [INFO] [stdout] 60 + [INFO] [stdout] 61 + watched_by_absolute || watched_by_relative [INFO] [stdout] 62 + }).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/watches.rs:77:20 [INFO] [stdout] | [INFO] [stdout] 77 | let cmds = self [INFO] [stdout] | _____________________^ [INFO] [stdout] 78 | | .rules [INFO] [stdout] 79 | | .iter() [INFO] [stdout] | | ____________________- [INFO] [stdout] 80 | || .cloned() [INFO] [stdout] 81 | || .filter(|r| r.run_on_init()) [INFO] [stdout] | ||________________________________________^ [INFO] [stdout] | |________________________________________| [INFO] [stdout] | help: try: `.filter(|&r| r.run_on_init()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/workers.rs:48:32 [INFO] [stdout] | [INFO] [stdout] 48 | ... && !results.clone().into_iter().find(|r| r.is_err()).is_none()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `results.clone().into_iter().find(|r| r.is_err()).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: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/yaml.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | .map(|i| String::from(i.as_str().unwrap_or_else(|| "_invalid_value_"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 11 - .map(|i| String::from(i.as_str().unwrap_or_else(|| "_invalid_value_"))) [INFO] [stdout] 11 + .map(|i| String::from(i.as_str().unwrap_or("_invalid_value_"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/yaml.rs:18:32 [INFO] [stdout] | [INFO] [stdout] 18 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/yaml.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/main.rs:216:36 [INFO] [stdout] | [INFO] [stdout] 216 | let filtered = rules [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 217 | | .iter() [INFO] [stdout] | | ________________________________- [INFO] [stdout] 218 | || .cloned() [INFO] [stdout] 219 | || .filter(|r| r.name.contains(target)) [INFO] [stdout] | ||____________________________________________________________^ [INFO] [stdout] | |____________________________________________________________| [INFO] [stdout] | help: try: `.filter(|&r| r.name.contains(target)).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/main.rs:318:22 [INFO] [stdout] | [INFO] [stdout] 318 | &vec![ [INFO] [stdout] | ______________________^ [INFO] [stdout] 319 | | "The config file has changed while an instance was running.", [INFO] [stdout] 320 | | &format!("Config file: {}", file_changed), [INFO] [stdout] 321 | | ] [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] 318 ~ &["The config file has changed while an instance was running.", [INFO] [stdout] 319 + &format!("Config file: {}", file_changed)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:163:32 [INFO] [stdout] | [INFO] [stdout] 163 | return Err(vec![ [INFO] [stdout] | ________________________________^ [INFO] [stdout] 164 | | format!( [INFO] [stdout] 165 | | "Rule '{}' contains an invalid `change` glob pattern '{}'.", [INFO] [stdout] 166 | | name, watch_pattern [INFO] [stdout] ... | [INFO] [stdout] 169 | | " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned(), [INFO] [stdout] 170 | | ] [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] 163 ~ return Err([format!( [INFO] [stdout] 164 + "Rule '{}' contains an invalid `change` glob pattern '{}'.", [INFO] [stdout] 165 + name, watch_pattern [INFO] [stdout] 166 + ), [INFO] [stdout] 167 + format!(" {}", err), [INFO] [stdout] 168 + " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:180:32 [INFO] [stdout] | [INFO] [stdout] 180 | return Err(vec![ [INFO] [stdout] | ________________________________^ [INFO] [stdout] 181 | | format!( [INFO] [stdout] 182 | | "Rule '{}' contains an invalid `ignore` glob pattern '{}'.", [INFO] [stdout] 183 | | name, ignore_pattern [INFO] [stdout] ... | [INFO] [stdout] 186 | | " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned(), [INFO] [stdout] 187 | | ] [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] 180 ~ return Err([format!( [INFO] [stdout] 181 + "Rule '{}' contains an invalid `ignore` glob pattern '{}'.", [INFO] [stdout] 182 + name, ignore_pattern [INFO] [stdout] 183 + ), [INFO] [stdout] 184 + format!(" {}", err), [INFO] [stdout] 185 + " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:577:25 [INFO] [stdout] | [INFO] [stdout] 577 | / vec![ [INFO] [stdout] 578 | | "When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 579 | | "The output of command `find` is a good example", [INFO] [stdout] 580 | | ].join("\n"), [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 577 ~ ["When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 578 ~ "The output of command `find` is a good example"].join("\n"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:650:10 [INFO] [stdout] | [INFO] [stdout] 650 | &vec![ [INFO] [stdout] | __________^ [INFO] [stdout] 651 | | format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 652 | | vec![ [INFO] [stdout] 653 | | "", [INFO] [stdout] ... | [INFO] [stdout] 664 | | .to_string(), [INFO] [stdout] 665 | | ] [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] 650 ~ &[format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 651 + vec![ [INFO] [stdout] 652 + "", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 661 + ] [INFO] [stdout] 662 + .join("\n") [INFO] [stdout] 663 + .to_string()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:652:13 [INFO] [stdout] | [INFO] [stdout] 652 | / vec![ [INFO] [stdout] 653 | | "", [INFO] [stdout] 654 | | "Some example of valid patterns: ", [INFO] [stdout] 655 | | " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] ... | [INFO] [stdout] 661 | | " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 662 | | ] [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] 652 ~ ["", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/watcher.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | let warning = &vec![ [INFO] [stdout] | ____________________________^ [INFO] [stdout] 26 | | format!("unknown file/directory: '{}'", path), [INFO] [stdout] 27 | | format!("Different behaviour depending on the OS."), [INFO] [stdout] 28 | | format!("The watcher may not be triggered for this rule."), [INFO] [stdout] 29 | | ] [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] 25 ~ let warning = &[format!("unknown file/directory: '{}'", path), [INFO] [stdout] 26 + format!("Different behaviour depending on the OS."), [INFO] [stdout] 27 + format!("The watcher may not be triggered for this rule.")] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/workers.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | FinishedExecution(Duration), [INFO] [stdout] | ----------------- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `WorkerEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 - FinishedExecution(Duration), [INFO] [stdout] 16 + FinishedExecution(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/cli/init.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | if let Ok(_) = File::open(&self.file_name) { [INFO] [stdout] | -------^^^^^------------------------------ help: try: `if File::open(&self.file_name).is_ok()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | return format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint); [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] 13 - return format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint); [INFO] [stdout] 13 + format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | return format!("Hint: {}", hint); [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] 15 - return format!("Hint: {}", hint); [INFO] [stdout] 15 + format!("Hint: {}", hint) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same postfix: `Error` [INFO] [stdout] --> src/errors.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub enum FzzError { [INFO] [stdout] 23 | | IoConfigError(String, Option), [INFO] [stdout] 24 | | IoStdinError(String, Hint), [INFO] [stdout] 25 | | InvalidConfigError(String, Option, Hint), [INFO] [stdout] ... | [INFO] [stdout] 28 | | GenericError(String), [INFO] [stdout] 29 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/errors.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | format!("{}", msg) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `msg.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 can be `std::io::Error::other(_)` [INFO] [stdout] --> src/logging.rs:23:22 [INFO] [stdout] | [INFO] [stdout] 23 | .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 23 - .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] 23 + .map_err(|_| io::Error::other("logger poisoned"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/logging.rs:47:22 [INFO] [stdout] | [INFO] [stdout] 47 | .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 47 - .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] 47 + .map_err(|_| io::Error::other("logger poisoned"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/rules.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | if None == self.yaml { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `self.yaml.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rules.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | if self.commands().len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.commands().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: length comparison to zero [INFO] [stdout] --> src/rules.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | if self.watch_patterns().len() == 0 && !self.run_on_init() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.watch_patterns().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rules.rs:313:8 [INFO] [stdout] | [INFO] [stdout] 313 | if items.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `items.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rules.rs:587:5 [INFO] [stdout] | [INFO] [stdout] 587 | return Ok(watches); [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] 587 - return Ok(watches); [INFO] [stdout] 587 + Ok(watches) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/rules.rs:565:9 [INFO] [stdout] | [INFO] [stdout] 565 | line_number = line_number + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `line_number += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rules.rs:621:13 [INFO] [stdout] | [INFO] [stdout] 621 | return from_yaml(&content); [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] 621 - return from_yaml(&content); [INFO] [stdout] 621 + from_yaml(&content) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/rules.rs:649:37 [INFO] [stdout] | [INFO] [stdout] 649 | Pattern::new(&compiled_pattern).expect( [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 650 | | &vec![ [INFO] [stdout] 651 | | format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 652 | | vec![ [INFO] [stdout] ... | [INFO] [stdout] 666 | | .join("\n"), [INFO] [stdout] 667 | | ) [INFO] [stdout] | |_____^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 649 ~ Pattern::new(&compiled_pattern).unwrap_or_else(|_| panic!("{}", vec![ [INFO] [stdout] 650 + format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 651 + vec![ [INFO] [stdout] 652 + "", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 661 + ] [INFO] [stdout] 662 + .join("\n") [INFO] [stdout] 663 + .to_string(), [INFO] [stdout] 664 + ] [INFO] [stdout] 665 + .join("\n"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/rules.rs:686:9 [INFO] [stdout] | [INFO] [stdout] 686 | / if let Err(err) = rule.validate() { [INFO] [stdout] 687 | | return Err(err); [INFO] [stdout] 688 | | } [INFO] [stdout] | |_________^ help: replace it with: `rule.validate()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/stdout.rs:91:56 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn print_time_elapsed(elapsed: std::time::Duration) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/stdout.rs:120:43 [INFO] [stdout] | [INFO] [stdout] 120 | let errors: Vec> = results.iter().cloned().filter(|r| r.is_err()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try: `.filter(|&r| r.is_err()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] = note: `#[warn(clippy::iter_overeager_cloned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/stdout.rs:121:21 [INFO] [stdout] | [INFO] [stdout] 121 | let completed = results.iter().cloned().filter(|r| r.is_ok()).count(); [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try: `.filter(|&r| r.is_ok()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/stdout.rs:164:22 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn clear_screen() -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/watches.rs:42:20 [INFO] [stdout] | [INFO] [stdout] 42 | let cmds = self [INFO] [stdout] | ____________________^ [INFO] [stdout] 43 | | .rules [INFO] [stdout] 44 | | .iter() [INFO] [stdout] 45 | | .cloned() [INFO] [stdout] ... | [INFO] [stdout] 63 | | watched_by_absolute || watched_by_relative [INFO] [stdout] 64 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 44 ~ .iter().filter(|&r| { [INFO] [stdout] 45 + let ignored_by_absolute = r.ignore_absolute(absolute_path_str); [INFO] [stdout] 46 + let ignored_by_relative = relative_path [INFO] [stdout] 47 + .as_ref() [INFO] [stdout] 48 + .map(|rel| r.ignore_relative(rel)) [INFO] [stdout] 49 + .unwrap_or(false); [INFO] [stdout] 50 + [INFO] [stdout] 51 + if ignored_by_absolute || ignored_by_relative { [INFO] [stdout] 52 + return false; [INFO] [stdout] 53 + } [INFO] [stdout] 54 + [INFO] [stdout] 55 + let watched_by_absolute = r.watch_absolute(absolute_path_str); [INFO] [stdout] 56 + let watched_by_relative = relative_path [INFO] [stdout] 57 + .as_ref() [INFO] [stdout] 58 + .map(|rel| r.watch_relative(rel)) [INFO] [stdout] 59 + .unwrap_or(false); [INFO] [stdout] 60 + [INFO] [stdout] 61 + watched_by_absolute || watched_by_relative [INFO] [stdout] 62 + }).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/watches.rs:77:20 [INFO] [stdout] | [INFO] [stdout] 77 | let cmds = self [INFO] [stdout] | _____________________^ [INFO] [stdout] 78 | | .rules [INFO] [stdout] 79 | | .iter() [INFO] [stdout] | | ____________________- [INFO] [stdout] 80 | || .cloned() [INFO] [stdout] 81 | || .filter(|r| r.run_on_init()) [INFO] [stdout] | ||________________________________________^ [INFO] [stdout] | |________________________________________| [INFO] [stdout] | help: try: `.filter(|&r| r.run_on_init()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/workers.rs:48:32 [INFO] [stdout] | [INFO] [stdout] 48 | ... && !results.clone().into_iter().find(|r| r.is_err()).is_none()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `results.clone().into_iter().find(|r| r.is_err()).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: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/yaml.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | .map(|i| String::from(i.as_str().unwrap_or_else(|| "_invalid_value_"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 11 - .map(|i| String::from(i.as_str().unwrap_or_else(|| "_invalid_value_"))) [INFO] [stdout] 11 + .map(|i| String::from(i.as_str().unwrap_or("_invalid_value_"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/yaml.rs:18:32 [INFO] [stdout] | [INFO] [stdout] 18 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/yaml.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/main.rs:216:36 [INFO] [stdout] | [INFO] [stdout] 216 | let filtered = rules [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 217 | | .iter() [INFO] [stdout] | | ________________________________- [INFO] [stdout] 218 | || .cloned() [INFO] [stdout] 219 | || .filter(|r| r.name.contains(target)) [INFO] [stdout] | ||____________________________________________________________^ [INFO] [stdout] | |____________________________________________________________| [INFO] [stdout] | help: try: `.filter(|&r| r.name.contains(target)).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/main.rs:318:22 [INFO] [stdout] | [INFO] [stdout] 318 | &vec![ [INFO] [stdout] | ______________________^ [INFO] [stdout] 319 | | "The config file has changed while an instance was running.", [INFO] [stdout] 320 | | &format!("Config file: {}", file_changed), [INFO] [stdout] 321 | | ] [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] 318 ~ &["The config file has changed while an instance was running.", [INFO] [stdout] 319 + &format!("Config file: {}", file_changed)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:163:32 [INFO] [stdout] | [INFO] [stdout] 163 | return Err(vec![ [INFO] [stdout] | ________________________________^ [INFO] [stdout] 164 | | format!( [INFO] [stdout] 165 | | "Rule '{}' contains an invalid `change` glob pattern '{}'.", [INFO] [stdout] 166 | | name, watch_pattern [INFO] [stdout] ... | [INFO] [stdout] 169 | | " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned(), [INFO] [stdout] 170 | | ] [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] 163 ~ return Err([format!( [INFO] [stdout] 164 + "Rule '{}' contains an invalid `change` glob pattern '{}'.", [INFO] [stdout] 165 + name, watch_pattern [INFO] [stdout] 166 + ), [INFO] [stdout] 167 + format!(" {}", err), [INFO] [stdout] 168 + " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:180:32 [INFO] [stdout] | [INFO] [stdout] 180 | return Err(vec![ [INFO] [stdout] | ________________________________^ [INFO] [stdout] 181 | | format!( [INFO] [stdout] 182 | | "Rule '{}' contains an invalid `ignore` glob pattern '{}'.", [INFO] [stdout] 183 | | name, ignore_pattern [INFO] [stdout] ... | [INFO] [stdout] 186 | | " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned(), [INFO] [stdout] 187 | | ] [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] 180 ~ return Err([format!( [INFO] [stdout] 181 + "Rule '{}' contains an invalid `ignore` glob pattern '{}'.", [INFO] [stdout] 182 + name, ignore_pattern [INFO] [stdout] 183 + ), [INFO] [stdout] 184 + format!(" {}", err), [INFO] [stdout] 185 + " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:577:25 [INFO] [stdout] | [INFO] [stdout] 577 | / vec![ [INFO] [stdout] 578 | | "When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 579 | | "The output of command `find` is a good example", [INFO] [stdout] 580 | | ].join("\n"), [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 577 ~ ["When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 578 ~ "The output of command `find` is a good example"].join("\n"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:650:10 [INFO] [stdout] | [INFO] [stdout] 650 | &vec![ [INFO] [stdout] | __________^ [INFO] [stdout] 651 | | format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 652 | | vec![ [INFO] [stdout] 653 | | "", [INFO] [stdout] ... | [INFO] [stdout] 664 | | .to_string(), [INFO] [stdout] 665 | | ] [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] 650 ~ &[format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 651 + vec![ [INFO] [stdout] 652 + "", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 661 + ] [INFO] [stdout] 662 + .join("\n") [INFO] [stdout] 663 + .to_string()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:652:13 [INFO] [stdout] | [INFO] [stdout] 652 | / vec![ [INFO] [stdout] 653 | | "", [INFO] [stdout] 654 | | "Some example of valid patterns: ", [INFO] [stdout] 655 | | " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] ... | [INFO] [stdout] 661 | | " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 662 | | ] [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] 652 ~ ["", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/watcher.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | let warning = &vec![ [INFO] [stdout] | ____________________________^ [INFO] [stdout] 26 | | format!("unknown file/directory: '{}'", path), [INFO] [stdout] 27 | | format!("Different behaviour depending on the OS."), [INFO] [stdout] 28 | | format!("The watcher may not be triggered for this rule."), [INFO] [stdout] 29 | | ] [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] 25 ~ let warning = &[format!("unknown file/directory: '{}'", path), [INFO] [stdout] 26 + format!("Different behaviour depending on the OS."), [INFO] [stdout] 27 + format!("The watcher may not be triggered for this rule.")] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/workers.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | FinishedExecution(Duration), [INFO] [stdout] | ----------------- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `WorkerEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 - FinishedExecution(Duration), [INFO] [stdout] 16 + FinishedExecution(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/cli/init.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | if let Ok(_) = File::open(&self.file_name) { [INFO] [stdout] | -------^^^^^------------------------------ help: try: `if File::open(&self.file_name).is_ok()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | return format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint); [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] 13 - return format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint); [INFO] [stdout] 13 + format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | return format!("Hint: {}", hint); [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] 15 - return format!("Hint: {}", hint); [INFO] [stdout] 15 + format!("Hint: {}", hint) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same postfix: `Error` [INFO] [stdout] --> src/errors.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub enum FzzError { [INFO] [stdout] 23 | | IoConfigError(String, Option), [INFO] [stdout] 24 | | IoStdinError(String, Hint), [INFO] [stdout] 25 | | InvalidConfigError(String, Option, Hint), [INFO] [stdout] ... | [INFO] [stdout] 28 | | GenericError(String), [INFO] [stdout] 29 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/errors.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | format!("{}", msg) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `msg.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 can be `std::io::Error::other(_)` [INFO] [stdout] --> src/logging.rs:23:22 [INFO] [stdout] | [INFO] [stdout] 23 | .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 23 - .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] 23 + .map_err(|_| io::Error::other("logger poisoned"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/logging.rs:47:22 [INFO] [stdout] | [INFO] [stdout] 47 | .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 47 - .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] 47 + .map_err(|_| io::Error::other("logger poisoned"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/rules.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | if None == self.yaml { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `self.yaml.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rules.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | if self.commands().len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.commands().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: length comparison to zero [INFO] [stdout] --> src/rules.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | if self.watch_patterns().len() == 0 && !self.run_on_init() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.watch_patterns().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rules.rs:313:8 [INFO] [stdout] | [INFO] [stdout] 313 | if items.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `items.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rules.rs:587:5 [INFO] [stdout] | [INFO] [stdout] 587 | return Ok(watches); [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] 587 - return Ok(watches); [INFO] [stdout] 587 + Ok(watches) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/rules.rs:565:9 [INFO] [stdout] | [INFO] [stdout] 565 | line_number = line_number + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `line_number += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rules.rs:621:13 [INFO] [stdout] | [INFO] [stdout] 621 | return from_yaml(&content); [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] 621 - return from_yaml(&content); [INFO] [stdout] 621 + from_yaml(&content) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/rules.rs:649:37 [INFO] [stdout] | [INFO] [stdout] 649 | Pattern::new(&compiled_pattern).expect( [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 650 | | &vec![ [INFO] [stdout] 651 | | format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 652 | | vec![ [INFO] [stdout] ... | [INFO] [stdout] 666 | | .join("\n"), [INFO] [stdout] 667 | | ) [INFO] [stdout] | |_____^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 649 ~ Pattern::new(&compiled_pattern).unwrap_or_else(|_| panic!("{}", vec![ [INFO] [stdout] 650 + format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 651 + vec![ [INFO] [stdout] 652 + "", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 661 + ] [INFO] [stdout] 662 + .join("\n") [INFO] [stdout] 663 + .to_string(), [INFO] [stdout] 664 + ] [INFO] [stdout] 665 + .join("\n"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/rules.rs:686:9 [INFO] [stdout] | [INFO] [stdout] 686 | / if let Err(err) = rule.validate() { [INFO] [stdout] 687 | | return Err(err); [INFO] [stdout] 688 | | } [INFO] [stdout] | |_________^ help: replace it with: `rule.validate()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:741:9 [INFO] [stdout] | [INFO] [stdout] 741 | assert_eq!(true, rule.watch("tests/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 741 - assert_eq!(true, rule.watch("tests/foo.rs")); [INFO] [stdout] 741 + assert!(rule.watch("tests/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:744:9 [INFO] [stdout] | [INFO] [stdout] 744 | assert_eq!(true, rule2.watch("src/foo.rsx")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 744 - assert_eq!(true, rule2.watch("src/foo.rsx")); [INFO] [stdout] 744 + assert!(rule2.watch("src/foo.rsx")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:745:9 [INFO] [stdout] | [INFO] [stdout] 745 | assert_eq!(true, rule2.watch("src/bar/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 745 - assert_eq!(true, rule2.watch("src/bar/foo.rs")); [INFO] [stdout] 745 + assert!(rule2.watch("src/bar/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:746:9 [INFO] [stdout] | [INFO] [stdout] 746 | assert_eq!(true, rule2.watch("src/bar/foo.rsx")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 746 - assert_eq!(true, rule2.watch("src/bar/foo.rsx")); [INFO] [stdout] 746 + assert!(rule2.watch("src/bar/foo.rsx")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:747:9 [INFO] [stdout] | [INFO] [stdout] 747 | assert_eq!(true, rule2.watch("src/bar/foo.rs3")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 747 - assert_eq!(true, rule2.watch("src/bar/foo.rs3")); [INFO] [stdout] 747 + assert!(rule2.watch("src/bar/foo.rs3")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:748:9 [INFO] [stdout] | [INFO] [stdout] 748 | assert_eq!(true, rule2.watch("src/bar/foo.rs&")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 748 - assert_eq!(true, rule2.watch("src/bar/foo.rs&")); [INFO] [stdout] 748 + assert!(rule2.watch("src/bar/foo.rs&")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:749:9 [INFO] [stdout] | [INFO] [stdout] 749 | assert_eq!(true, rule2.watch("src/bar/foo.abc")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 749 - assert_eq!(true, rule2.watch("src/bar/foo.abc")); [INFO] [stdout] 749 + assert!(rule2.watch("src/bar/foo.abc")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:750:9 [INFO] [stdout] | [INFO] [stdout] 750 | assert_eq!(true, rule2.watch("src/bar/foo.abx")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 750 - assert_eq!(true, rule2.watch("src/bar/foo.abx")); [INFO] [stdout] 750 + assert!(rule2.watch("src/bar/foo.abx")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:752:9 [INFO] [stdout] | [INFO] [stdout] 752 | assert_eq!(false, rule2.watch("src/bar/foo.ab")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 752 - assert_eq!(false, rule2.watch("src/bar/foo.ab")); [INFO] [stdout] 752 + assert!(!rule2.watch("src/bar/foo.ab")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | assert_eq!(false, rule.watch("tests/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 766 - assert_eq!(false, rule.watch("tests/foo.rs")); [INFO] [stdout] 766 + assert!(!rule.watch("tests/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:825:9 [INFO] [stdout] | [INFO] [stdout] 825 | assert_eq!(true, rule.ignore("tests/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 825 - assert_eq!(true, rule.ignore("tests/foo.rs")); [INFO] [stdout] 825 + assert!(rule.ignore("tests/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:840:9 [INFO] [stdout] | [INFO] [stdout] 840 | assert_eq!(false, rule.ignore("tests/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 840 - assert_eq!(false, rule.ignore("tests/foo.rs")); [INFO] [stdout] 840 + assert!(!rule.ignore("tests/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rules.rs:913:34 [INFO] [stdout] | [INFO] [stdout] 913 | current_dir: format!("{}", "/foo/bar"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"/foo/bar".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/rules.rs:928:34 [INFO] [stdout] | [INFO] [stdout] 928 | current_dir: format!("{}", "/foo/bar"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"/foo/bar".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/rules.rs:962:34 [INFO] [stdout] | [INFO] [stdout] 962 | current_dir: format!("{}", "/foo/bar"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"/foo/bar".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 unit return type [INFO] [stdout] --> src/stdout.rs:91:56 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn print_time_elapsed(elapsed: std::time::Duration) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/stdout.rs:120:43 [INFO] [stdout] | [INFO] [stdout] 120 | let errors: Vec> = results.iter().cloned().filter(|r| r.is_err()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try: `.filter(|&r| r.is_err()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] = note: `#[warn(clippy::iter_overeager_cloned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/stdout.rs:121:21 [INFO] [stdout] | [INFO] [stdout] 121 | let completed = results.iter().cloned().filter(|r| r.is_ok()).count(); [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try: `.filter(|&r| r.is_ok()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/stdout.rs:164:22 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn clear_screen() -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/watches.rs:42:20 [INFO] [stdout] | [INFO] [stdout] 42 | let cmds = self [INFO] [stdout] | ____________________^ [INFO] [stdout] 43 | | .rules [INFO] [stdout] 44 | | .iter() [INFO] [stdout] 45 | | .cloned() [INFO] [stdout] ... | [INFO] [stdout] 63 | | watched_by_absolute || watched_by_relative [INFO] [stdout] 64 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 44 ~ .iter().filter(|&r| { [INFO] [stdout] 45 + let ignored_by_absolute = r.ignore_absolute(absolute_path_str); [INFO] [stdout] 46 + let ignored_by_relative = relative_path [INFO] [stdout] 47 + .as_ref() [INFO] [stdout] 48 + .map(|rel| r.ignore_relative(rel)) [INFO] [stdout] 49 + .unwrap_or(false); [INFO] [stdout] 50 + [INFO] [stdout] 51 + if ignored_by_absolute || ignored_by_relative { [INFO] [stdout] 52 + return false; [INFO] [stdout] 53 + } [INFO] [stdout] 54 + [INFO] [stdout] 55 + let watched_by_absolute = r.watch_absolute(absolute_path_str); [INFO] [stdout] 56 + let watched_by_relative = relative_path [INFO] [stdout] 57 + .as_ref() [INFO] [stdout] 58 + .map(|rel| r.watch_relative(rel)) [INFO] [stdout] 59 + .unwrap_or(false); [INFO] [stdout] 60 + [INFO] [stdout] 61 + watched_by_absolute || watched_by_relative [INFO] [stdout] 62 + }).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/watches.rs:77:20 [INFO] [stdout] | [INFO] [stdout] 77 | let cmds = self [INFO] [stdout] | _____________________^ [INFO] [stdout] 78 | | .rules [INFO] [stdout] 79 | | .iter() [INFO] [stdout] | | ____________________- [INFO] [stdout] 80 | || .cloned() [INFO] [stdout] 81 | || .filter(|r| r.run_on_init()) [INFO] [stdout] | ||________________________________________^ [INFO] [stdout] | |________________________________________| [INFO] [stdout] | help: try: `.filter(|&r| r.run_on_init()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/watches.rs:200:53 [INFO] [stdout] | [INFO] [stdout] 200 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/watches.rs:214:53 [INFO] [stdout] | [INFO] [stdout] 214 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:225:53 [INFO] [stdout] | [INFO] [stdout] 225 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:242:53 [INFO] [stdout] | [INFO] [stdout] 242 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:257:53 [INFO] [stdout] | [INFO] [stdout] 257 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:273:53 [INFO] [stdout] | [INFO] [stdout] 273 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:297:53 [INFO] [stdout] | [INFO] [stdout] 297 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:314:53 [INFO] [stdout] | [INFO] [stdout] 314 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:328:53 [INFO] [stdout] | [INFO] [stdout] 328 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:352:53 [INFO] [stdout] | [INFO] [stdout] 352 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:391:53 [INFO] [stdout] | [INFO] [stdout] 391 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:434:13 [INFO] [stdout] | [INFO] [stdout] 434 | / &r#" [INFO] [stdout] 435 | | - name: run tests [INFO] [stdout] 436 | | run: [ [INFO] [stdout] 437 | | "yarn test {{filepath}}", [INFO] [stdout] 438 | | change: 'src/**' [INFO] [stdout] 439 | | "# [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 434 ~ r#" [INFO] [stdout] 435 + - name: run tests [INFO] [stdout] 436 + run: [ [INFO] [stdout] 437 + "yarn test {{filepath}}", [INFO] [stdout] 438 + change: 'src/**' [INFO] [stdout] 439 + "# [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/watches.rs:444:13 [INFO] [stdout] | [INFO] [stdout] 444 | / &r#" [INFO] [stdout] 445 | | - name: other [INFO] [stdout] 446 | | run: 'cargo test' [INFO] [stdout] 447 | | change: 'test/**' [INFO] [stdout] 448 | | "# [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 444 ~ r#" [INFO] [stdout] 445 + - name: other [INFO] [stdout] 446 + run: 'cargo test' [INFO] [stdout] 447 + change: 'test/**' [INFO] [stdout] 448 + "# [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/workers.rs:48:32 [INFO] [stdout] | [INFO] [stdout] 48 | ... && !results.clone().into_iter().find(|r| r.is_err()).is_none()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `results.clone().into_iter().find(|r| r.is_err()).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: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/yaml.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | .map(|i| String::from(i.as_str().unwrap_or_else(|| "_invalid_value_"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 11 - .map(|i| String::from(i.as_str().unwrap_or_else(|| "_invalid_value_"))) [INFO] [stdout] 11 + .map(|i| String::from(i.as_str().unwrap_or("_invalid_value_"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/yaml.rs:18:32 [INFO] [stdout] | [INFO] [stdout] 18 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/main.rs:216:36 [INFO] [stdout] | [INFO] [stdout] 216 | let filtered = rules [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 217 | | .iter() [INFO] [stdout] | | ________________________________- [INFO] [stdout] 218 | || .cloned() [INFO] [stdout] 219 | || .filter(|r| r.name.contains(target)) [INFO] [stdout] | ||____________________________________________________________^ [INFO] [stdout] | |____________________________________________________________| [INFO] [stdout] | help: try: `.filter(|&r| r.name.contains(target)).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/main.rs:318:22 [INFO] [stdout] | [INFO] [stdout] 318 | &vec![ [INFO] [stdout] | ______________________^ [INFO] [stdout] 319 | | "The config file has changed while an instance was running.", [INFO] [stdout] 320 | | &format!("Config file: {}", file_changed), [INFO] [stdout] 321 | | ] [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] 318 ~ &["The config file has changed while an instance was running.", [INFO] [stdout] 319 + &format!("Config file: {}", file_changed)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:163:32 [INFO] [stdout] | [INFO] [stdout] 163 | return Err(vec![ [INFO] [stdout] | ________________________________^ [INFO] [stdout] 164 | | format!( [INFO] [stdout] 165 | | "Rule '{}' contains an invalid `change` glob pattern '{}'.", [INFO] [stdout] 166 | | name, watch_pattern [INFO] [stdout] ... | [INFO] [stdout] 169 | | " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned(), [INFO] [stdout] 170 | | ] [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] 163 ~ return Err([format!( [INFO] [stdout] 164 + "Rule '{}' contains an invalid `change` glob pattern '{}'.", [INFO] [stdout] 165 + name, watch_pattern [INFO] [stdout] 166 + ), [INFO] [stdout] 167 + format!(" {}", err), [INFO] [stdout] 168 + " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:180:32 [INFO] [stdout] | [INFO] [stdout] 180 | return Err(vec![ [INFO] [stdout] | ________________________________^ [INFO] [stdout] 181 | | format!( [INFO] [stdout] 182 | | "Rule '{}' contains an invalid `ignore` glob pattern '{}'.", [INFO] [stdout] 183 | | name, ignore_pattern [INFO] [stdout] ... | [INFO] [stdout] 186 | | " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned(), [INFO] [stdout] 187 | | ] [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] 180 ~ return Err([format!( [INFO] [stdout] 181 + "Rule '{}' contains an invalid `ignore` glob pattern '{}'.", [INFO] [stdout] 182 + name, ignore_pattern [INFO] [stdout] 183 + ), [INFO] [stdout] 184 + format!(" {}", err), [INFO] [stdout] 185 + " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:577:25 [INFO] [stdout] | [INFO] [stdout] 577 | / vec![ [INFO] [stdout] 578 | | "When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 579 | | "The output of command `find` is a good example", [INFO] [stdout] 580 | | ].join("\n"), [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 577 ~ ["When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 578 ~ "The output of command `find` is a good example"].join("\n"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:650:10 [INFO] [stdout] | [INFO] [stdout] 650 | &vec![ [INFO] [stdout] | __________^ [INFO] [stdout] 651 | | format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 652 | | vec![ [INFO] [stdout] 653 | | "", [INFO] [stdout] ... | [INFO] [stdout] 664 | | .to_string(), [INFO] [stdout] 665 | | ] [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] 650 ~ &[format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 651 + vec![ [INFO] [stdout] 652 + "", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 661 + ] [INFO] [stdout] 662 + .join("\n") [INFO] [stdout] 663 + .to_string()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:652:13 [INFO] [stdout] | [INFO] [stdout] 652 | / vec![ [INFO] [stdout] 653 | | "", [INFO] [stdout] 654 | | "Some example of valid patterns: ", [INFO] [stdout] 655 | | " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] ... | [INFO] [stdout] 661 | | " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 662 | | ] [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] 652 ~ ["", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:991:13 [INFO] [stdout] | [INFO] [stdout] 991 | / vec![ [INFO] [stdout] 992 | | "name: my tests", [INFO] [stdout] 993 | | "run: cargo tests {{filepath}}", [INFO] [stdout] 994 | | "change: tests/**", [INFO] [stdout] 995 | | "run_on_init: true", [INFO] [stdout] 996 | | ] [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] 991 ~ ["name: my tests", [INFO] [stdout] 992 + "run: cargo tests {{filepath}}", [INFO] [stdout] 993 + "change: tests/**", [INFO] [stdout] 994 + "run_on_init: true"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:1019:13 [INFO] [stdout] | [INFO] [stdout] 1019 | / vec![ [INFO] [stdout] 1020 | | "Failed to load configuration at line:", [INFO] [stdout] 1021 | | "| run: 'cargo tests'", [INFO] [stdout] 1022 | | "|> change: **/*", [INFO] [stdout] ... | [INFO] [stdout] 1025 | | "Hint: Check for wrong types, any missing quotes for glob pattern or incorrect identation", [INFO] [stdout] 1026 | | ] [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] 1019 ~ ["Failed to load configuration at line:", [INFO] [stdout] 1020 + "| run: 'cargo tests'", [INFO] [stdout] 1021 + "|> change: **/*", [INFO] [stdout] 1022 + "| ", [INFO] [stdout] 1023 + "Reason: while scanning an anchor or alias, did not find expected alphabetic or numeric character at line 8 column 19", [INFO] [stdout] 1024 + "Hint: Check for wrong types, any missing quotes for glob pattern or incorrect identation"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:1037:13 [INFO] [stdout] | [INFO] [stdout] 1037 | / vec![ [INFO] [stdout] 1038 | | "Configuration file is invalid! There are no rules to watch", [INFO] [stdout] 1039 | | "Hint: Make sure to declare at least one rule. Try to run `fzz init` to generate a new configuration from scratch", [INFO] [stdout] 1040 | | ] [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] 1037 ~ ["Configuration file is invalid! There are no rules to watch", [INFO] [stdout] 1038 + "Hint: Make sure to declare at least one rule. Try to run `fzz init` to generate a new configuration from scratch"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:1054:13 [INFO] [stdout] | [INFO] [stdout] 1054 | / vec![ [INFO] [stdout] 1055 | | "Configuration file is invalid. When using the 'on' format, you must provide a 'tasks' array", [INFO] [stdout] 1056 | | "Hint: Example:", [INFO] [stdout] 1057 | | "on:", [INFO] [stdout] ... | [INFO] [stdout] 1061 | | " run: cargo build", [INFO] [stdout] 1062 | | ] [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] 1054 ~ ["Configuration file is invalid. When using the 'on' format, you must provide a 'tasks' array", [INFO] [stdout] 1055 + "Hint: Example:", [INFO] [stdout] 1056 + "on:", [INFO] [stdout] 1057 + " change: [\"src/**\"]", [INFO] [stdout] 1058 + "tasks:", [INFO] [stdout] 1059 + " - name: build", [INFO] [stdout] 1060 + " run: cargo build"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/watcher.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | let warning = &vec![ [INFO] [stdout] | ____________________________^ [INFO] [stdout] 26 | | format!("unknown file/directory: '{}'", path), [INFO] [stdout] 27 | | format!("Different behaviour depending on the OS."), [INFO] [stdout] 28 | | format!("The watcher may not be triggered for this rule."), [INFO] [stdout] 29 | | ] [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] 25 ~ let warning = &[format!("unknown file/directory: '{}'", path), [INFO] [stdout] 26 + format!("Different behaviour depending on the OS."), [INFO] [stdout] 27 + format!("The watcher may not be triggered for this rule.")] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/workers.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | FinishedExecution(Duration), [INFO] [stdout] | ----------------- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `WorkerEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 - FinishedExecution(Duration), [INFO] [stdout] 16 + FinishedExecution(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/cli/init.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | if let Ok(_) = File::open(&self.file_name) { [INFO] [stdout] | -------^^^^^------------------------------ help: try: `if File::open(&self.file_name).is_ok()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | return format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint); [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] 13 - return format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint); [INFO] [stdout] 13 + format!("{}Hint{}: {}", stdout::BLUE, stdout::RESET, hint) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | return format!("Hint: {}", hint); [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] 15 - return format!("Hint: {}", hint); [INFO] [stdout] 15 + format!("Hint: {}", hint) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same postfix: `Error` [INFO] [stdout] --> src/errors.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub enum FzzError { [INFO] [stdout] 23 | | IoConfigError(String, Option), [INFO] [stdout] 24 | | IoStdinError(String, Hint), [INFO] [stdout] 25 | | InvalidConfigError(String, Option, Hint), [INFO] [stdout] ... | [INFO] [stdout] 28 | | GenericError(String), [INFO] [stdout] 29 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/errors.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | format!("{}", msg) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `msg.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 can be `std::io::Error::other(_)` [INFO] [stdout] --> src/logging.rs:23:22 [INFO] [stdout] | [INFO] [stdout] 23 | .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 23 - .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] 23 + .map_err(|_| io::Error::other("logger poisoned"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/logging.rs:47:22 [INFO] [stdout] | [INFO] [stdout] 47 | .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 47 - .map_err(|_| io::Error::new(io::ErrorKind::Other, "logger poisoned"))?; [INFO] [stdout] 47 + .map_err(|_| io::Error::other("logger poisoned"))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/rules.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | if None == self.yaml { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `self.yaml.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rules.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | if self.commands().len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.commands().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: length comparison to zero [INFO] [stdout] --> src/rules.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | if self.watch_patterns().len() == 0 && !self.run_on_init() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.watch_patterns().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rules.rs:313:8 [INFO] [stdout] | [INFO] [stdout] 313 | if items.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `items.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rules.rs:587:5 [INFO] [stdout] | [INFO] [stdout] 587 | return Ok(watches); [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] 587 - return Ok(watches); [INFO] [stdout] 587 + Ok(watches) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/rules.rs:565:9 [INFO] [stdout] | [INFO] [stdout] 565 | line_number = line_number + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `line_number += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rules.rs:621:13 [INFO] [stdout] | [INFO] [stdout] 621 | return from_yaml(&content); [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] 621 - return from_yaml(&content); [INFO] [stdout] 621 + from_yaml(&content) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/rules.rs:649:37 [INFO] [stdout] | [INFO] [stdout] 649 | Pattern::new(&compiled_pattern).expect( [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 650 | | &vec![ [INFO] [stdout] 651 | | format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 652 | | vec![ [INFO] [stdout] ... | [INFO] [stdout] 666 | | .join("\n"), [INFO] [stdout] 667 | | ) [INFO] [stdout] | |_____^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 649 ~ Pattern::new(&compiled_pattern).unwrap_or_else(|_| panic!("{}", vec![ [INFO] [stdout] 650 + format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 651 + vec![ [INFO] [stdout] 652 + "", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 661 + ] [INFO] [stdout] 662 + .join("\n") [INFO] [stdout] 663 + .to_string(), [INFO] [stdout] 664 + ] [INFO] [stdout] 665 + .join("\n"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/rules.rs:686:9 [INFO] [stdout] | [INFO] [stdout] 686 | / if let Err(err) = rule.validate() { [INFO] [stdout] 687 | | return Err(err); [INFO] [stdout] 688 | | } [INFO] [stdout] | |_________^ help: replace it with: `rule.validate()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:741:9 [INFO] [stdout] | [INFO] [stdout] 741 | assert_eq!(true, rule.watch("tests/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 741 - assert_eq!(true, rule.watch("tests/foo.rs")); [INFO] [stdout] 741 + assert!(rule.watch("tests/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:744:9 [INFO] [stdout] | [INFO] [stdout] 744 | assert_eq!(true, rule2.watch("src/foo.rsx")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 744 - assert_eq!(true, rule2.watch("src/foo.rsx")); [INFO] [stdout] 744 + assert!(rule2.watch("src/foo.rsx")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:745:9 [INFO] [stdout] | [INFO] [stdout] 745 | assert_eq!(true, rule2.watch("src/bar/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 745 - assert_eq!(true, rule2.watch("src/bar/foo.rs")); [INFO] [stdout] 745 + assert!(rule2.watch("src/bar/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:746:9 [INFO] [stdout] | [INFO] [stdout] 746 | assert_eq!(true, rule2.watch("src/bar/foo.rsx")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 746 - assert_eq!(true, rule2.watch("src/bar/foo.rsx")); [INFO] [stdout] 746 + assert!(rule2.watch("src/bar/foo.rsx")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:747:9 [INFO] [stdout] | [INFO] [stdout] 747 | assert_eq!(true, rule2.watch("src/bar/foo.rs3")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 747 - assert_eq!(true, rule2.watch("src/bar/foo.rs3")); [INFO] [stdout] 747 + assert!(rule2.watch("src/bar/foo.rs3")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:748:9 [INFO] [stdout] | [INFO] [stdout] 748 | assert_eq!(true, rule2.watch("src/bar/foo.rs&")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 748 - assert_eq!(true, rule2.watch("src/bar/foo.rs&")); [INFO] [stdout] 748 + assert!(rule2.watch("src/bar/foo.rs&")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:749:9 [INFO] [stdout] | [INFO] [stdout] 749 | assert_eq!(true, rule2.watch("src/bar/foo.abc")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 749 - assert_eq!(true, rule2.watch("src/bar/foo.abc")); [INFO] [stdout] 749 + assert!(rule2.watch("src/bar/foo.abc")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:750:9 [INFO] [stdout] | [INFO] [stdout] 750 | assert_eq!(true, rule2.watch("src/bar/foo.abx")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 750 - assert_eq!(true, rule2.watch("src/bar/foo.abx")); [INFO] [stdout] 750 + assert!(rule2.watch("src/bar/foo.abx")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:752:9 [INFO] [stdout] | [INFO] [stdout] 752 | assert_eq!(false, rule2.watch("src/bar/foo.ab")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 752 - assert_eq!(false, rule2.watch("src/bar/foo.ab")); [INFO] [stdout] 752 + assert!(!rule2.watch("src/bar/foo.ab")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | assert_eq!(false, rule.watch("tests/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 766 - assert_eq!(false, rule.watch("tests/foo.rs")); [INFO] [stdout] 766 + assert!(!rule.watch("tests/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:825:9 [INFO] [stdout] | [INFO] [stdout] 825 | assert_eq!(true, rule.ignore("tests/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 825 - assert_eq!(true, rule.ignore("tests/foo.rs")); [INFO] [stdout] 825 + assert!(rule.ignore("tests/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rules.rs:840:9 [INFO] [stdout] | [INFO] [stdout] 840 | assert_eq!(false, rule.ignore("tests/foo.rs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 840 - assert_eq!(false, rule.ignore("tests/foo.rs")); [INFO] [stdout] 840 + assert!(!rule.ignore("tests/foo.rs")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/rules.rs:913:34 [INFO] [stdout] | [INFO] [stdout] 913 | current_dir: format!("{}", "/foo/bar"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"/foo/bar".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/rules.rs:928:34 [INFO] [stdout] | [INFO] [stdout] 928 | current_dir: format!("{}", "/foo/bar"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"/foo/bar".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/rules.rs:962:34 [INFO] [stdout] | [INFO] [stdout] 962 | current_dir: format!("{}", "/foo/bar"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"/foo/bar".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 unit return type [INFO] [stdout] --> src/stdout.rs:91:56 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn print_time_elapsed(elapsed: std::time::Duration) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/stdout.rs:120:43 [INFO] [stdout] | [INFO] [stdout] 120 | let errors: Vec> = results.iter().cloned().filter(|r| r.is_err()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try: `.filter(|&r| r.is_err()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] = note: `#[warn(clippy::iter_overeager_cloned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/stdout.rs:121:21 [INFO] [stdout] | [INFO] [stdout] 121 | let completed = results.iter().cloned().filter(|r| r.is_ok()).count(); [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try: `.filter(|&r| r.is_ok()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/stdout.rs:164:22 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn clear_screen() -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/watches.rs:42:20 [INFO] [stdout] | [INFO] [stdout] 42 | let cmds = self [INFO] [stdout] | ____________________^ [INFO] [stdout] 43 | | .rules [INFO] [stdout] 44 | | .iter() [INFO] [stdout] 45 | | .cloned() [INFO] [stdout] ... | [INFO] [stdout] 63 | | watched_by_absolute || watched_by_relative [INFO] [stdout] 64 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 44 ~ .iter().filter(|&r| { [INFO] [stdout] 45 + let ignored_by_absolute = r.ignore_absolute(absolute_path_str); [INFO] [stdout] 46 + let ignored_by_relative = relative_path [INFO] [stdout] 47 + .as_ref() [INFO] [stdout] 48 + .map(|rel| r.ignore_relative(rel)) [INFO] [stdout] 49 + .unwrap_or(false); [INFO] [stdout] 50 + [INFO] [stdout] 51 + if ignored_by_absolute || ignored_by_relative { [INFO] [stdout] 52 + return false; [INFO] [stdout] 53 + } [INFO] [stdout] 54 + [INFO] [stdout] 55 + let watched_by_absolute = r.watch_absolute(absolute_path_str); [INFO] [stdout] 56 + let watched_by_relative = relative_path [INFO] [stdout] 57 + .as_ref() [INFO] [stdout] 58 + .map(|rel| r.watch_relative(rel)) [INFO] [stdout] 59 + .unwrap_or(false); [INFO] [stdout] 60 + [INFO] [stdout] 61 + watched_by_absolute || watched_by_relative [INFO] [stdout] 62 + }).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/watches.rs:77:20 [INFO] [stdout] | [INFO] [stdout] 77 | let cmds = self [INFO] [stdout] | _____________________^ [INFO] [stdout] 78 | | .rules [INFO] [stdout] 79 | | .iter() [INFO] [stdout] | | ____________________- [INFO] [stdout] 80 | || .cloned() [INFO] [stdout] 81 | || .filter(|r| r.run_on_init()) [INFO] [stdout] | ||________________________________________^ [INFO] [stdout] | |________________________________________| [INFO] [stdout] | help: try: `.filter(|&r| r.run_on_init()).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/watches.rs:200:53 [INFO] [stdout] | [INFO] [stdout] 200 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/watches.rs:214:53 [INFO] [stdout] | [INFO] [stdout] 214 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:225:53 [INFO] [stdout] | [INFO] [stdout] 225 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:242:53 [INFO] [stdout] | [INFO] [stdout] 242 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:257:53 [INFO] [stdout] | [INFO] [stdout] 257 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:273:53 [INFO] [stdout] | [INFO] [stdout] 273 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:297:53 [INFO] [stdout] | [INFO] [stdout] 297 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:314:53 [INFO] [stdout] | [INFO] [stdout] 314 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:328:53 [INFO] [stdout] | [INFO] [stdout] 328 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:352:53 [INFO] [stdout] | [INFO] [stdout] 352 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:391:53 [INFO] [stdout] | [INFO] [stdout] 391 | let watches = Watches::new(rules::from_yaml(&file_content).expect("Error parsing yaml")); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `file_content` [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/watches.rs:434:13 [INFO] [stdout] | [INFO] [stdout] 434 | / &r#" [INFO] [stdout] 435 | | - name: run tests [INFO] [stdout] 436 | | run: [ [INFO] [stdout] 437 | | "yarn test {{filepath}}", [INFO] [stdout] 438 | | change: 'src/**' [INFO] [stdout] 439 | | "# [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 434 ~ r#" [INFO] [stdout] 435 + - name: run tests [INFO] [stdout] 436 + run: [ [INFO] [stdout] 437 + "yarn test {{filepath}}", [INFO] [stdout] 438 + change: 'src/**' [INFO] [stdout] 439 + "# [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/watches.rs:444:13 [INFO] [stdout] | [INFO] [stdout] 444 | / &r#" [INFO] [stdout] 445 | | - name: other [INFO] [stdout] 446 | | run: 'cargo test' [INFO] [stdout] 447 | | change: 'test/**' [INFO] [stdout] 448 | | "# [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 444 ~ r#" [INFO] [stdout] 445 + - name: other [INFO] [stdout] 446 + run: 'cargo test' [INFO] [stdout] 447 + change: 'test/**' [INFO] [stdout] 448 + "# [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/workers.rs:48:32 [INFO] [stdout] | [INFO] [stdout] 48 | ... && !results.clone().into_iter().find(|r| r.is_err()).is_none()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `results.clone().into_iter().find(|r| r.is_err()).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: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/yaml.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | .map(|i| String::from(i.as_str().unwrap_or_else(|| "_invalid_value_"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 11 - .map(|i| String::from(i.as_str().unwrap_or_else(|| "_invalid_value_"))) [INFO] [stdout] 11 + .map(|i| String::from(i.as_str().unwrap_or("_invalid_value_"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/yaml.rs:18:32 [INFO] [stdout] | [INFO] [stdout] 18 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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/yaml.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | yaml_to_string(&yaml, 0), [INFO] [stdout] | ^^^^^ help: change this to: `yaml` [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: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/main.rs:216:36 [INFO] [stdout] | [INFO] [stdout] 216 | let filtered = rules [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 217 | | .iter() [INFO] [stdout] | | ________________________________- [INFO] [stdout] 218 | || .cloned() [INFO] [stdout] 219 | || .filter(|r| r.name.contains(target)) [INFO] [stdout] | ||____________________________________________________________^ [INFO] [stdout] | |____________________________________________________________| [INFO] [stdout] | help: try: `.filter(|&r| r.name.contains(target)).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/main.rs:318:22 [INFO] [stdout] | [INFO] [stdout] 318 | &vec![ [INFO] [stdout] | ______________________^ [INFO] [stdout] 319 | | "The config file has changed while an instance was running.", [INFO] [stdout] 320 | | &format!("Config file: {}", file_changed), [INFO] [stdout] 321 | | ] [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] 318 ~ &["The config file has changed while an instance was running.", [INFO] [stdout] 319 + &format!("Config file: {}", file_changed)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:163:32 [INFO] [stdout] | [INFO] [stdout] 163 | return Err(vec![ [INFO] [stdout] | ________________________________^ [INFO] [stdout] 164 | | format!( [INFO] [stdout] 165 | | "Rule '{}' contains an invalid `change` glob pattern '{}'.", [INFO] [stdout] 166 | | name, watch_pattern [INFO] [stdout] ... | [INFO] [stdout] 169 | | " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned(), [INFO] [stdout] 170 | | ] [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] 163 ~ return Err([format!( [INFO] [stdout] 164 + "Rule '{}' contains an invalid `change` glob pattern '{}'.", [INFO] [stdout] 165 + name, watch_pattern [INFO] [stdout] 166 + ), [INFO] [stdout] 167 + format!(" {}", err), [INFO] [stdout] 168 + " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:180:32 [INFO] [stdout] | [INFO] [stdout] 180 | return Err(vec![ [INFO] [stdout] | ________________________________^ [INFO] [stdout] 181 | | format!( [INFO] [stdout] 182 | | "Rule '{}' contains an invalid `ignore` glob pattern '{}'.", [INFO] [stdout] 183 | | name, ignore_pattern [INFO] [stdout] ... | [INFO] [stdout] 186 | | " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned(), [INFO] [stdout] 187 | | ] [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] 180 ~ return Err([format!( [INFO] [stdout] 181 + "Rule '{}' contains an invalid `ignore` glob pattern '{}'.", [INFO] [stdout] 182 + name, ignore_pattern [INFO] [stdout] 183 + ), [INFO] [stdout] 184 + format!(" {}", err), [INFO] [stdout] 185 + " Read more: https://en.wikipedia.org/wiki/Glob_(programming)".to_owned()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:577:25 [INFO] [stdout] | [INFO] [stdout] 577 | / vec![ [INFO] [stdout] 578 | | "When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 579 | | "The output of command `find` is a good example", [INFO] [stdout] 580 | | ].join("\n"), [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 577 ~ ["When using stdin, make sure to provide a list of valid files or directories.", [INFO] [stdout] 578 ~ "The output of command `find` is a good example"].join("\n"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:650:10 [INFO] [stdout] | [INFO] [stdout] 650 | &vec![ [INFO] [stdout] | __________^ [INFO] [stdout] 651 | | format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 652 | | vec![ [INFO] [stdout] 653 | | "", [INFO] [stdout] ... | [INFO] [stdout] 664 | | .to_string(), [INFO] [stdout] 665 | | ] [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] 650 ~ &[format!("Invalid glob pattern {}", pattern), [INFO] [stdout] 651 + vec![ [INFO] [stdout] 652 + "", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 661 + ] [INFO] [stdout] 662 + .join("\n") [INFO] [stdout] 663 + .to_string()] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:652:13 [INFO] [stdout] | [INFO] [stdout] 652 | / vec![ [INFO] [stdout] 653 | | "", [INFO] [stdout] 654 | | "Some example of valid patterns: ", [INFO] [stdout] 655 | | " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] ... | [INFO] [stdout] 661 | | " foo? - Matches foot or foo$ but not fools", [INFO] [stdout] 662 | | ] [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] 652 ~ ["", [INFO] [stdout] 653 + "Some example of valid patterns: ", [INFO] [stdout] 654 + " foo/**/* - Matches any file of any subfolder of foo", [INFO] [stdout] 655 + " * - Matches any string, of any length", [INFO] [stdout] 656 + " foo* - Matches any string beginning with foo", [INFO] [stdout] 657 + " *x* - Matches any string containing an x", [INFO] [stdout] 658 + " *.tar.gz - Matches any string ending with .tar.gz", [INFO] [stdout] 659 + " *.[ch] - Matches any string ending with .c or .h", [INFO] [stdout] 660 + " foo? - Matches foot or foo$ but not fools"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:991:13 [INFO] [stdout] | [INFO] [stdout] 991 | / vec![ [INFO] [stdout] 992 | | "name: my tests", [INFO] [stdout] 993 | | "run: cargo tests {{filepath}}", [INFO] [stdout] 994 | | "change: tests/**", [INFO] [stdout] 995 | | "run_on_init: true", [INFO] [stdout] 996 | | ] [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] 991 ~ ["name: my tests", [INFO] [stdout] 992 + "run: cargo tests {{filepath}}", [INFO] [stdout] 993 + "change: tests/**", [INFO] [stdout] 994 + "run_on_init: true"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:1019:13 [INFO] [stdout] | [INFO] [stdout] 1019 | / vec![ [INFO] [stdout] 1020 | | "Failed to load configuration at line:", [INFO] [stdout] 1021 | | "| run: 'cargo tests'", [INFO] [stdout] 1022 | | "|> change: **/*", [INFO] [stdout] ... | [INFO] [stdout] 1025 | | "Hint: Check for wrong types, any missing quotes for glob pattern or incorrect identation", [INFO] [stdout] 1026 | | ] [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] 1019 ~ ["Failed to load configuration at line:", [INFO] [stdout] 1020 + "| run: 'cargo tests'", [INFO] [stdout] 1021 + "|> change: **/*", [INFO] [stdout] 1022 + "| ", [INFO] [stdout] 1023 + "Reason: while scanning an anchor or alias, did not find expected alphabetic or numeric character at line 8 column 19", [INFO] [stdout] 1024 + "Hint: Check for wrong types, any missing quotes for glob pattern or incorrect identation"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:1037:13 [INFO] [stdout] | [INFO] [stdout] 1037 | / vec![ [INFO] [stdout] 1038 | | "Configuration file is invalid! There are no rules to watch", [INFO] [stdout] 1039 | | "Hint: Make sure to declare at least one rule. Try to run `fzz init` to generate a new configuration from scratch", [INFO] [stdout] 1040 | | ] [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] 1037 ~ ["Configuration file is invalid! There are no rules to watch", [INFO] [stdout] 1038 + "Hint: Make sure to declare at least one rule. Try to run `fzz init` to generate a new configuration from scratch"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/rules.rs:1054:13 [INFO] [stdout] | [INFO] [stdout] 1054 | / vec![ [INFO] [stdout] 1055 | | "Configuration file is invalid. When using the 'on' format, you must provide a 'tasks' array", [INFO] [stdout] 1056 | | "Hint: Example:", [INFO] [stdout] 1057 | | "on:", [INFO] [stdout] ... | [INFO] [stdout] 1061 | | " run: cargo build", [INFO] [stdout] 1062 | | ] [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] 1054 ~ ["Configuration file is invalid. When using the 'on' format, you must provide a 'tasks' array", [INFO] [stdout] 1055 + "Hint: Example:", [INFO] [stdout] 1056 + "on:", [INFO] [stdout] 1057 + " change: [\"src/**\"]", [INFO] [stdout] 1058 + "tasks:", [INFO] [stdout] 1059 + " - name: build", [INFO] [stdout] 1060 + " run: cargo build"] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/watcher.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | let warning = &vec![ [INFO] [stdout] | ____________________________^ [INFO] [stdout] 26 | | format!("unknown file/directory: '{}'", path), [INFO] [stdout] 27 | | format!("Different behaviour depending on the OS."), [INFO] [stdout] 28 | | format!("The watcher may not be triggered for this rule."), [INFO] [stdout] 29 | | ] [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] 25 ~ let warning = &[format!("unknown file/directory: '{}'", path), [INFO] [stdout] 26 + format!("Different behaviour depending on the OS."), [INFO] [stdout] 27 + format!("The watcher may not be triggered for this rule.")] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.33s [INFO] running `Command { std: "docker" "inspect" "678aad7f48b8ea46260b8f34febc0d4265ef1c09f9c22a42c1febaabd9cd48b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "678aad7f48b8ea46260b8f34febc0d4265ef1c09f9c22a42c1febaabd9cd48b5", kill_on_drop: false }` [INFO] [stdout] 678aad7f48b8ea46260b8f34febc0d4265ef1c09f9c22a42c1febaabd9cd48b5