[INFO] updating cached repository nkmazur/cert_machine [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/nkmazur/cert_machine [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/nkmazur/cert_machine" "work/ex/clippy-test-run/sources/stable/gh/nkmazur/cert_machine"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/nkmazur/cert_machine'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/nkmazur/cert_machine" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/nkmazur/cert_machine"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/nkmazur/cert_machine'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 0fdd2b690effb8c339b5f92ee617cf267e6cf313 [INFO] sha for GitHub repo nkmazur/cert_machine: 0fdd2b690effb8c339b5f92ee617cf267e6cf313 [INFO] validating manifest of nkmazur/cert_machine 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 nkmazur/cert_machine 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 nkmazur/cert_machine [INFO] finished frobbing nkmazur/cert_machine [INFO] frobbed toml for nkmazur/cert_machine written to work/ex/clippy-test-run/sources/stable/gh/nkmazur/cert_machine/Cargo.toml [INFO] started frobbing nkmazur/cert_machine [INFO] finished frobbing nkmazur/cert_machine [INFO] frobbed toml for nkmazur/cert_machine written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/nkmazur/cert_machine/Cargo.toml [INFO] crate nkmazur/cert_machine 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] linting nkmazur/cert_machine against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/nkmazur/cert_machine:/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] b83c3c91cd7ac7981e3b167a9395ae28de29bf18f0bb7326ced034a6861ab151 [INFO] running `"docker" "start" "-a" "b83c3c91cd7ac7981e3b167a9395ae28de29bf18f0bb7326ced034a6861ab151"` [INFO] [stderr] Compiling gumdrop_derive v0.5.0 [INFO] [stderr] Checking gumdrop v0.5.0 [INFO] [stderr] Checking cert_machine v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | key_length: key_length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `key_length` [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/lib.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | validity_days: validity_days, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `validity_days` [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/lib.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | key_length: key_length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `key_length` [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/lib.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | validity_days: validity_days, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `validity_days` [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/lib.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | key_length: key_length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `key_length` [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/lib.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | validity_days: validity_days, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `validity_days` [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/lib.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | key_length: key_length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `key_length` [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/lib.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | validity_days: validity_days, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `validity_days` [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/lib.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | key_length: key_length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `key_length` [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/lib.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | validity_days: validity_days, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `validity_days` [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/lib.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | key_length: key_length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `key_length` [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/lib.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | validity_days: validity_days, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `validity_days` [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/lib.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | key_length: key_length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `key_length` [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/lib.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | validity_days: validity_days, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `validity_days` [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/lib.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | key_length: key_length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `key_length` [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/lib.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | validity_days: validity_days, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `validity_days` [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/lib.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | pub ca: Option<&'a Box>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&'a Bundle` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/lib.rs:222:19 [INFO] [stderr] | [INFO] [stderr] 222 | match item.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try this: `item` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/lib.rs:243:23 [INFO] [stderr] | [INFO] [stderr] 243 | match item.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try this: `item` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/lib.rs:299:17 [INFO] [stderr] | [INFO] [stderr] 299 | / match is_ip(&name) { [INFO] [stderr] 300 | | true => san.ip(&name), [INFO] [stderr] 301 | | false => san.dns(&name), [INFO] [stderr] 302 | | }; [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if is_ip(&name) { san.ip(&name) } else { san.dns(&name) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/lib.rs:324:23 [INFO] [stderr] | [INFO] [stderr] 324 | match constraint.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try this: `constraint` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:372:43 [INFO] [stderr] | [INFO] [stderr] 372 | let numbers: Vec<&str> = string.split(".").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/lib.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | pub ca: Option<&'a Box>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&'a Bundle` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/lib.rs:222:19 [INFO] [stderr] | [INFO] [stderr] 222 | match item.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try this: `item` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/lib.rs:243:23 [INFO] [stderr] | [INFO] [stderr] 243 | match item.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try this: `item` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/lib.rs:299:17 [INFO] [stderr] | [INFO] [stderr] 299 | / match is_ip(&name) { [INFO] [stderr] 300 | | true => san.ip(&name), [INFO] [stderr] 301 | | false => san.dns(&name), [INFO] [stderr] 302 | | }; [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if is_ip(&name) { san.ip(&name) } else { san.dns(&name) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/lib.rs:324:23 [INFO] [stderr] | [INFO] [stderr] 324 | match constraint.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try this: `constraint` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:372:43 [INFO] [stderr] | [INFO] [stderr] 372 | let numbers: Vec<&str> = string.split(".").collect(); [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: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/main.rs:450:25 [INFO] [stderr] | [INFO] [stderr] 450 | None => print!("\n"), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/main.rs:450:25 [INFO] [stderr] | [INFO] [stderr] 450 | None => print!("\n"), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `EtcdServer` [INFO] [stderr] --> src/kubernetes_certs.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | EtcdServer(&'a Instance), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Kubelet` [INFO] [stderr] --> src/kubernetes_certs.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | Kubelet(&'a Instance), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/kubernetes_certs.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | / match Path::new(&crt_filename).exists() { [INFO] [stderr] 66 | | false => fs::write(&crt_filename, bundle.to_pem()).expect("Unable to write cert!"), [INFO] [stderr] 67 | | true => { [INFO] [stderr] 68 | | if overwrite { [INFO] [stderr] ... | [INFO] [stderr] 74 | | } [INFO] [stderr] 75 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 65 | if Path::new(&crt_filename).exists() { [INFO] [stderr] 66 | if overwrite { [INFO] [stderr] 67 | println!("OVERWRITING: {}", &crt_filename); [INFO] [stderr] 68 | fs::write(&crt_filename, bundle.to_pem()).expect("Unable to write cert!"); [INFO] [stderr] 69 | } else { [INFO] [stderr] 70 | eprintln!("File exists: {}!", crt_filename); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/kubernetes_certs.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | / match Path::new(&key_filename).exists() { [INFO] [stderr] 77 | | false => fs::write(&key_filename, &bundle.key).expect("Unable to write key!"), [INFO] [stderr] 78 | | true => { [INFO] [stderr] 79 | | if overwrite { [INFO] [stderr] ... | [INFO] [stderr] 86 | | } [INFO] [stderr] 87 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 76 | if Path::new(&key_filename).exists() { [INFO] [stderr] 77 | if overwrite { [INFO] [stderr] 78 | println!("OVERWRITING: {}", &crt_filename); [INFO] [stderr] 79 | fs::write(&key_filename, &bundle.key).expect("Unable to write key!"); [INFO] [stderr] 80 | } else { [INFO] [stderr] 81 | eprintln!("File exists: {}!", key_filename); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/kubernetes_certs.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | / match Path::new(&filename).exists() { [INFO] [stderr] 102 | | false => { [INFO] [stderr] 103 | | let mut file = OpenOptions::new() [INFO] [stderr] 104 | | .write(true) [INFO] [stderr] ... | [INFO] [stderr] 124 | | } [INFO] [stderr] 125 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 101 | if Path::new(&filename).exists() { [INFO] [stderr] 102 | let mut file = File::open(&filename)?; [INFO] [stderr] 103 | let mut contents = String::new(); [INFO] [stderr] 104 | file.read_to_string(&mut contents)?; [INFO] [stderr] 105 | let sn: u32 = match contents.trim().parse() { [INFO] [stderr] 106 | Ok(num) => num, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:202:21 [INFO] [stderr] | [INFO] [stderr] 202 | main_ca: Option<&Box>, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:212:16 [INFO] [stderr] | [INFO] [stderr] 212 | ca: Option<&Box>, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:236:16 [INFO] [stderr] | [INFO] [stderr] 236 | ca: Option<&Box>, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:259:16 [INFO] [stderr] | [INFO] [stderr] 259 | ca: Option<&Box>, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:286:16 [INFO] [stderr] | [INFO] [stderr] 286 | ca: Option<&Box>, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `EtcdServer` [INFO] [stderr] --> src/kubernetes_certs.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | EtcdServer(&'a Instance), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Kubelet` [INFO] [stderr] --> src/kubernetes_certs.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | Kubelet(&'a Instance), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:449:9 [INFO] [stderr] | [INFO] [stderr] 449 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:461:22 [INFO] [stderr] | [INFO] [stderr] 461 | pub fn user_cert(ca: &Box, config: &Config, user: &User, serial_number: u32) -> Result, &'static str> { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:470:9 [INFO] [stderr] | [INFO] [stderr] 470 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:494:9 [INFO] [stderr] | [INFO] [stderr] 494 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:511:9 [INFO] [stderr] | [INFO] [stderr] 511 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:530:9 [INFO] [stderr] | [INFO] [stderr] 530 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:547:9 [INFO] [stderr] | [INFO] [stderr] 547 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:564:9 [INFO] [stderr] | [INFO] [stderr] 564 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:578:9 [INFO] [stderr] | [INFO] [stderr] 578 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/main.rs:118:16 [INFO] [stderr] | [INFO] [stderr] 118 | if let Err(_) = symlink(&source_filename, &dest_filename) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 119 | | match fs::symlink_metadata(&dest_filename) { [INFO] [stderr] 120 | | Ok(ref metadata) => { [INFO] [stderr] 121 | | match metadata.file_type().is_symlink() { [INFO] [stderr] ... | [INFO] [stderr] 135 | | } [INFO] [stderr] 136 | | } [INFO] [stderr] | |_________- help: try this: `if symlink(&source_filename, &dest_filename).is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:121:21 [INFO] [stderr] | [INFO] [stderr] 121 | / match metadata.file_type().is_symlink() { [INFO] [stderr] 122 | | true => { [INFO] [stderr] 123 | | fs::remove_file(&dest_filename).unwrap(); [INFO] [stderr] 124 | | symlink(&source_filename, &dest_filename).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 129 | | }, [INFO] [stderr] 130 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 121 | if metadata.file_type().is_symlink() { [INFO] [stderr] 122 | fs::remove_file(&dest_filename).unwrap(); [INFO] [stderr] 123 | symlink(&source_filename, &dest_filename).unwrap(); [INFO] [stderr] 124 | } else { [INFO] [stderr] 125 | eprintln!("Unable to create symlink. \"{}\" exists and not a symlink!", &dest_filename); [INFO] [stderr] 126 | exit(1); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 40 [INFO] [stderr] --> src/main.rs:141:1 [INFO] [stderr] | [INFO] [stderr] 141 | / fn main() { [INFO] [stderr] 142 | | let opts = CommandOptions::parse_args_default_or_exit(); [INFO] [stderr] 143 | | [INFO] [stderr] 144 | | let config = Config::new("config.toml"); [INFO] [stderr] ... | [INFO] [stderr] 469 | | } [INFO] [stderr] 470 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/kubernetes_certs.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | / match Path::new(&crt_filename).exists() { [INFO] [stderr] 66 | | false => fs::write(&crt_filename, bundle.to_pem()).expect("Unable to write cert!"), [INFO] [stderr] 67 | | true => { [INFO] [stderr] 68 | | if overwrite { [INFO] [stderr] ... | [INFO] [stderr] 74 | | } [INFO] [stderr] 75 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 65 | if Path::new(&crt_filename).exists() { [INFO] [stderr] 66 | if overwrite { [INFO] [stderr] 67 | println!("OVERWRITING: {}", &crt_filename); [INFO] [stderr] 68 | fs::write(&crt_filename, bundle.to_pem()).expect("Unable to write cert!"); [INFO] [stderr] 69 | } else { [INFO] [stderr] 70 | eprintln!("File exists: {}!", crt_filename); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/kubernetes_certs.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | / match Path::new(&key_filename).exists() { [INFO] [stderr] 77 | | false => fs::write(&key_filename, &bundle.key).expect("Unable to write key!"), [INFO] [stderr] 78 | | true => { [INFO] [stderr] 79 | | if overwrite { [INFO] [stderr] ... | [INFO] [stderr] 86 | | } [INFO] [stderr] 87 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 76 | if Path::new(&key_filename).exists() { [INFO] [stderr] 77 | if overwrite { [INFO] [stderr] 78 | println!("OVERWRITING: {}", &crt_filename); [INFO] [stderr] 79 | fs::write(&key_filename, &bundle.key).expect("Unable to write key!"); [INFO] [stderr] 80 | } else { [INFO] [stderr] 81 | eprintln!("File exists: {}!", key_filename); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/kubernetes_certs.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | / match Path::new(&filename).exists() { [INFO] [stderr] 102 | | false => { [INFO] [stderr] 103 | | let mut file = OpenOptions::new() [INFO] [stderr] 104 | | .write(true) [INFO] [stderr] ... | [INFO] [stderr] 124 | | } [INFO] [stderr] 125 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 101 | if Path::new(&filename).exists() { [INFO] [stderr] 102 | let mut file = File::open(&filename)?; [INFO] [stderr] 103 | let mut contents = String::new(); [INFO] [stderr] 104 | file.read_to_string(&mut contents)?; [INFO] [stderr] 105 | let sn: u32 = match contents.trim().parse() { [INFO] [stderr] 106 | Ok(num) => num, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/main.rs:340:36 [INFO] [stderr] | [INFO] [stderr] 340 | let hostname = kind.clone().split_at(8); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 340 | let hostname = &(*kind).clone().split_at(8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 340 | let hostname = &str::clone(kind).split_at(8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/main.rs:391:36 [INFO] [stderr] | [INFO] [stderr] 391 | let hostname = kind.clone().split_at(5); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 391 | let hostname = &(*kind).clone().split_at(5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 391 | let hostname = &str::clone(kind).split_at(5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/main.rs:426:36 [INFO] [stderr] | [INFO] [stderr] 426 | let username = kind.clone().split_at(10); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 426 | let username = &(*kind).clone().split_at(10); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 426 | let username = &str::clone(kind).split_at(10); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:202:21 [INFO] [stderr] | [INFO] [stderr] 202 | main_ca: Option<&Box>, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:212:16 [INFO] [stderr] | [INFO] [stderr] 212 | ca: Option<&Box>, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:236:16 [INFO] [stderr] | [INFO] [stderr] 236 | ca: Option<&Box>, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:259:16 [INFO] [stderr] | [INFO] [stderr] 259 | ca: Option<&Box>, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:286:16 [INFO] [stderr] | [INFO] [stderr] 286 | ca: Option<&Box>, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `cert_machine`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:449:9 [INFO] [stderr] | [INFO] [stderr] 449 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:461:22 [INFO] [stderr] | [INFO] [stderr] 461 | pub fn user_cert(ca: &Box, config: &Config, user: &User, serial_number: u32) -> Result, &'static str> { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:470:9 [INFO] [stderr] | [INFO] [stderr] 470 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:494:9 [INFO] [stderr] | [INFO] [stderr] 494 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:511:9 [INFO] [stderr] | [INFO] [stderr] 511 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:530:9 [INFO] [stderr] | [INFO] [stderr] 530 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:547:9 [INFO] [stderr] | [INFO] [stderr] 547 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:564:9 [INFO] [stderr] | [INFO] [stderr] 564 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/kubernetes_certs.rs:578:9 [INFO] [stderr] | [INFO] [stderr] 578 | ca: &Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `&Bundle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/main.rs:118:16 [INFO] [stderr] | [INFO] [stderr] 118 | if let Err(_) = symlink(&source_filename, &dest_filename) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 119 | | match fs::symlink_metadata(&dest_filename) { [INFO] [stderr] 120 | | Ok(ref metadata) => { [INFO] [stderr] 121 | | match metadata.file_type().is_symlink() { [INFO] [stderr] ... | [INFO] [stderr] 135 | | } [INFO] [stderr] 136 | | } [INFO] [stderr] | |_________- help: try this: `if symlink(&source_filename, &dest_filename).is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:121:21 [INFO] [stderr] | [INFO] [stderr] 121 | / match metadata.file_type().is_symlink() { [INFO] [stderr] 122 | | true => { [INFO] [stderr] 123 | | fs::remove_file(&dest_filename).unwrap(); [INFO] [stderr] 124 | | symlink(&source_filename, &dest_filename).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 129 | | }, [INFO] [stderr] 130 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 121 | if metadata.file_type().is_symlink() { [INFO] [stderr] 122 | fs::remove_file(&dest_filename).unwrap(); [INFO] [stderr] 123 | symlink(&source_filename, &dest_filename).unwrap(); [INFO] [stderr] 124 | } else { [INFO] [stderr] 125 | eprintln!("Unable to create symlink. \"{}\" exists and not a symlink!", &dest_filename); [INFO] [stderr] 126 | exit(1); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 40 [INFO] [stderr] --> src/main.rs:141:1 [INFO] [stderr] | [INFO] [stderr] 141 | / fn main() { [INFO] [stderr] 142 | | let opts = CommandOptions::parse_args_default_or_exit(); [INFO] [stderr] 143 | | [INFO] [stderr] 144 | | let config = Config::new("config.toml"); [INFO] [stderr] ... | [INFO] [stderr] 469 | | } [INFO] [stderr] 470 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/main.rs:340:36 [INFO] [stderr] | [INFO] [stderr] 340 | let hostname = kind.clone().split_at(8); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 340 | let hostname = &(*kind).clone().split_at(8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 340 | let hostname = &str::clone(kind).split_at(8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/main.rs:391:36 [INFO] [stderr] | [INFO] [stderr] 391 | let hostname = kind.clone().split_at(5); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 391 | let hostname = &(*kind).clone().split_at(5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 391 | let hostname = &str::clone(kind).split_at(5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/main.rs:426:36 [INFO] [stderr] | [INFO] [stderr] 426 | let username = kind.clone().split_at(10); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 426 | let username = &(*kind).clone().split_at(10); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 426 | let username = &str::clone(kind).split_at(10); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `cert_machine`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "b83c3c91cd7ac7981e3b167a9395ae28de29bf18f0bb7326ced034a6861ab151"` [INFO] running `"docker" "rm" "-f" "b83c3c91cd7ac7981e3b167a9395ae28de29bf18f0bb7326ced034a6861ab151"` [INFO] [stdout] b83c3c91cd7ac7981e3b167a9395ae28de29bf18f0bb7326ced034a6861ab151