[INFO] crate shush 0.2.2 is already in cache [INFO] extracting crate shush 0.2.2 into work/ex/clippy-test-run/sources/stable/reg/shush/0.2.2 [INFO] extracting crate shush 0.2.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/shush/0.2.2 [INFO] validating manifest of shush-0.2.2 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of shush-0.2.2 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing shush-0.2.2 [INFO] finished frobbing shush-0.2.2 [INFO] frobbed toml for shush-0.2.2 written to work/ex/clippy-test-run/sources/stable/reg/shush/0.2.2/Cargo.toml [INFO] started frobbing shush-0.2.2 [INFO] finished frobbing shush-0.2.2 [INFO] frobbed toml for shush-0.2.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/shush/0.2.2/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting shush-0.2.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/shush/0.2.2:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 581c53b21ba1bce029ee5960f3bb4d4a4dffbf5ff6646613ba313426ecb9ba8d [INFO] running `"docker" "start" "-a" "581c53b21ba1bce029ee5960f3bb4d4a4dffbf5ff6646613ba313426ecb9ba8d"` [INFO] [stderr] Checking rust-ini v0.10.3 [INFO] [stderr] Checking shush v0.2.2 (/opt/crater/workdir) [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/opts.rs:145:34 [INFO] [stderr] | [INFO] [stderr] 145 | ShushOpts::Silence { checks: _, ref mut resource, expire: _ } => resource, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/opts.rs:145:63 [INFO] [stderr] | [INFO] [stderr] 145 | ShushOpts::Silence { checks: _, ref mut resource, expire: _ } => resource, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Silence { ref mut resource, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/opts.rs:146:32 [INFO] [stderr] | [INFO] [stderr] 146 | ShushOpts::Clear { checks: _, ref mut resource, } => resource, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Clear { ref mut resource, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/opts.rs:163:24 [INFO] [stderr] | [INFO] [stderr] 163 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 164 | | if let Some(ref s) = set { [INFO] [stderr] 165 | | if s.contains(item) { [INFO] [stderr] 166 | | true [INFO] [stderr] ... | [INFO] [stderr] 174 | | } [INFO] [stderr] 175 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 163 | } else if let Some(ref s) = set { [INFO] [stderr] 164 | if s.contains(item) { [INFO] [stderr] 165 | true [INFO] [stderr] 166 | } else { [INFO] [stderr] 167 | println!("You may have misspelled a subscription name"); [INFO] [stderr] 168 | println!("\tSubscription {} not found - verify that you silenced what you want\n", item); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/opts.rs:183:50 [INFO] [stderr] | [INFO] [stderr] 183 | ShushOpts::Silence { ref mut checks, resource: _, expire: _ } => checks, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/opts.rs:183:63 [INFO] [stderr] | [INFO] [stderr] 183 | ShushOpts::Silence { ref mut checks, resource: _, expire: _ } => checks, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Silence { ref mut checks, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/opts.rs:184:48 [INFO] [stderr] | [INFO] [stderr] 184 | ShushOpts::Clear { ref mut checks, resource: _, } => checks, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Clear { ref mut checks, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/opts.rs:350:13 [INFO] [stderr] | [INFO] [stderr] 350 | ShushOpts::List { sub: _, chk: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `List { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/opts.rs:535:12 [INFO] [stderr] | [INFO] [stderr] 535 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 536 | | if let (None, None, None, None) = [INFO] [stderr] 537 | | (n_opt.as_ref(), i_opt.as_ref(), s_opt.as_ref(), c_opt.as_ref()) { [INFO] [stderr] 538 | | println!("Must specify at least -n, -i, -s or -c"); [INFO] [stderr] ... | [INFO] [stderr] 549 | | } [INFO] [stderr] 550 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 535 | } else if let (None, None, None, None) = [INFO] [stderr] 536 | (n_opt.as_ref(), i_opt.as_ref(), s_opt.as_ref(), c_opt.as_ref()) { [INFO] [stderr] 537 | println!("Must specify at least -n, -i, -s or -c"); [INFO] [stderr] 538 | process::exit(1); [INFO] [stderr] 539 | } else if check_resource_count(&n_opt, &i_opt, &s_opt) { [INFO] [stderr] 540 | println!("Must specify only one of the following: -n, -s, or -i"); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/main.rs:268:9 [INFO] [stderr] | [INFO] [stderr] 268 | ShushOpts::Silence { resource: _, checks: _, expire: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Silence { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/main.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | ShushOpts::Clear { resource: _, checks: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Clear { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/opts.rs:145:34 [INFO] [stderr] | [INFO] [stderr] 145 | ShushOpts::Silence { checks: _, ref mut resource, expire: _ } => resource, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/opts.rs:145:63 [INFO] [stderr] | [INFO] [stderr] 145 | ShushOpts::Silence { checks: _, ref mut resource, expire: _ } => resource, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Silence { ref mut resource, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/opts.rs:146:32 [INFO] [stderr] | [INFO] [stderr] 146 | ShushOpts::Clear { checks: _, ref mut resource, } => resource, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Clear { ref mut resource, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/opts.rs:163:24 [INFO] [stderr] | [INFO] [stderr] 163 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 164 | | if let Some(ref s) = set { [INFO] [stderr] 165 | | if s.contains(item) { [INFO] [stderr] 166 | | true [INFO] [stderr] ... | [INFO] [stderr] 174 | | } [INFO] [stderr] 175 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 163 | } else if let Some(ref s) = set { [INFO] [stderr] 164 | if s.contains(item) { [INFO] [stderr] 165 | true [INFO] [stderr] 166 | } else { [INFO] [stderr] 167 | println!("You may have misspelled a subscription name"); [INFO] [stderr] 168 | println!("\tSubscription {} not found - verify that you silenced what you want\n", item); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/opts.rs:183:50 [INFO] [stderr] | [INFO] [stderr] 183 | ShushOpts::Silence { ref mut checks, resource: _, expire: _ } => checks, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/opts.rs:183:63 [INFO] [stderr] | [INFO] [stderr] 183 | ShushOpts::Silence { ref mut checks, resource: _, expire: _ } => checks, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Silence { ref mut checks, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/opts.rs:184:48 [INFO] [stderr] | [INFO] [stderr] 184 | ShushOpts::Clear { ref mut checks, resource: _, } => checks, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Clear { ref mut checks, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/opts.rs:350:13 [INFO] [stderr] | [INFO] [stderr] 350 | ShushOpts::List { sub: _, chk: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `List { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/opts.rs:535:12 [INFO] [stderr] | [INFO] [stderr] 535 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 536 | | if let (None, None, None, None) = [INFO] [stderr] 537 | | (n_opt.as_ref(), i_opt.as_ref(), s_opt.as_ref(), c_opt.as_ref()) { [INFO] [stderr] 538 | | println!("Must specify at least -n, -i, -s or -c"); [INFO] [stderr] ... | [INFO] [stderr] 549 | | } [INFO] [stderr] 550 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 535 | } else if let (None, None, None, None) = [INFO] [stderr] 536 | (n_opt.as_ref(), i_opt.as_ref(), s_opt.as_ref(), c_opt.as_ref()) { [INFO] [stderr] 537 | println!("Must specify at least -n, -i, -s or -c"); [INFO] [stderr] 538 | process::exit(1); [INFO] [stderr] 539 | } else if check_resource_count(&n_opt, &i_opt, &s_opt) { [INFO] [stderr] 540 | println!("Must specify only one of the following: -n, -s, or -i"); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/main.rs:268:9 [INFO] [stderr] | [INFO] [stderr] 268 | ShushOpts::Silence { resource: _, checks: _, expire: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Silence { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/main.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | ShushOpts::Clear { resource: _, checks: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Clear { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '::new_with_handle': Use HttpConnector::set_reactor to set a reactor handle [INFO] [stderr] --> src/sensu.rs:21:48 [INFO] [stderr] | [INFO] [stderr] 21 | Ok(SensuClient(Client::builder().build(HttpConnector::new_with_handle(4, runtime.reactor().clone())), runtime, base_url.parse::()?)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio::runtime::Runtime::reactor': there is now a reactor per worker thread [INFO] [stderr] --> src/sensu.rs:21:90 [INFO] [stderr] | [INFO] [stderr] 21 | Ok(SensuClient(Client::builder().build(HttpConnector::new_with_handle(4, runtime.reactor().clone())), runtime, base_url.parse::()?)) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '::new_with_handle': Use HttpConnector::set_reactor to set a reactor handle [INFO] [stderr] --> src/sensu.rs:21:48 [INFO] [stderr] | [INFO] [stderr] 21 | Ok(SensuClient(Client::builder().build(HttpConnector::new_with_handle(4, runtime.reactor().clone())), runtime, base_url.parse::()?)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio::runtime::Runtime::reactor': there is now a reactor per worker thread [INFO] [stderr] --> src/sensu.rs:21:90 [INFO] [stderr] | [INFO] [stderr] 21 | Ok(SensuClient(Client::builder().build(HttpConnector::new_with_handle(4, runtime.reactor().clone())), runtime, base_url.parse::()?)) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:26:24 [INFO] [stderr] | [INFO] [stderr] 26 | .unwrap_or("".to_string()).as_str() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "".to_string())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/json.rs:6:20 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn remove_fold<'a>(json: Value, key: &str) -> Option { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json.rs:7:15 [INFO] [stderr] | [INFO] [stderr] 7 | key.split(".").fold(Some(json), |acc, next| { [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/opts.rs:98:56 [INFO] [stderr] | [INFO] [stderr] 98 | fn validate_client(client: &mut SensuClient, item: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/opts.rs:159:9 [INFO] [stderr] | [INFO] [stderr] 159 | / resources_to_validate.as_mut().map(|r| { [INFO] [stderr] 160 | | r.retain(|item| { [INFO] [stderr] 161 | | if is_client { [INFO] [stderr] 162 | | Self::validate_client(client, item) [INFO] [stderr] ... | [INFO] [stderr] 176 | | }); [INFO] [stderr] 177 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 159 | if let Some(r) = resources_to_validate.as_mut() { r.retain(|item| { [INFO] [stderr] 160 | if is_client { [INFO] [stderr] 161 | Self::validate_client(client, item) [INFO] [stderr] 162 | } else { [INFO] [stderr] 163 | if let Some(ref s) = set { [INFO] [stderr] 164 | if s.contains(item) { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/opts.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 208 | / match checks_to_validate.as_mut() { [INFO] [stderr] 209 | | Some(v) => { [INFO] [stderr] 210 | | v.retain(|item| { [INFO] [stderr] 211 | | if let true = set.contains(item) { [INFO] [stderr] ... | [INFO] [stderr] 220 | | None => (), [INFO] [stderr] 221 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 208 | if let Some(v) = checks_to_validate.as_mut() { [INFO] [stderr] 209 | v.retain(|item| { [INFO] [stderr] 210 | if let true = set.contains(item) { [INFO] [stderr] 211 | true [INFO] [stderr] 212 | } else { [INFO] [stderr] 213 | println!("You may have misspelled a check name"); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/opts.rs:298:24 [INFO] [stderr] | [INFO] [stderr] 298 | if val.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!val.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/opts.rs:329:24 [INFO] [stderr] | [INFO] [stderr] 329 | if val.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!val.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/opts.rs:472:43 [INFO] [stderr] | [INFO] [stderr] 472 | ShushResources::Node(st.split(",").map(|val| val.to_string()).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/opts.rs:475:45 [INFO] [stderr] | [INFO] [stderr] 475 | ShushResources::Client(st.split(",").map(|val| val.to_string()).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/opts.rs:478:42 [INFO] [stderr] | [INFO] [stderr] 478 | ShushResources::Sub(st.split(",").map(|val| val.to_string()).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/opts.rs:488:39 [INFO] [stderr] | [INFO] [stderr] 488 | Some(ref st) => Some(st.split(",").map(|x| { x.to_string() }).collect()), [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/opts.rs:508:8 [INFO] [stderr] | [INFO] [stderr] 508 | if list == true && remove == true { [INFO] [stderr] | ^^^^^^^^^^^^ help: try simplifying it as shown: `list` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/opts.rs:508:24 [INFO] [stderr] | [INFO] [stderr] 508 | if list == true && remove == true { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try simplifying it as shown: `remove` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/opts.rs:511:15 [INFO] [stderr] | [INFO] [stderr] 511 | } else if list == true { [INFO] [stderr] | ^^^^^^^^^^^^ help: try simplifying it as shown: `list` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/opts.rs:512:16 [INFO] [stderr] | [INFO] [stderr] 512 | if let Some(_) = n_opt { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 513 | | println!("-n cannot be used with -l"); [INFO] [stderr] 514 | | process::exit(1); [INFO] [stderr] 515 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 519 | | } [INFO] [stderr] 520 | | } [INFO] [stderr] | |_________- help: try this: `if n_opt.is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/opts.rs:521:15 [INFO] [stderr] | [INFO] [stderr] 521 | } else if remove == true { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try simplifying it as shown: `remove` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/resources.rs:38:77 [INFO] [stderr] | [INFO] [stderr] 38 | ShushResources::Node(ref v) => write!(f, "Instance IDs: {}", if v.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!v.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/resources.rs:43:80 [INFO] [stderr] | [INFO] [stderr] 43 | ShushResources::Client(ref v) => write!(f, "Sensu clients: {}", if v.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!v.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/resources.rs:48:77 [INFO] [stderr] | [INFO] [stderr] 48 | ShushResources::Sub(ref v) => write!(f, "Subscriptions: {}", if v.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!v.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/sensu.rs:104:37 [INFO] [stderr] | [INFO] [stderr] 104 | let user = env::var("USER").unwrap_or("shush".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "shush".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:185:47 [INFO] [stderr] | [INFO] [stderr] 185 | let re_sub = regex::RegexBuilder::new(sub.unwrap_or(".*".to_string()).as_str()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| ".*".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:187:47 [INFO] [stderr] | [INFO] [stderr] 187 | let re_chk = regex::RegexBuilder::new(chk.unwrap_or(".*".to_string()).as_str()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| ".*".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/main.rs:205:19 [INFO] [stderr] | [INFO] [stderr] 205 | } else if on_resolve == true { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `on_resolve` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:26:24 [INFO] [stderr] | [INFO] [stderr] 26 | .unwrap_or("".to_string()).as_str() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "".to_string())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/json.rs:6:20 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn remove_fold<'a>(json: Value, key: &str) -> Option { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json.rs:7:15 [INFO] [stderr] | [INFO] [stderr] 7 | key.split(".").fold(Some(json), |acc, next| { [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:245:9 [INFO] [stderr] | [INFO] [stderr] 245 | / match sclient.request(method.clone(), uri, Some(Value::from(map))) { [INFO] [stderr] 246 | | Err(e) => { [INFO] [stderr] 247 | | println!("Error on POST request: {}", e); [INFO] [stderr] 248 | | process::exit(1); [INFO] [stderr] 249 | | }, [INFO] [stderr] 250 | | _ => (), [INFO] [stderr] 251 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 245 | if let Err(e) = sclient.request(method.clone(), uri, Some(Value::from(map))) { [INFO] [stderr] 246 | println!("Error on POST request: {}", e); [INFO] [stderr] 247 | process::exit(1); [INFO] [stderr] 248 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:259:51 [INFO] [stderr] | [INFO] [stderr] 259 | let mut sensu_client = match SensuClient::new(shush_cfg.get("api").unwrap_or(String::new())) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `shush_cfg.get("api").unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:278:23 [INFO] [stderr] | [INFO] [stderr] 278 | .unwrap_or("".to_string())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/opts.rs:98:56 [INFO] [stderr] | [INFO] [stderr] 98 | fn validate_client(client: &mut SensuClient, item: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/opts.rs:159:9 [INFO] [stderr] | [INFO] [stderr] 159 | / resources_to_validate.as_mut().map(|r| { [INFO] [stderr] 160 | | r.retain(|item| { [INFO] [stderr] 161 | | if is_client { [INFO] [stderr] 162 | | Self::validate_client(client, item) [INFO] [stderr] ... | [INFO] [stderr] 176 | | }); [INFO] [stderr] 177 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 159 | if let Some(r) = resources_to_validate.as_mut() { r.retain(|item| { [INFO] [stderr] 160 | if is_client { [INFO] [stderr] 161 | Self::validate_client(client, item) [INFO] [stderr] 162 | } else { [INFO] [stderr] 163 | if let Some(ref s) = set { [INFO] [stderr] 164 | if s.contains(item) { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/opts.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 208 | / match checks_to_validate.as_mut() { [INFO] [stderr] 209 | | Some(v) => { [INFO] [stderr] 210 | | v.retain(|item| { [INFO] [stderr] 211 | | if let true = set.contains(item) { [INFO] [stderr] ... | [INFO] [stderr] 220 | | None => (), [INFO] [stderr] 221 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 208 | if let Some(v) = checks_to_validate.as_mut() { [INFO] [stderr] 209 | v.retain(|item| { [INFO] [stderr] 210 | if let true = set.contains(item) { [INFO] [stderr] 211 | true [INFO] [stderr] 212 | } else { [INFO] [stderr] 213 | println!("You may have misspelled a check name"); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/opts.rs:298:24 [INFO] [stderr] | [INFO] [stderr] 298 | if val.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!val.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/opts.rs:329:24 [INFO] [stderr] | [INFO] [stderr] 329 | if val.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!val.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/opts.rs:472:43 [INFO] [stderr] | [INFO] [stderr] 472 | ShushResources::Node(st.split(",").map(|val| val.to_string()).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/opts.rs:475:45 [INFO] [stderr] | [INFO] [stderr] 475 | ShushResources::Client(st.split(",").map(|val| val.to_string()).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/opts.rs:478:42 [INFO] [stderr] | [INFO] [stderr] 478 | ShushResources::Sub(st.split(",").map(|val| val.to_string()).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/opts.rs:488:39 [INFO] [stderr] | [INFO] [stderr] 488 | Some(ref st) => Some(st.split(",").map(|x| { x.to_string() }).collect()), [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/opts.rs:508:8 [INFO] [stderr] | [INFO] [stderr] 508 | if list == true && remove == true { [INFO] [stderr] | ^^^^^^^^^^^^ help: try simplifying it as shown: `list` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/opts.rs:508:24 [INFO] [stderr] | [INFO] [stderr] 508 | if list == true && remove == true { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try simplifying it as shown: `remove` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/opts.rs:511:15 [INFO] [stderr] | [INFO] [stderr] 511 | } else if list == true { [INFO] [stderr] | ^^^^^^^^^^^^ help: try simplifying it as shown: `list` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/opts.rs:512:16 [INFO] [stderr] | [INFO] [stderr] 512 | if let Some(_) = n_opt { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 513 | | println!("-n cannot be used with -l"); [INFO] [stderr] 514 | | process::exit(1); [INFO] [stderr] 515 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 519 | | } [INFO] [stderr] 520 | | } [INFO] [stderr] | |_________- help: try this: `if n_opt.is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/opts.rs:521:15 [INFO] [stderr] | [INFO] [stderr] 521 | } else if remove == true { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try simplifying it as shown: `remove` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/resources.rs:38:77 [INFO] [stderr] | [INFO] [stderr] 38 | ShushResources::Node(ref v) => write!(f, "Instance IDs: {}", if v.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!v.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/resources.rs:43:80 [INFO] [stderr] | [INFO] [stderr] 43 | ShushResources::Client(ref v) => write!(f, "Sensu clients: {}", if v.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!v.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/resources.rs:48:77 [INFO] [stderr] | [INFO] [stderr] 48 | ShushResources::Sub(ref v) => write!(f, "Subscriptions: {}", if v.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!v.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/sensu.rs:104:37 [INFO] [stderr] | [INFO] [stderr] 104 | let user = env::var("USER").unwrap_or("shush".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "shush".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:185:47 [INFO] [stderr] | [INFO] [stderr] 185 | let re_sub = regex::RegexBuilder::new(sub.unwrap_or(".*".to_string()).as_str()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| ".*".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:187:47 [INFO] [stderr] | [INFO] [stderr] 187 | let re_chk = regex::RegexBuilder::new(chk.unwrap_or(".*".to_string()).as_str()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| ".*".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/main.rs:205:19 [INFO] [stderr] | [INFO] [stderr] 205 | } else if on_resolve == true { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `on_resolve` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:245:9 [INFO] [stderr] | [INFO] [stderr] 245 | / match sclient.request(method.clone(), uri, Some(Value::from(map))) { [INFO] [stderr] 246 | | Err(e) => { [INFO] [stderr] 247 | | println!("Error on POST request: {}", e); [INFO] [stderr] 248 | | process::exit(1); [INFO] [stderr] 249 | | }, [INFO] [stderr] 250 | | _ => (), [INFO] [stderr] 251 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 245 | if let Err(e) = sclient.request(method.clone(), uri, Some(Value::from(map))) { [INFO] [stderr] 246 | println!("Error on POST request: {}", e); [INFO] [stderr] 247 | process::exit(1); [INFO] [stderr] 248 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:259:51 [INFO] [stderr] | [INFO] [stderr] 259 | let mut sensu_client = match SensuClient::new(shush_cfg.get("api").unwrap_or(String::new())) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `shush_cfg.get("api").unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:278:23 [INFO] [stderr] | [INFO] [stderr] 278 | .unwrap_or("".to_string())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.92s [INFO] running `"docker" "inspect" "581c53b21ba1bce029ee5960f3bb4d4a4dffbf5ff6646613ba313426ecb9ba8d"` [INFO] running `"docker" "rm" "-f" "581c53b21ba1bce029ee5960f3bb4d4a4dffbf5ff6646613ba313426ecb9ba8d"` [INFO] [stdout] 581c53b21ba1bce029ee5960f3bb4d4a4dffbf5ff6646613ba313426ecb9ba8d