[INFO] crate google-cloudtasks2_beta3-cli 1.0.8+20180913 is already in cache [INFO] extracting crate google-cloudtasks2_beta3-cli 1.0.8+20180913 into work/ex/clippy-test-run/sources/stable/reg/google-cloudtasks2_beta3-cli/1.0.8+20180913 [INFO] extracting crate google-cloudtasks2_beta3-cli 1.0.8+20180913 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/google-cloudtasks2_beta3-cli/1.0.8+20180913 [INFO] validating manifest of google-cloudtasks2_beta3-cli-1.0.8+20180913 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 google-cloudtasks2_beta3-cli-1.0.8+20180913 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 google-cloudtasks2_beta3-cli-1.0.8+20180913 [INFO] finished frobbing google-cloudtasks2_beta3-cli-1.0.8+20180913 [INFO] frobbed toml for google-cloudtasks2_beta3-cli-1.0.8+20180913 written to work/ex/clippy-test-run/sources/stable/reg/google-cloudtasks2_beta3-cli/1.0.8+20180913/Cargo.toml [INFO] started frobbing google-cloudtasks2_beta3-cli-1.0.8+20180913 [INFO] finished frobbing google-cloudtasks2_beta3-cli-1.0.8+20180913 [INFO] frobbed toml for google-cloudtasks2_beta3-cli-1.0.8+20180913 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/google-cloudtasks2_beta3-cli/1.0.8+20180913/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 google-cloudtasks2_beta3-cli-1.0.8+20180913 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/google-cloudtasks2_beta3-cli/1.0.8+20180913:/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] 755a71ec5097fe0fd9379322d90005fc970771aa4d61e1f5aeeb18581958834c [INFO] running `"docker" "start" "-a" "755a71ec5097fe0fd9379322d90005fc970771aa4d61e1f5aeeb18581958834c"` [INFO] [stderr] Checking google-cloudtasks2_beta3 v1.0.8+20180913 [INFO] [stderr] Checking google-cloudtasks2_beta3-cli v1.0.8+20180913 (/opt/crater/workdir) [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/cmn.rs:661:17 [INFO] [stderr] | [INFO] [stderr] 661 | write!(f, "Parameter '{}' is unknown.{}\n", param_name, suffix) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cmn.rs:702:13 [INFO] [stderr] | [INFO] [stderr] 702 | exit_code: exit_code, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exit_code` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:1522:13 [INFO] [stderr] | [INFO] [stderr] 1522 | opt: opt, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `opt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/cmn.rs:661:17 [INFO] [stderr] | [INFO] [stderr] 661 | write!(f, "Parameter '{}' is unknown.{}\n", param_name, suffix) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cmn.rs:702:13 [INFO] [stderr] | [INFO] [stderr] 702 | exit_code: exit_code, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exit_code` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:1522:13 [INFO] [stderr] | [INFO] [stderr] 1522 | opt: opt, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `opt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/cmn.rs:183:17 [INFO] [stderr] | [INFO] [stderr] 183 | / if cid == 1 { [INFO] [stderr] 184 | | if first_is_field_sep { [INFO] [stderr] 185 | | fields.truncate(0); [INFO] [stderr] 186 | | } [INFO] [stderr] 187 | | } [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] 183 | if cid == 1 && first_is_field_sep { [INFO] [stderr] 184 | fields.truncate(0); [INFO] [stderr] 185 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cmn.rs:348:13 [INFO] [stderr] | [INFO] [stderr] 348 | return (kv, None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(kv, None)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/cmn.rs:183:17 [INFO] [stderr] | [INFO] [stderr] 183 | / if cid == 1 { [INFO] [stderr] 184 | | if first_is_field_sep { [INFO] [stderr] 185 | | fields.truncate(0); [INFO] [stderr] 186 | | } [INFO] [stderr] 187 | | } [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] 183 | if cid == 1 && first_is_field_sep { [INFO] [stderr] 184 | fields.truncate(0); [INFO] [stderr] 185 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cmn.rs:348:13 [INFO] [stderr] | [INFO] [stderr] 348 | return (kv, None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(kv, None)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [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/cmn.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | / match *value { [INFO] [stderr] 55 | | Value::Object(ref mut map) => { [INFO] [stderr] 56 | | let mut for_removal = Vec::new(); [INFO] [stderr] 57 | | [INFO] [stderr] ... | [INFO] [stderr] 70 | | _ => {} [INFO] [stderr] 71 | | } [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] 54 | if let Value::Object(ref mut map) = *value { [INFO] [stderr] 55 | let mut for_removal = Vec::new(); [INFO] [stderr] 56 | [INFO] [stderr] 57 | for (key, mut value) in map.iter_mut() { [INFO] [stderr] 58 | if value.is_null() { [INFO] [stderr] 59 | for_removal.push(key.clone()); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/cmn.rs:137:65 [INFO] [stderr] | [INFO] [stderr] 137 | fn assure_entry<'a, 'b>(m: &'a mut json::Map, k: &'b String) -> &'a mut Value { [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: length comparison to zero [INFO] [stderr] --> src/cmn.rs:147:12 [INFO] [stderr] | [INFO] [stderr] 147 | if value.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `value.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/cmn.rs:160:16 [INFO] [stderr] | [INFO] [stderr] 160 | if f.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!f.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/cmn.rs:208:12 [INFO] [stderr] | [INFO] [stderr] 208 | if value.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `value.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/cmn.rs:218:16 [INFO] [stderr] | [INFO] [stderr] 218 | if f.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!f.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: needlessly taken reference of left operand [INFO] [stderr] --> src/cmn.rs:242:12 [INFO] [stderr] | [INFO] [stderr] 242 | if &output == value { [INFO] [stderr] | -------^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `output` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cmn.rs:255:17 [INFO] [stderr] | [INFO] [stderr] 255 | assert!(self.0.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.0.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/cmn.rs:716:8 [INFO] [stderr] | [INFO] [stderr] 716 | if trdir.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `trdir.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 `or` followed by a function call [INFO] [stderr] --> src/cmn.rs:721:37 [INFO] [stderr] | [INFO] [stderr] 721 | match env::var("HOME").ok().or(env::var("UserProfile").ok()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| env::var("UserProfile").ok())` [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: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:67:85 [INFO] [stderr] | [INFO] [stderr] 67 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:77:21 [INFO] [stderr] | [INFO] [stderr] 77 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:78:26 [INFO] [stderr] | [INFO] [stderr] 78 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:104:21 [INFO] [stderr] | [INFO] [stderr] 104 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:128:85 [INFO] [stderr] | [INFO] [stderr] 128 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:129:85 [INFO] [stderr] | [INFO] [stderr] 129 | v.extend(["filter", "page-token", "page-size"].iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `["filter", "page-token", "page-size"].iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:139:21 [INFO] [stderr] | [INFO] [stderr] 139 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:140:26 [INFO] [stderr] | [INFO] [stderr] 140 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:169:22 [INFO] [stderr] | [INFO] [stderr] 169 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:202:73 [INFO] [stderr] | [INFO] [stderr] 202 | let suggestion = FieldCursor::did_you_mean(key, &vec!["app-engine-http-queue", "app-engine-routing-override", "host", "instance", "max-attempts", "max-backoff", "max-burst-size", "max-concurrent-dispatches", "max-dispatches-per-second", "max-doublings", "max-retry-duration", "min-backoff", "name", "purge-time", "rate-limits", "retry-config", "service", "state", "version"]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["app-engine-http-queue", "app-engine-routing-override", "host", "instance", "max-attempts", "max-backoff", "max-burst-size", "max-concurrent-dispatches", "max-dispatches-per-second", "max-doublings", "max-retry-duration", "min-backoff", "name", "purge-time", "rate-limits", "retry-config", "service", "state", "version"]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:213:21 [INFO] [stderr] | [INFO] [stderr] 213 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:228:85 [INFO] [stderr] | [INFO] [stderr] 228 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:238:21 [INFO] [stderr] | [INFO] [stderr] 238 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:239:26 [INFO] [stderr] | [INFO] [stderr] 239 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:265:21 [INFO] [stderr] | [INFO] [stderr] 265 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:280:85 [INFO] [stderr] | [INFO] [stderr] 280 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:290:21 [INFO] [stderr] | [INFO] [stderr] 290 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:291:26 [INFO] [stderr] | [INFO] [stderr] 291 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:317:21 [INFO] [stderr] | [INFO] [stderr] 317 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:332:85 [INFO] [stderr] | [INFO] [stderr] 332 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:342:21 [INFO] [stderr] | [INFO] [stderr] 342 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:343:26 [INFO] [stderr] | [INFO] [stderr] 343 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:372:22 [INFO] [stderr] | [INFO] [stderr] 372 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:390:73 [INFO] [stderr] | [INFO] [stderr] 390 | let suggestion = FieldCursor::did_you_mean(key, &vec![]); [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:401:21 [INFO] [stderr] | [INFO] [stderr] 401 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:416:85 [INFO] [stderr] | [INFO] [stderr] 416 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:426:21 [INFO] [stderr] | [INFO] [stderr] 426 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:427:26 [INFO] [stderr] | [INFO] [stderr] 427 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:453:21 [INFO] [stderr] | [INFO] [stderr] 453 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:477:85 [INFO] [stderr] | [INFO] [stderr] 477 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:478:85 [INFO] [stderr] | [INFO] [stderr] 478 | v.extend(["filter", "page-token", "page-size"].iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `["filter", "page-token", "page-size"].iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:488:21 [INFO] [stderr] | [INFO] [stderr] 488 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:489:26 [INFO] [stderr] | [INFO] [stderr] 489 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:518:22 [INFO] [stderr] | [INFO] [stderr] 518 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:551:73 [INFO] [stderr] | [INFO] [stderr] 551 | let suggestion = FieldCursor::did_you_mean(key, &vec!["app-engine-http-queue", "app-engine-routing-override", "host", "instance", "max-attempts", "max-backoff", "max-burst-size", "max-concurrent-dispatches", "max-dispatches-per-second", "max-doublings", "max-retry-duration", "min-backoff", "name", "purge-time", "rate-limits", "retry-config", "service", "state", "version"]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["app-engine-http-queue", "app-engine-routing-override", "host", "instance", "max-attempts", "max-backoff", "max-burst-size", "max-concurrent-dispatches", "max-dispatches-per-second", "max-doublings", "max-retry-duration", "min-backoff", "name", "purge-time", "rate-limits", "retry-config", "service", "state", "version"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:562:21 [INFO] [stderr] | [INFO] [stderr] 562 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:580:85 [INFO] [stderr] | [INFO] [stderr] 580 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:581:85 [INFO] [stderr] | [INFO] [stderr] 581 | v.extend(["update-mask"].iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `["update-mask"].iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:591:21 [INFO] [stderr] | [INFO] [stderr] 591 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:592:26 [INFO] [stderr] | [INFO] [stderr] 592 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:621:22 [INFO] [stderr] | [INFO] [stderr] 621 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:639:73 [INFO] [stderr] | [INFO] [stderr] 639 | let suggestion = FieldCursor::did_you_mean(key, &vec![]); [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:650:21 [INFO] [stderr] | [INFO] [stderr] 650 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:665:85 [INFO] [stderr] | [INFO] [stderr] 665 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:675:21 [INFO] [stderr] | [INFO] [stderr] 675 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:676:26 [INFO] [stderr] | [INFO] [stderr] 676 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:705:22 [INFO] [stderr] | [INFO] [stderr] 705 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:723:73 [INFO] [stderr] | [INFO] [stderr] 723 | let suggestion = FieldCursor::did_you_mean(key, &vec![]); [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:734:21 [INFO] [stderr] | [INFO] [stderr] 734 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:749:85 [INFO] [stderr] | [INFO] [stderr] 749 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:759:21 [INFO] [stderr] | [INFO] [stderr] 759 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:760:26 [INFO] [stderr] | [INFO] [stderr] 760 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:789:22 [INFO] [stderr] | [INFO] [stderr] 789 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:807:73 [INFO] [stderr] | [INFO] [stderr] 807 | let suggestion = FieldCursor::did_you_mean(key, &vec![]); [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:818:21 [INFO] [stderr] | [INFO] [stderr] 818 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:833:85 [INFO] [stderr] | [INFO] [stderr] 833 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:843:21 [INFO] [stderr] | [INFO] [stderr] 843 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:844:26 [INFO] [stderr] | [INFO] [stderr] 844 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/cmn.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | / match *value { [INFO] [stderr] 55 | | Value::Object(ref mut map) => { [INFO] [stderr] 56 | | let mut for_removal = Vec::new(); [INFO] [stderr] 57 | | [INFO] [stderr] ... | [INFO] [stderr] 70 | | _ => {} [INFO] [stderr] 71 | | } [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] 54 | if let Value::Object(ref mut map) = *value { [INFO] [stderr] 55 | let mut for_removal = Vec::new(); [INFO] [stderr] 56 | [INFO] [stderr] 57 | for (key, mut value) in map.iter_mut() { [INFO] [stderr] 58 | if value.is_null() { [INFO] [stderr] 59 | for_removal.push(key.clone()); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:873:22 [INFO] [stderr] | [INFO] [stderr] 873 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/cmn.rs:137:65 [INFO] [stderr] | [INFO] [stderr] 137 | fn assure_entry<'a, 'b>(m: &'a mut json::Map, k: &'b String) -> &'a mut Value { [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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:893:73 [INFO] [stderr] | [INFO] [stderr] 893 | let suggestion = FieldCursor::did_you_mean(key, &vec!["etag", "policy", "version"]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["etag", "policy", "version"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:904:21 [INFO] [stderr] | [INFO] [stderr] 904 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: length comparison to zero [INFO] [stderr] --> src/cmn.rs:147:12 [INFO] [stderr] | [INFO] [stderr] 147 | if value.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `value.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] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:919:85 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] 919 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:929:21 [INFO] [stderr] | [INFO] [stderr] 929 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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/cmn.rs:160:16 [INFO] [stderr] | [INFO] [stderr] 160 | if f.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!f.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 call to `new` [INFO] [stderr] --> src/main.rs:930:26 [INFO] [stderr] | [INFO] [stderr] 930 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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: length comparison to zero [INFO] [stderr] --> src/cmn.rs:208:12 [INFO] [stderr] | [INFO] [stderr] 208 | if value.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `value.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/cmn.rs:218:16 [INFO] [stderr] | [INFO] [stderr] 218 | if f.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!f.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: needlessly taken reference of left operand [INFO] [stderr] --> src/cmn.rs:242:12 [INFO] [stderr] | [INFO] [stderr] 242 | if &output == value { [INFO] [stderr] | -------^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `output` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cmn.rs:255:17 [INFO] [stderr] | [INFO] [stderr] 255 | assert!(self.0.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.0.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 call to `new` [INFO] [stderr] --> src/main.rs:959:22 [INFO] [stderr] | [INFO] [stderr] 959 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:1002:73 [INFO] [stderr] | [INFO] [stderr] 1002 | let suggestion = FieldCursor::did_you_mean(key, &vec!["app-engine-http-request", "app-engine-routing", "body", "code", "create-time", "dispatch-count", "dispatch-time", "first-attempt", "headers", "host", "http-method", "instance", "last-attempt", "message", "name", "relative-uri", "response-count", "response-status", "response-time", "response-view", "schedule-time", "service", "task", "version", "view"]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["app-engine-http-request", "app-engine-routing", "body", "code", "create-time", "dispatch-count", "dispatch-time", "first-attempt", "headers", "host", "http-method", "instance", "last-attempt", "message", "name", "relative-uri", "response-count", "response-status", "response-time", "response-view", "schedule-time", "service", "task", "version", "view"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:1013:21 [INFO] [stderr] | [INFO] [stderr] 1013 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1028:85 [INFO] [stderr] | [INFO] [stderr] 1028 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:1038:21 [INFO] [stderr] | [INFO] [stderr] 1038 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:1039:26 [INFO] [stderr] | [INFO] [stderr] 1039 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:1065:21 [INFO] [stderr] | [INFO] [stderr] 1065 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1080:85 [INFO] [stderr] | [INFO] [stderr] 1080 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:1090:21 [INFO] [stderr] | [INFO] [stderr] 1090 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:1091:26 [INFO] [stderr] | [INFO] [stderr] 1091 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:1117:21 [INFO] [stderr] | [INFO] [stderr] 1117 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1135:85 [INFO] [stderr] | [INFO] [stderr] 1135 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1136:85 [INFO] [stderr] | [INFO] [stderr] 1136 | v.extend(["response-view"].iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `["response-view"].iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:1146:21 [INFO] [stderr] | [INFO] [stderr] 1146 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:1147:26 [INFO] [stderr] | [INFO] [stderr] 1147 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:1173:21 [INFO] [stderr] | [INFO] [stderr] 1173 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1197:85 [INFO] [stderr] | [INFO] [stderr] 1197 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1198:85 [INFO] [stderr] | [INFO] [stderr] 1198 | v.extend(["page-token", "response-view", "page-size"].iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `["page-token", "response-view", "page-size"].iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:1208:21 [INFO] [stderr] | [INFO] [stderr] 1208 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:1209:26 [INFO] [stderr] | [INFO] [stderr] 1209 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:1238:22 [INFO] [stderr] | [INFO] [stderr] 1238 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:1257:73 [INFO] [stderr] | [INFO] [stderr] 1257 | let suggestion = FieldCursor::did_you_mean(key, &vec!["response-view"]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["response-view"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cmn.rs:716:8 [INFO] [stderr] | [INFO] [stderr] 716 | if trdir.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `trdir.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 call to `new` [INFO] [stderr] --> src/main.rs:1268:21 [INFO] [stderr] | [INFO] [stderr] 1268 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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 `or` followed by a function call [INFO] [stderr] --> src/cmn.rs:721:37 [INFO] [stderr] | [INFO] [stderr] 721 | match env::var("HOME").ok().or(env::var("UserProfile").ok()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| env::var("UserProfile").ok())` [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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1283:85 [INFO] [stderr] | [INFO] [stderr] 1283 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:1293:21 [INFO] [stderr] | [INFO] [stderr] 1293 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:1294:26 [INFO] [stderr] | [INFO] [stderr] 1294 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:1323:22 [INFO] [stderr] | [INFO] [stderr] 1323 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:1342:73 [INFO] [stderr] | [INFO] [stderr] 1342 | let suggestion = FieldCursor::did_you_mean(key, &vec!["permissions"]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["permissions"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:1353:21 [INFO] [stderr] | [INFO] [stderr] 1353 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1368:85 [INFO] [stderr] | [INFO] [stderr] 1368 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:1378:21 [INFO] [stderr] | [INFO] [stderr] 1378 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:1379:26 [INFO] [stderr] | [INFO] [stderr] 1379 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:67:85 [INFO] [stderr] | [INFO] [stderr] 67 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:77:21 [INFO] [stderr] | [INFO] [stderr] 77 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:78:26 [INFO] [stderr] | [INFO] [stderr] 78 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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: length comparison to zero [INFO] [stderr] --> src/main.rs:1476:16 [INFO] [stderr] | [INFO] [stderr] 1476 | if err.issues.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:104:21 [INFO] [stderr] | [INFO] [stderr] 104 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:128:85 [INFO] [stderr] | [INFO] [stderr] 128 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:129:85 [INFO] [stderr] | [INFO] [stderr] 129 | v.extend(["filter", "page-token", "page-size"].iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `["filter", "page-token", "page-size"].iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:139:21 [INFO] [stderr] | [INFO] [stderr] 139 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:140:26 [INFO] [stderr] | [INFO] [stderr] 140 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:169:22 [INFO] [stderr] | [INFO] [stderr] 169 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:202:73 [INFO] [stderr] | [INFO] [stderr] 202 | let suggestion = FieldCursor::did_you_mean(key, &vec!["app-engine-http-queue", "app-engine-routing-override", "host", "instance", "max-attempts", "max-backoff", "max-burst-size", "max-concurrent-dispatches", "max-dispatches-per-second", "max-doublings", "max-retry-duration", "min-backoff", "name", "purge-time", "rate-limits", "retry-config", "service", "state", "version"]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["app-engine-http-queue", "app-engine-routing-override", "host", "instance", "max-attempts", "max-backoff", "max-burst-size", "max-concurrent-dispatches", "max-dispatches-per-second", "max-doublings", "max-retry-duration", "min-backoff", "name", "purge-time", "rate-limits", "retry-config", "service", "state", "version"]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:213:21 [INFO] [stderr] | [INFO] [stderr] 213 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:228:85 [INFO] [stderr] | [INFO] [stderr] 228 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:238:21 [INFO] [stderr] | [INFO] [stderr] 238 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:239:26 [INFO] [stderr] | [INFO] [stderr] 239 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:265:21 [INFO] [stderr] | [INFO] [stderr] 265 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:280:85 [INFO] [stderr] | [INFO] [stderr] 280 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:290:21 [INFO] [stderr] | [INFO] [stderr] 290 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:291:26 [INFO] [stderr] | [INFO] [stderr] 291 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:317:21 [INFO] [stderr] | [INFO] [stderr] 317 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:332:85 [INFO] [stderr] | [INFO] [stderr] 332 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:342:21 [INFO] [stderr] | [INFO] [stderr] 342 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:343:26 [INFO] [stderr] | [INFO] [stderr] 343 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:2230:20 [INFO] [stderr] | [INFO] [stderr] 2230 | / if let &Some(desc) = desc { [INFO] [stderr] 2231 | | scmd = scmd.about(desc); [INFO] [stderr] 2232 | | } [INFO] [stderr] | |____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2230 | if let Some(desc) = *desc { [INFO] [stderr] | ^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:2244:24 [INFO] [stderr] | [INFO] [stderr] 2244 | / if let &Some(short_flag) = flag { [INFO] [stderr] 2245 | | arg = arg.short(short_flag); [INFO] [stderr] 2246 | | } [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2244 | if let Some(short_flag) = *flag { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:2247:24 [INFO] [stderr] | [INFO] [stderr] 2247 | / if let &Some(desc) = desc { [INFO] [stderr] 2248 | | arg = arg.help(desc); [INFO] [stderr] 2249 | | } [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2247 | if let Some(desc) = *desc { [INFO] [stderr] | ^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:2253:24 [INFO] [stderr] | [INFO] [stderr] 2253 | / if let &Some(required) = required { [INFO] [stderr] 2254 | | arg = arg.required(required); [INFO] [stderr] 2255 | | } [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2253 | if let Some(required) = *required { [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:2256:24 [INFO] [stderr] | [INFO] [stderr] 2256 | / if let &Some(multi) = multi { [INFO] [stderr] 2257 | | arg = arg.multiple(multi); [INFO] [stderr] 2258 | | } [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2256 | if let Some(multi) = *multi { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:372:22 [INFO] [stderr] | [INFO] [stderr] 372 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:390:73 [INFO] [stderr] | [INFO] [stderr] 390 | let suggestion = FieldCursor::did_you_mean(key, &vec![]); [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:401:21 [INFO] [stderr] | [INFO] [stderr] 401 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:416:85 [INFO] [stderr] | [INFO] [stderr] 416 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:426:21 [INFO] [stderr] | [INFO] [stderr] 426 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:427:26 [INFO] [stderr] | [INFO] [stderr] 427 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:453:21 [INFO] [stderr] | [INFO] [stderr] 453 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:477:85 [INFO] [stderr] | [INFO] [stderr] 477 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:478:85 [INFO] [stderr] | [INFO] [stderr] 478 | v.extend(["filter", "page-token", "page-size"].iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `["filter", "page-token", "page-size"].iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:488:21 [INFO] [stderr] | [INFO] [stderr] 488 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:489:26 [INFO] [stderr] | [INFO] [stderr] 489 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:518:22 [INFO] [stderr] | [INFO] [stderr] 518 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:551:73 [INFO] [stderr] | [INFO] [stderr] 551 | let suggestion = FieldCursor::did_you_mean(key, &vec!["app-engine-http-queue", "app-engine-routing-override", "host", "instance", "max-attempts", "max-backoff", "max-burst-size", "max-concurrent-dispatches", "max-dispatches-per-second", "max-doublings", "max-retry-duration", "min-backoff", "name", "purge-time", "rate-limits", "retry-config", "service", "state", "version"]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["app-engine-http-queue", "app-engine-routing-override", "host", "instance", "max-attempts", "max-backoff", "max-burst-size", "max-concurrent-dispatches", "max-dispatches-per-second", "max-doublings", "max-retry-duration", "min-backoff", "name", "purge-time", "rate-limits", "retry-config", "service", "state", "version"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:562:21 [INFO] [stderr] | [INFO] [stderr] 562 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:580:85 [INFO] [stderr] | [INFO] [stderr] 580 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:581:85 [INFO] [stderr] | [INFO] [stderr] 581 | v.extend(["update-mask"].iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `["update-mask"].iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:591:21 [INFO] [stderr] | [INFO] [stderr] 591 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:592:26 [INFO] [stderr] | [INFO] [stderr] 592 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:621:22 [INFO] [stderr] | [INFO] [stderr] 621 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:639:73 [INFO] [stderr] | [INFO] [stderr] 639 | let suggestion = FieldCursor::did_you_mean(key, &vec![]); [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:650:21 [INFO] [stderr] | [INFO] [stderr] 650 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:665:85 [INFO] [stderr] | [INFO] [stderr] 665 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:675:21 [INFO] [stderr] | [INFO] [stderr] 675 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:676:26 [INFO] [stderr] | [INFO] [stderr] 676 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:705:22 [INFO] [stderr] | [INFO] [stderr] 705 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:723:73 [INFO] [stderr] | [INFO] [stderr] 723 | let suggestion = FieldCursor::did_you_mean(key, &vec![]); [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:734:21 [INFO] [stderr] | [INFO] [stderr] 734 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:749:85 [INFO] [stderr] | [INFO] [stderr] 749 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:759:21 [INFO] [stderr] | [INFO] [stderr] 759 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:760:26 [INFO] [stderr] | [INFO] [stderr] 760 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:789:22 [INFO] [stderr] | [INFO] [stderr] 789 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:807:73 [INFO] [stderr] | [INFO] [stderr] 807 | let suggestion = FieldCursor::did_you_mean(key, &vec![]); [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:818:21 [INFO] [stderr] | [INFO] [stderr] 818 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:833:85 [INFO] [stderr] | [INFO] [stderr] 833 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:843:21 [INFO] [stderr] | [INFO] [stderr] 843 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:844:26 [INFO] [stderr] | [INFO] [stderr] 844 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:873:22 [INFO] [stderr] | [INFO] [stderr] 873 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:893:73 [INFO] [stderr] | [INFO] [stderr] 893 | let suggestion = FieldCursor::did_you_mean(key, &vec!["etag", "policy", "version"]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["etag", "policy", "version"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:904:21 [INFO] [stderr] | [INFO] [stderr] 904 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:919:85 [INFO] [stderr] | [INFO] [stderr] 919 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:929:21 [INFO] [stderr] | [INFO] [stderr] 929 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:930:26 [INFO] [stderr] | [INFO] [stderr] 930 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:959:22 [INFO] [stderr] | [INFO] [stderr] 959 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:1002:73 [INFO] [stderr] | [INFO] [stderr] 1002 | let suggestion = FieldCursor::did_you_mean(key, &vec!["app-engine-http-request", "app-engine-routing", "body", "code", "create-time", "dispatch-count", "dispatch-time", "first-attempt", "headers", "host", "http-method", "instance", "last-attempt", "message", "name", "relative-uri", "response-count", "response-status", "response-time", "response-view", "schedule-time", "service", "task", "version", "view"]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["app-engine-http-request", "app-engine-routing", "body", "code", "create-time", "dispatch-count", "dispatch-time", "first-attempt", "headers", "host", "http-method", "instance", "last-attempt", "message", "name", "relative-uri", "response-count", "response-status", "response-time", "response-view", "schedule-time", "service", "task", "version", "view"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:1013:21 [INFO] [stderr] | [INFO] [stderr] 1013 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1028:85 [INFO] [stderr] | [INFO] [stderr] 1028 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:1038:21 [INFO] [stderr] | [INFO] [stderr] 1038 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:1039:26 [INFO] [stderr] | [INFO] [stderr] 1039 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:1065:21 [INFO] [stderr] | [INFO] [stderr] 1065 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1080:85 [INFO] [stderr] | [INFO] [stderr] 1080 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:1090:21 [INFO] [stderr] | [INFO] [stderr] 1090 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:1091:26 [INFO] [stderr] | [INFO] [stderr] 1091 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:1117:21 [INFO] [stderr] | [INFO] [stderr] 1117 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1135:85 [INFO] [stderr] | [INFO] [stderr] 1135 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1136:85 [INFO] [stderr] | [INFO] [stderr] 1136 | v.extend(["response-view"].iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `["response-view"].iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:1146:21 [INFO] [stderr] | [INFO] [stderr] 1146 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:1147:26 [INFO] [stderr] | [INFO] [stderr] 1147 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:1173:21 [INFO] [stderr] | [INFO] [stderr] 1173 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1197:85 [INFO] [stderr] | [INFO] [stderr] 1197 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1198:85 [INFO] [stderr] | [INFO] [stderr] 1198 | v.extend(["page-token", "response-view", "page-size"].iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `["page-token", "response-view", "page-size"].iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:1208:21 [INFO] [stderr] | [INFO] [stderr] 1208 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:1209:26 [INFO] [stderr] | [INFO] [stderr] 1209 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:1238:22 [INFO] [stderr] | [INFO] [stderr] 1238 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:1257:73 [INFO] [stderr] | [INFO] [stderr] 1257 | let suggestion = FieldCursor::did_you_mean(key, &vec!["response-view"]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["response-view"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:1268:21 [INFO] [stderr] | [INFO] [stderr] 1268 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1283:85 [INFO] [stderr] | [INFO] [stderr] 1283 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:1293:21 [INFO] [stderr] | [INFO] [stderr] 1293 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:1294:26 [INFO] [stderr] | [INFO] [stderr] 1294 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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 call to `new` [INFO] [stderr] --> src/main.rs:1323:22 [INFO] [stderr] | [INFO] [stderr] 1323 | for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("kv").map(|i|i.collect()).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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:1342:73 [INFO] [stderr] | [INFO] [stderr] 1342 | let suggestion = FieldCursor::did_you_mean(key, &vec!["permissions"]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["permissions"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/main.rs:1353:21 [INFO] [stderr] | [INFO] [stderr] 1353 | for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `opt.values_of("v").map(|i|i.collect()).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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:1368:85 [INFO] [stderr] | [INFO] [stderr] 1368 | v.extend(self.gp.iter().map(|v|*v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.gp.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:1378:21 [INFO] [stderr] | [INFO] [stderr] 1378 | assert!(err.issues.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `err.issues.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 call to `new` [INFO] [stderr] --> src/main.rs:1379:26 [INFO] [stderr] | [INFO] [stderr] 1379 | for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.opt.values_of("url").map(|i|i.collect()).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: length comparison to zero [INFO] [stderr] --> src/main.rs:1476:16 [INFO] [stderr] | [INFO] [stderr] 1476 | if err.issues.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!err.issues.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:2230:20 [INFO] [stderr] | [INFO] [stderr] 2230 | / if let &Some(desc) = desc { [INFO] [stderr] 2231 | | scmd = scmd.about(desc); [INFO] [stderr] 2232 | | } [INFO] [stderr] | |____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2230 | if let Some(desc) = *desc { [INFO] [stderr] | ^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:2244:24 [INFO] [stderr] | [INFO] [stderr] 2244 | / if let &Some(short_flag) = flag { [INFO] [stderr] 2245 | | arg = arg.short(short_flag); [INFO] [stderr] 2246 | | } [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2244 | if let Some(short_flag) = *flag { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:2247:24 [INFO] [stderr] | [INFO] [stderr] 2247 | / if let &Some(desc) = desc { [INFO] [stderr] 2248 | | arg = arg.help(desc); [INFO] [stderr] 2249 | | } [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2247 | if let Some(desc) = *desc { [INFO] [stderr] | ^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:2253:24 [INFO] [stderr] | [INFO] [stderr] 2253 | / if let &Some(required) = required { [INFO] [stderr] 2254 | | arg = arg.required(required); [INFO] [stderr] 2255 | | } [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2253 | if let Some(required) = *required { [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:2256:24 [INFO] [stderr] | [INFO] [stderr] 2256 | / if let &Some(multi) = multi { [INFO] [stderr] 2257 | | arg = arg.multiple(multi); [INFO] [stderr] 2258 | | } [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2256 | if let Some(multi) = *multi { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 16.41s [INFO] running `"docker" "inspect" "755a71ec5097fe0fd9379322d90005fc970771aa4d61e1f5aeeb18581958834c"` [INFO] running `"docker" "rm" "-f" "755a71ec5097fe0fd9379322d90005fc970771aa4d61e1f5aeeb18581958834c"` [INFO] [stdout] 755a71ec5097fe0fd9379322d90005fc970771aa4d61e1f5aeeb18581958834c