[INFO] updating cached repository instructure/ec2-rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/instructure/ec2-rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/instructure/ec2-rs" "work/ex/clippy-test-run/sources/stable/gh/instructure/ec2-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/instructure/ec2-rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/instructure/ec2-rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/instructure/ec2-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/instructure/ec2-rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] fbaad4ce66dd2f2e4768e1b77d4f654bec05cdb0 [INFO] sha for GitHub repo instructure/ec2-rs: fbaad4ce66dd2f2e4768e1b77d4f654bec05cdb0 [INFO] validating manifest of instructure/ec2-rs 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 instructure/ec2-rs 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 instructure/ec2-rs [INFO] finished frobbing instructure/ec2-rs [INFO] frobbed toml for instructure/ec2-rs written to work/ex/clippy-test-run/sources/stable/gh/instructure/ec2-rs/Cargo.toml [INFO] started frobbing instructure/ec2-rs [INFO] finished frobbing instructure/ec2-rs [INFO] frobbed toml for instructure/ec2-rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/instructure/ec2-rs/Cargo.toml [INFO] crate instructure/ec2-rs has a lockfile. skipping [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] [stderr] Blocking waiting for file lock on the registry index [INFO] [stderr] Blocking waiting for file lock on the registry index [INFO] [stderr] Blocking waiting for file lock on the registry index [INFO] linting instructure/ec2-rs 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/gh/instructure/ec2-rs:/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] 59b4424a7c06a0ceda3ffaa6bdef03ff2d79df9eb5c4ddc9d07f4900c66834a2 [INFO] running `"docker" "start" "-a" "59b4424a7c06a0ceda3ffaa6bdef03ff2d79df9eb5c4ddc9d07f4900c66834a2"` [INFO] [stderr] warning: file found to be present in multiple build targets: /opt/crater/workdir/src/main.rs [INFO] [stderr] Checking spin v0.4.10 [INFO] [stderr] Checking isatty v0.1.9 [INFO] [stderr] Checking chrono v0.4.6 [INFO] [stderr] Checking hyper v0.12.16 [INFO] [stderr] Checking concurrent-hashmap v0.2.2 [INFO] [stderr] Checking slog-term v2.4.0 [INFO] [stderr] Checking slog-json v2.2.0 [INFO] [stderr] Checking hyper-tls v0.3.1 [INFO] [stderr] Checking rusoto_credential v0.14.0 [INFO] [stderr] Checking rusoto_core v0.35.0 [INFO] [stderr] Checking rusoto_sts v0.35.0 [INFO] [stderr] Checking rusoto_ec2 v0.35.0 [INFO] [stderr] Checking ec2-rs v0.3.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cache.rs:93:7 [INFO] [stderr] | [INFO] [stderr] 93 | potential_json_value: potential_json_value, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `potential_json_value` [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/cache.rs:94:7 [INFO] [stderr] | [INFO] [stderr] 94 | valid_cache: valid_cache, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `valid_cache` [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: redundant field names in struct initialization [INFO] [stderr] --> src/cache.rs:93:7 [INFO] [stderr] | [INFO] [stderr] 93 | potential_json_value: potential_json_value, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `potential_json_value` [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/cache.rs:94:7 [INFO] [stderr] | [INFO] [stderr] 94 | valid_cache: valid_cache, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `valid_cache` [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/cache.rs:80:7 [INFO] [stderr] | [INFO] [stderr] 80 | / if result.is_ok() { [INFO] [stderr] 81 | | if as_str.len() != 0 { [INFO] [stderr] 82 | | let data = JsonFromStr(&as_str); [INFO] [stderr] 83 | | if data.is_ok() { [INFO] [stderr] ... | [INFO] [stderr] 87 | | } [INFO] [stderr] 88 | | } [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] 80 | if result.is_ok() && as_str.len() != 0 { [INFO] [stderr] 81 | let data = JsonFromStr(&as_str); [INFO] [stderr] 82 | if data.is_ok() { [INFO] [stderr] 83 | let value = data.unwrap(); [INFO] [stderr] 84 | potential_json_value = Some(value); [INFO] [stderr] 85 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/cache.rs:80:7 [INFO] [stderr] | [INFO] [stderr] 80 | / if result.is_ok() { [INFO] [stderr] 81 | | if as_str.len() != 0 { [INFO] [stderr] 82 | | let data = JsonFromStr(&as_str); [INFO] [stderr] 83 | | if data.is_ok() { [INFO] [stderr] ... | [INFO] [stderr] 87 | | } [INFO] [stderr] 88 | | } [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] 80 | if result.is_ok() && as_str.len() != 0 { [INFO] [stderr] 81 | let data = JsonFromStr(&as_str); [INFO] [stderr] 82 | if data.is_ok() { [INFO] [stderr] 83 | let value = data.unwrap(); [INFO] [stderr] 84 | potential_json_value = Some(value); [INFO] [stderr] 85 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/cache.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | if !parent.is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `parent.is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/cache.rs:37:11 [INFO] [stderr] | [INFO] [stderr] 37 | / if duration.as_secs() < timeout_seconds { [INFO] [stderr] 38 | | true [INFO] [stderr] 39 | | } else { [INFO] [stderr] 40 | | false [INFO] [stderr] 41 | | } [INFO] [stderr] | |___________^ help: you can reduce it to: `duration.as_secs() < timeout_seconds` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/cache.rs:56:15 [INFO] [stderr] | [INFO] [stderr] 56 | / if (dt.timestamp() + timeout_seconds as i64) >= Utc::now().timestamp() { [INFO] [stderr] 57 | | true [INFO] [stderr] 58 | | } else { [INFO] [stderr] 59 | | false [INFO] [stderr] 60 | | } [INFO] [stderr] | |_______________^ help: you can reduce it to: `(dt.timestamp() + timeout_seconds as i64) >= Utc::now().timestamp()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cache.rs:81:12 [INFO] [stderr] | [INFO] [stderr] 81 | if as_str.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!as_str.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: this boolean expression can be simplified [INFO] [stderr] --> src/cache.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | if !parent.is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `parent.is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/cache.rs:37:11 [INFO] [stderr] | [INFO] [stderr] 37 | / if duration.as_secs() < timeout_seconds { [INFO] [stderr] 38 | | true [INFO] [stderr] 39 | | } else { [INFO] [stderr] 40 | | false [INFO] [stderr] 41 | | } [INFO] [stderr] | |___________^ help: you can reduce it to: `duration.as_secs() < timeout_seconds` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:26:29 [INFO] [stderr] | [INFO] [stderr] 26 | self.cache_path.clone().unwrap_or( [INFO] [stderr] | _____________________________^ [INFO] [stderr] 27 | | "~/.ansible/tmp".to_owned(), [INFO] [stderr] 28 | | ) [INFO] [stderr] | |_____^ help: try this: `unwrap_or_else(|| "~/.ansible/tmp".to_owned())` [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] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/cache.rs:56:15 [INFO] [stderr] | [INFO] [stderr] 56 | / if (dt.timestamp() + timeout_seconds as i64) >= Utc::now().timestamp() { [INFO] [stderr] 57 | | true [INFO] [stderr] 58 | | } else { [INFO] [stderr] 59 | | false [INFO] [stderr] 60 | | } [INFO] [stderr] | |_______________^ help: you can reduce it to: `(dt.timestamp() + timeout_seconds as i64) >= Utc::now().timestamp()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/config.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | self.cache_max_age.clone().unwrap_or(300) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cache_max_age` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cache.rs:81:12 [INFO] [stderr] | [INFO] [stderr] 81 | if as_str.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!as_str.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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:26:29 [INFO] [stderr] | [INFO] [stderr] 26 | self.cache_path.clone().unwrap_or( [INFO] [stderr] | _____________________________^ [INFO] [stderr] 27 | | "~/.ansible/tmp".to_owned(), [INFO] [stderr] 28 | | ) [INFO] [stderr] | |_____^ help: try this: `unwrap_or_else(|| "~/.ansible/tmp".to_owned())` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/config.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | self.cache_max_age.clone().unwrap_or(300) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cache_max_age` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:59:26 [INFO] [stderr] | [INFO] [stderr] 59 | self.regions.clone().unwrap_or(vec![ [INFO] [stderr] | __________________________^ [INFO] [stderr] 60 | | "us-east-1".to_owned(), [INFO] [stderr] 61 | | "us-east-2".to_owned(), [INFO] [stderr] 62 | | "us-west-1".to_owned(), [INFO] [stderr] ... | [INFO] [stderr] 68 | | "ca-central-1".to_owned(), [INFO] [stderr] 69 | | ]) [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 59 | self.regions.clone().unwrap_or_else(|| vec![ [INFO] [stderr] 60 | "us-east-1".to_owned(), [INFO] [stderr] 61 | "us-east-2".to_owned(), [INFO] [stderr] 62 | "us-west-1".to_owned(), [INFO] [stderr] 63 | "us-west-2".to_owned(), [INFO] [stderr] 64 | "eu-west-1".to_owned(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:74:39 [INFO] [stderr] | [INFO] [stderr] 74 | self.destination_variable.clone().unwrap_or( [INFO] [stderr] | _______________________________________^ [INFO] [stderr] 75 | | "private_dns_name" [INFO] [stderr] 76 | | .to_owned(), [INFO] [stderr] 77 | | ) [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 74 | self.destination_variable.clone().unwrap_or_else(|| "private_dns_name" [INFO] [stderr] 75 | .to_owned()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:82:43 [INFO] [stderr] | [INFO] [stderr] 82 | self.vpc_destination_variable.clone().unwrap_or( [INFO] [stderr] | ___________________________________________^ [INFO] [stderr] 83 | | "private_ip_address" [INFO] [stderr] 84 | | .to_owned(), [INFO] [stderr] 85 | | ) [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 82 | self.vpc_destination_variable.clone().unwrap_or_else(|| "private_ip_address" [INFO] [stderr] 83 | .to_owned()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/config.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | self.all_instances.clone().unwrap_or(false) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.all_instances` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/config.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | self.instance_filters.clone().unwrap_or(HashMap::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.instance_filters.clone().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:99:33 [INFO] [stderr] | [INFO] [stderr] 99 | self.include_filter.clone().unwrap_or(".*".to_owned()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| ".*".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:103:33 [INFO] [stderr] | [INFO] [stderr] 103 | self.exclude_filter.clone().unwrap_or("^$".to_owned()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "^$".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:59:26 [INFO] [stderr] | [INFO] [stderr] 59 | self.regions.clone().unwrap_or(vec![ [INFO] [stderr] | __________________________^ [INFO] [stderr] 60 | | "us-east-1".to_owned(), [INFO] [stderr] 61 | | "us-east-2".to_owned(), [INFO] [stderr] 62 | | "us-west-1".to_owned(), [INFO] [stderr] ... | [INFO] [stderr] 68 | | "ca-central-1".to_owned(), [INFO] [stderr] 69 | | ]) [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 59 | self.regions.clone().unwrap_or_else(|| vec![ [INFO] [stderr] 60 | "us-east-1".to_owned(), [INFO] [stderr] 61 | "us-east-2".to_owned(), [INFO] [stderr] 62 | "us-west-1".to_owned(), [INFO] [stderr] 63 | "us-west-2".to_owned(), [INFO] [stderr] 64 | "eu-west-1".to_owned(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/ec2_utils.rs:113:35 [INFO] [stderr] | [INFO] [stderr] 113 | let location = az.rfind("-"); [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/ec2_utils.rs:115:11 [INFO] [stderr] | [INFO] [stderr] 115 | / if location.is_none() { [INFO] [stderr] 116 | | None [INFO] [stderr] 117 | | } else { [INFO] [stderr] 118 | | let az_owned: String = az.to_owned(); [INFO] [stderr] 119 | | let (region, _) = az_owned.split_at(location.unwrap() + 2); [INFO] [stderr] 120 | | Some(region.to_owned()) [INFO] [stderr] 121 | | } [INFO] [stderr] | |___________^ help: replace_it_with: `location?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:74:39 [INFO] [stderr] | [INFO] [stderr] 74 | self.destination_variable.clone().unwrap_or( [INFO] [stderr] | _______________________________________^ [INFO] [stderr] 75 | | "private_dns_name" [INFO] [stderr] 76 | | .to_owned(), [INFO] [stderr] 77 | | ) [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 74 | self.destination_variable.clone().unwrap_or_else(|| "private_dns_name" [INFO] [stderr] 75 | .to_owned()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:82:43 [INFO] [stderr] | [INFO] [stderr] 82 | self.vpc_destination_variable.clone().unwrap_or( [INFO] [stderr] | ___________________________________________^ [INFO] [stderr] 83 | | "private_ip_address" [INFO] [stderr] 84 | | .to_owned(), [INFO] [stderr] 85 | | ) [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 82 | self.vpc_destination_variable.clone().unwrap_or_else(|| "private_ip_address" [INFO] [stderr] 83 | .to_owned()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/config.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | self.all_instances.clone().unwrap_or(false) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.all_instances` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/config.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | self.instance_filters.clone().unwrap_or(HashMap::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.instance_filters.clone().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:99:33 [INFO] [stderr] | [INFO] [stderr] 99 | self.include_filter.clone().unwrap_or(".*".to_owned()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| ".*".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:103:33 [INFO] [stderr] | [INFO] [stderr] 103 | self.exclude_filter.clone().unwrap_or("^$".to_owned()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "^$".to_owned())` [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: single-character string constant used as pattern [INFO] [stderr] --> src/ec2_utils.rs:113:35 [INFO] [stderr] | [INFO] [stderr] 113 | let location = az.rfind("-"); [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/ec2_utils.rs:115:11 [INFO] [stderr] | [INFO] [stderr] 115 | / if location.is_none() { [INFO] [stderr] 116 | | None [INFO] [stderr] 117 | | } else { [INFO] [stderr] 118 | | let az_owned: String = az.to_owned(); [INFO] [stderr] 119 | | let (region, _) = az_owned.split_at(location.unwrap() + 2); [INFO] [stderr] 120 | | Some(region.to_owned()) [INFO] [stderr] 121 | | } [INFO] [stderr] | |___________^ help: replace_it_with: `location?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:62:38 [INFO] [stderr] | [INFO] [stderr] 62 | let path = env::var("EC2_RS_PATH").unwrap_or( [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 63 | | env::current_dir() [INFO] [stderr] 64 | | .expect("Failed to read current dir") [INFO] [stderr] 65 | | .to_str() [INFO] [stderr] 66 | | .unwrap() [INFO] [stderr] 67 | | .to_owned(), [INFO] [stderr] 68 | | ); [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 62 | let path = env::var("EC2_RS_PATH").unwrap_or_else(|_| env::current_dir() [INFO] [stderr] 63 | .expect("Failed to read current dir") [INFO] [stderr] 64 | .to_str() [INFO] [stderr] 65 | .unwrap() [INFO] [stderr] 66 | .to_owned()); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:108:20 [INFO] [stderr] | [INFO] [stderr] 108 | .split(",") [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:123:22 [INFO] [stderr] | [INFO] [stderr] 123 | let to_filter = if to_filter.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `to_filter.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:140:60 [INFO] [stderr] | [INFO] [stderr] 140 | let mut listed_roles: Vec = role_to_assume.split(",").map(|val| val.to_owned()).collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | role_assumption_mapping.get(account).unwrap().to_owned(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&role_assumption_mapping[account]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:62:38 [INFO] [stderr] | [INFO] [stderr] 62 | let path = env::var("EC2_RS_PATH").unwrap_or( [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 63 | | env::current_dir() [INFO] [stderr] 64 | | .expect("Failed to read current dir") [INFO] [stderr] 65 | | .to_str() [INFO] [stderr] 66 | | .unwrap() [INFO] [stderr] 67 | | .to_owned(), [INFO] [stderr] 68 | | ); [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 62 | let path = env::var("EC2_RS_PATH").unwrap_or_else(|_| env::current_dir() [INFO] [stderr] 63 | .expect("Failed to read current dir") [INFO] [stderr] 64 | .to_str() [INFO] [stderr] 65 | .unwrap() [INFO] [stderr] 66 | .to_owned()); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:108:20 [INFO] [stderr] | [INFO] [stderr] 108 | .split(",") [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:123:22 [INFO] [stderr] | [INFO] [stderr] 123 | let to_filter = if to_filter.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `to_filter.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:140:60 [INFO] [stderr] | [INFO] [stderr] 140 | let mut listed_roles: Vec = role_to_assume.split(",").map(|val| val.to_owned()).collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | role_assumption_mapping.get(account).unwrap().to_owned(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&role_assumption_mapping[account]` [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:289:70 [INFO] [stderr] | [INFO] [stderr] 289 | for icv in cloned_value.to_owned().split(",") { [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:289:70 [INFO] [stderr] | [INFO] [stderr] 289 | for icv in cloned_value.to_owned().split(",") { [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cache.rs:93:7 [INFO] [stderr] | [INFO] [stderr] 93 | potential_json_value: potential_json_value, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `potential_json_value` [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/cache.rs:94:7 [INFO] [stderr] | [INFO] [stderr] 94 | valid_cache: valid_cache, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `valid_cache` [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: redundant field names in struct initialization [INFO] [stderr] --> src/cache.rs:93:7 [INFO] [stderr] | [INFO] [stderr] 93 | potential_json_value: potential_json_value, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `potential_json_value` [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/cache.rs:94:7 [INFO] [stderr] | [INFO] [stderr] 94 | valid_cache: valid_cache, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `valid_cache` [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] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/ec2_parsing.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `ec2-rs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/cache.rs:80:7 [INFO] [stderr] | [INFO] [stderr] 80 | / if result.is_ok() { [INFO] [stderr] 81 | | if as_str.len() != 0 { [INFO] [stderr] 82 | | let data = JsonFromStr(&as_str); [INFO] [stderr] 83 | | if data.is_ok() { [INFO] [stderr] ... | [INFO] [stderr] 87 | | } [INFO] [stderr] 88 | | } [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] 80 | if result.is_ok() && as_str.len() != 0 { [INFO] [stderr] 81 | let data = JsonFromStr(&as_str); [INFO] [stderr] 82 | if data.is_ok() { [INFO] [stderr] 83 | let value = data.unwrap(); [INFO] [stderr] 84 | potential_json_value = Some(value); [INFO] [stderr] 85 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/cache.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | if !parent.is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `parent.is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/cache.rs:37:11 [INFO] [stderr] | [INFO] [stderr] 37 | / if duration.as_secs() < timeout_seconds { [INFO] [stderr] 38 | | true [INFO] [stderr] 39 | | } else { [INFO] [stderr] 40 | | false [INFO] [stderr] 41 | | } [INFO] [stderr] | |___________^ help: you can reduce it to: `duration.as_secs() < timeout_seconds` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/cache.rs:56:15 [INFO] [stderr] | [INFO] [stderr] 56 | / if (dt.timestamp() + timeout_seconds as i64) >= Utc::now().timestamp() { [INFO] [stderr] 57 | | true [INFO] [stderr] 58 | | } else { [INFO] [stderr] 59 | | false [INFO] [stderr] 60 | | } [INFO] [stderr] | |_______________^ help: you can reduce it to: `(dt.timestamp() + timeout_seconds as i64) >= Utc::now().timestamp()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cache.rs:81:12 [INFO] [stderr] | [INFO] [stderr] 81 | if as_str.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!as_str.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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:26:29 [INFO] [stderr] | [INFO] [stderr] 26 | self.cache_path.clone().unwrap_or( [INFO] [stderr] | _____________________________^ [INFO] [stderr] 27 | | "~/.ansible/tmp".to_owned(), [INFO] [stderr] 28 | | ) [INFO] [stderr] | |_____^ help: try this: `unwrap_or_else(|| "~/.ansible/tmp".to_owned())` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/config.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | self.cache_max_age.clone().unwrap_or(300) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cache_max_age` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:59:26 [INFO] [stderr] | [INFO] [stderr] 59 | self.regions.clone().unwrap_or(vec![ [INFO] [stderr] | __________________________^ [INFO] [stderr] 60 | | "us-east-1".to_owned(), [INFO] [stderr] 61 | | "us-east-2".to_owned(), [INFO] [stderr] 62 | | "us-west-1".to_owned(), [INFO] [stderr] ... | [INFO] [stderr] 68 | | "ca-central-1".to_owned(), [INFO] [stderr] 69 | | ]) [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 59 | self.regions.clone().unwrap_or_else(|| vec![ [INFO] [stderr] 60 | "us-east-1".to_owned(), [INFO] [stderr] 61 | "us-east-2".to_owned(), [INFO] [stderr] 62 | "us-west-1".to_owned(), [INFO] [stderr] 63 | "us-west-2".to_owned(), [INFO] [stderr] 64 | "eu-west-1".to_owned(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:74:39 [INFO] [stderr] | [INFO] [stderr] 74 | self.destination_variable.clone().unwrap_or( [INFO] [stderr] | _______________________________________^ [INFO] [stderr] 75 | | "private_dns_name" [INFO] [stderr] 76 | | .to_owned(), [INFO] [stderr] 77 | | ) [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 74 | self.destination_variable.clone().unwrap_or_else(|| "private_dns_name" [INFO] [stderr] 75 | .to_owned()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:82:43 [INFO] [stderr] | [INFO] [stderr] 82 | self.vpc_destination_variable.clone().unwrap_or( [INFO] [stderr] | ___________________________________________^ [INFO] [stderr] 83 | | "private_ip_address" [INFO] [stderr] 84 | | .to_owned(), [INFO] [stderr] 85 | | ) [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 82 | self.vpc_destination_variable.clone().unwrap_or_else(|| "private_ip_address" [INFO] [stderr] 83 | .to_owned()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/config.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | self.all_instances.clone().unwrap_or(false) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.all_instances` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/config.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | self.instance_filters.clone().unwrap_or(HashMap::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.instance_filters.clone().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:99:33 [INFO] [stderr] | [INFO] [stderr] 99 | self.include_filter.clone().unwrap_or(".*".to_owned()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| ".*".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:103:33 [INFO] [stderr] | [INFO] [stderr] 103 | self.exclude_filter.clone().unwrap_or("^$".to_owned()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "^$".to_owned())` [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: single-character string constant used as pattern [INFO] [stderr] --> src/ec2_utils.rs:113:35 [INFO] [stderr] | [INFO] [stderr] 113 | let location = az.rfind("-"); [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/ec2_utils.rs:115:11 [INFO] [stderr] | [INFO] [stderr] 115 | / if location.is_none() { [INFO] [stderr] 116 | | None [INFO] [stderr] 117 | | } else { [INFO] [stderr] 118 | | let az_owned: String = az.to_owned(); [INFO] [stderr] 119 | | let (region, _) = az_owned.split_at(location.unwrap() + 2); [INFO] [stderr] 120 | | Some(region.to_owned()) [INFO] [stderr] 121 | | } [INFO] [stderr] | |___________^ help: replace_it_with: `location?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:62:38 [INFO] [stderr] | [INFO] [stderr] 62 | let path = env::var("EC2_RS_PATH").unwrap_or( [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 63 | | env::current_dir() [INFO] [stderr] 64 | | .expect("Failed to read current dir") [INFO] [stderr] 65 | | .to_str() [INFO] [stderr] 66 | | .unwrap() [INFO] [stderr] 67 | | .to_owned(), [INFO] [stderr] 68 | | ); [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 62 | let path = env::var("EC2_RS_PATH").unwrap_or_else(|_| env::current_dir() [INFO] [stderr] 63 | .expect("Failed to read current dir") [INFO] [stderr] 64 | .to_str() [INFO] [stderr] 65 | .unwrap() [INFO] [stderr] 66 | .to_owned()); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:108:20 [INFO] [stderr] | [INFO] [stderr] 108 | .split(",") [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:123:22 [INFO] [stderr] | [INFO] [stderr] 123 | let to_filter = if to_filter.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `to_filter.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:140:60 [INFO] [stderr] | [INFO] [stderr] 140 | let mut listed_roles: Vec = role_to_assume.split(",").map(|val| val.to_owned()).collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | role_assumption_mapping.get(account).unwrap().to_owned(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&role_assumption_mapping[account]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:289:70 [INFO] [stderr] | [INFO] [stderr] 289 | for icv in cloned_value.to_owned().split(",") { [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/cache.rs:80:7 [INFO] [stderr] | [INFO] [stderr] 80 | / if result.is_ok() { [INFO] [stderr] 81 | | if as_str.len() != 0 { [INFO] [stderr] 82 | | let data = JsonFromStr(&as_str); [INFO] [stderr] 83 | | if data.is_ok() { [INFO] [stderr] ... | [INFO] [stderr] 87 | | } [INFO] [stderr] 88 | | } [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] 80 | if result.is_ok() && as_str.len() != 0 { [INFO] [stderr] 81 | let data = JsonFromStr(&as_str); [INFO] [stderr] 82 | if data.is_ok() { [INFO] [stderr] 83 | let value = data.unwrap(); [INFO] [stderr] 84 | potential_json_value = Some(value); [INFO] [stderr] 85 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `ec2_rs_lib::role_assumer` [INFO] [stderr] --> benches/role_assuming.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use ec2_rs_lib::role_assumer; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ no `role_assumer` in the root [INFO] [stderr] [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/role_assuming.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] Some errors occurred: E0432, E0554. [INFO] [stderr] For more information about an error, try `rustc --explain E0432`. [INFO] [stderr] error: Could not compile `ec2-rs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/cache.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | if !parent.is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `parent.is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/cache.rs:37:11 [INFO] [stderr] | [INFO] [stderr] 37 | / if duration.as_secs() < timeout_seconds { [INFO] [stderr] 38 | | true [INFO] [stderr] 39 | | } else { [INFO] [stderr] 40 | | false [INFO] [stderr] 41 | | } [INFO] [stderr] | |___________^ help: you can reduce it to: `duration.as_secs() < timeout_seconds` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/cache.rs:56:15 [INFO] [stderr] | [INFO] [stderr] 56 | / if (dt.timestamp() + timeout_seconds as i64) >= Utc::now().timestamp() { [INFO] [stderr] 57 | | true [INFO] [stderr] 58 | | } else { [INFO] [stderr] 59 | | false [INFO] [stderr] 60 | | } [INFO] [stderr] | |_______________^ help: you can reduce it to: `(dt.timestamp() + timeout_seconds as i64) >= Utc::now().timestamp()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cache.rs:81:12 [INFO] [stderr] | [INFO] [stderr] 81 | if as_str.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!as_str.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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:26:29 [INFO] [stderr] | [INFO] [stderr] 26 | self.cache_path.clone().unwrap_or( [INFO] [stderr] | _____________________________^ [INFO] [stderr] 27 | | "~/.ansible/tmp".to_owned(), [INFO] [stderr] 28 | | ) [INFO] [stderr] | |_____^ help: try this: `unwrap_or_else(|| "~/.ansible/tmp".to_owned())` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/config.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | self.cache_max_age.clone().unwrap_or(300) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cache_max_age` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:59:26 [INFO] [stderr] | [INFO] [stderr] 59 | self.regions.clone().unwrap_or(vec![ [INFO] [stderr] | __________________________^ [INFO] [stderr] 60 | | "us-east-1".to_owned(), [INFO] [stderr] 61 | | "us-east-2".to_owned(), [INFO] [stderr] 62 | | "us-west-1".to_owned(), [INFO] [stderr] ... | [INFO] [stderr] 68 | | "ca-central-1".to_owned(), [INFO] [stderr] 69 | | ]) [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 59 | self.regions.clone().unwrap_or_else(|| vec![ [INFO] [stderr] 60 | "us-east-1".to_owned(), [INFO] [stderr] 61 | "us-east-2".to_owned(), [INFO] [stderr] 62 | "us-west-1".to_owned(), [INFO] [stderr] 63 | "us-west-2".to_owned(), [INFO] [stderr] 64 | "eu-west-1".to_owned(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:74:39 [INFO] [stderr] | [INFO] [stderr] 74 | self.destination_variable.clone().unwrap_or( [INFO] [stderr] | _______________________________________^ [INFO] [stderr] 75 | | "private_dns_name" [INFO] [stderr] 76 | | .to_owned(), [INFO] [stderr] 77 | | ) [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 74 | self.destination_variable.clone().unwrap_or_else(|| "private_dns_name" [INFO] [stderr] 75 | .to_owned()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:82:43 [INFO] [stderr] | [INFO] [stderr] 82 | self.vpc_destination_variable.clone().unwrap_or( [INFO] [stderr] | ___________________________________________^ [INFO] [stderr] 83 | | "private_ip_address" [INFO] [stderr] 84 | | .to_owned(), [INFO] [stderr] 85 | | ) [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 82 | self.vpc_destination_variable.clone().unwrap_or_else(|| "private_ip_address" [INFO] [stderr] 83 | .to_owned()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/config.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | self.all_instances.clone().unwrap_or(false) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.all_instances` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/config.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | self.instance_filters.clone().unwrap_or(HashMap::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.instance_filters.clone().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:99:33 [INFO] [stderr] | [INFO] [stderr] 99 | self.include_filter.clone().unwrap_or(".*".to_owned()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| ".*".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:103:33 [INFO] [stderr] | [INFO] [stderr] 103 | self.exclude_filter.clone().unwrap_or("^$".to_owned()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "^$".to_owned())` [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: single-character string constant used as pattern [INFO] [stderr] --> src/ec2_utils.rs:113:35 [INFO] [stderr] | [INFO] [stderr] 113 | let location = az.rfind("-"); [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/ec2_utils.rs:115:11 [INFO] [stderr] | [INFO] [stderr] 115 | / if location.is_none() { [INFO] [stderr] 116 | | None [INFO] [stderr] 117 | | } else { [INFO] [stderr] 118 | | let az_owned: String = az.to_owned(); [INFO] [stderr] 119 | | let (region, _) = az_owned.split_at(location.unwrap() + 2); [INFO] [stderr] 120 | | Some(region.to_owned()) [INFO] [stderr] 121 | | } [INFO] [stderr] | |___________^ help: replace_it_with: `location?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:62:38 [INFO] [stderr] | [INFO] [stderr] 62 | let path = env::var("EC2_RS_PATH").unwrap_or( [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 63 | | env::current_dir() [INFO] [stderr] 64 | | .expect("Failed to read current dir") [INFO] [stderr] 65 | | .to_str() [INFO] [stderr] 66 | | .unwrap() [INFO] [stderr] 67 | | .to_owned(), [INFO] [stderr] 68 | | ); [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 62 | let path = env::var("EC2_RS_PATH").unwrap_or_else(|_| env::current_dir() [INFO] [stderr] 63 | .expect("Failed to read current dir") [INFO] [stderr] 64 | .to_str() [INFO] [stderr] 65 | .unwrap() [INFO] [stderr] 66 | .to_owned()); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:108:20 [INFO] [stderr] | [INFO] [stderr] 108 | .split(",") [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:123:22 [INFO] [stderr] | [INFO] [stderr] 123 | let to_filter = if to_filter.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `to_filter.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:140:60 [INFO] [stderr] | [INFO] [stderr] 140 | let mut listed_roles: Vec = role_to_assume.split(",").map(|val| val.to_owned()).collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | role_assumption_mapping.get(account).unwrap().to_owned(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&role_assumption_mapping[account]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:289:70 [INFO] [stderr] | [INFO] [stderr] 289 | for icv in cloned_value.to_owned().split(",") { [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "59b4424a7c06a0ceda3ffaa6bdef03ff2d79df9eb5c4ddc9d07f4900c66834a2"` [INFO] running `"docker" "rm" "-f" "59b4424a7c06a0ceda3ffaa6bdef03ff2d79df9eb5c4ddc9d07f4900c66834a2"` [INFO] [stdout] 59b4424a7c06a0ceda3ffaa6bdef03ff2d79df9eb5c4ddc9d07f4900c66834a2