[INFO] crate shiplift 0.3.2 is already in cache [INFO] extracting crate shiplift 0.3.2 into work/ex/clippy-test-run/sources/stable/reg/shiplift/0.3.2 [INFO] extracting crate shiplift 0.3.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/shiplift/0.3.2 [INFO] validating manifest of shiplift-0.3.2 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of shiplift-0.3.2 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing shiplift-0.3.2 [INFO] finished frobbing shiplift-0.3.2 [INFO] frobbed toml for shiplift-0.3.2 written to work/ex/clippy-test-run/sources/stable/reg/shiplift/0.3.2/Cargo.toml [INFO] started frobbing shiplift-0.3.2 [INFO] finished frobbing shiplift-0.3.2 [INFO] frobbed toml for shiplift-0.3.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/shiplift/0.3.2/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting shiplift-0.3.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/shiplift/0.3.2:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 6a5553efbbeca6ba6c432a966fc518c34de8a18d5e35eac5f9cad521e2c28814 [INFO] running `"docker" "start" "-a" "6a5553efbbeca6ba6c432a966fc518c34de8a18d5e35eac5f9cad521e2c28814"` [INFO] [stderr] Checking filetime v0.1.15 [INFO] [stderr] Checking hyperlocal v0.3.0 [INFO] [stderr] Checking hyper-openssl v0.2.7 [INFO] [stderr] Checking tar v0.3.4 [INFO] [stderr] Checking shiplift v0.3.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:348:13 [INFO] [stderr] | [INFO] [stderr] 348 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/builder.rs:349:13 [INFO] [stderr] | [INFO] [stderr] 349 | params_list: params_list, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `params_list` [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/builder.rs:350:13 [INFO] [stderr] | [INFO] [stderr] 350 | params_hash: params_hash, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `params_hash` [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/builder.rs:910:13 [INFO] [stderr] | [INFO] [stderr] 910 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/builder.rs:911:13 [INFO] [stderr] | [INFO] [stderr] 911 | params_hash: params_hash, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `params_hash` [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:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | docker: docker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `docker` [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:145:18 [INFO] [stderr] | [INFO] [stderr] 145 | Images { docker: docker } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `docker` [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:279:13 [INFO] [stderr] | [INFO] [stderr] 279 | docker: docker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `docker` [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:461:22 [INFO] [stderr] | [INFO] [stderr] 461 | Containers { docker: docker } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `docker` [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:503:20 [INFO] [stderr] | [INFO] [stderr] 503 | Networks { docker: docker } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `docker` [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:545:13 [INFO] [stderr] | [INFO] [stderr] 545 | docker: docker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `docker` [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:637:25 [INFO] [stderr] | [INFO] [stderr] 637 | client: client, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `client` [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/builder.rs:348:13 [INFO] [stderr] | [INFO] [stderr] 348 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/builder.rs:349:13 [INFO] [stderr] | [INFO] [stderr] 349 | params_list: params_list, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `params_list` [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/builder.rs:350:13 [INFO] [stderr] | [INFO] [stderr] 350 | params_hash: params_hash, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `params_hash` [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/builder.rs:910:13 [INFO] [stderr] | [INFO] [stderr] 910 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/builder.rs:911:13 [INFO] [stderr] | [INFO] [stderr] 911 | params_hash: params_hash, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `params_hash` [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:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | docker: docker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `docker` [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:145:18 [INFO] [stderr] | [INFO] [stderr] 145 | Images { docker: docker } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `docker` [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:279:13 [INFO] [stderr] | [INFO] [stderr] 279 | docker: docker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `docker` [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:461:22 [INFO] [stderr] | [INFO] [stderr] 461 | Containers { docker: docker } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `docker` [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:503:20 [INFO] [stderr] | [INFO] [stderr] 503 | Networks { docker: docker } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `docker` [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:545:13 [INFO] [stderr] | [INFO] [stderr] 545 | docker: docker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `docker` [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:637:25 [INFO] [stderr] | [INFO] [stderr] 637 | client: client, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `client` [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/transport.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | message [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/transport.rs:138:23 [INFO] [stderr] | [INFO] [stderr] 138 | let message = json_response.as_ref() [INFO] [stderr] | _______________________^ [INFO] [stderr] 139 | | .and_then(|x| x.as_object()) [INFO] [stderr] 140 | | .and_then(|x| x.get("message")) [INFO] [stderr] 141 | | .and_then(|x| x.as_string()) [INFO] [stderr] 142 | | .map(|x| x.to_owned()); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/errors.rs:57:42 [INFO] [stderr] | [INFO] [stderr] 57 | &Error::Decoding(ref err) => return err.fmt(f), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `err.fmt(f)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/errors.rs:58:42 [INFO] [stderr] | [INFO] [stderr] 58 | &Error::Encoding(ref err) => return err.fmt(f), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `err.fmt(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/errors.rs:59:39 [INFO] [stderr] | [INFO] [stderr] 59 | &Error::Parse(ref err) => return err.fmt(f), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `err.fmt(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/errors.rs:60:38 [INFO] [stderr] | [INFO] [stderr] 60 | &Error::Http(ref err) => return err.fmt(f), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `err.fmt(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/errors.rs:61:36 [INFO] [stderr] | [INFO] [stderr] 61 | &Error::IO(ref err) => return err.fmt(f), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `err.fmt(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/transport.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | message [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/transport.rs:138:23 [INFO] [stderr] | [INFO] [stderr] 138 | let message = json_response.as_ref() [INFO] [stderr] | _______________________^ [INFO] [stderr] 139 | | .and_then(|x| x.as_object()) [INFO] [stderr] 140 | | .and_then(|x| x.get("message")) [INFO] [stderr] 141 | | .and_then(|x| x.as_string()) [INFO] [stderr] 142 | | .map(|x| x.to_owned()); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/errors.rs:57:42 [INFO] [stderr] | [INFO] [stderr] 57 | &Error::Decoding(ref err) => return err.fmt(f), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `err.fmt(f)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/errors.rs:58:42 [INFO] [stderr] | [INFO] [stderr] 58 | &Error::Encoding(ref err) => return err.fmt(f), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `err.fmt(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/errors.rs:59:39 [INFO] [stderr] | [INFO] [stderr] 59 | &Error::Parse(ref err) => return err.fmt(f), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `err.fmt(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/errors.rs:60:38 [INFO] [stderr] | [INFO] [stderr] 60 | &Error::Http(ref err) => return err.fmt(f), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `err.fmt(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/errors.rs:61:36 [INFO] [stderr] | [INFO] [stderr] 61 | &Error::IO(ref err) => return err.fmt(f), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `err.fmt(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'openssl::ssl::SslConnectorBuilder::builder_mut': SslConnectorBuilder now implements DerefMut [INFO] [stderr] --> src/lib.rs:621:31 [INFO] [stderr] | [INFO] [stderr] 621 | connector.builder_mut().set_cipher_list("DEFAULT").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'openssl::ssl::SslConnectorBuilder::builder_mut': SslConnectorBuilder now implements DerefMut [INFO] [stderr] --> src/lib.rs:624:31 [INFO] [stderr] | [INFO] [stderr] 624 | connector.builder_mut().set_certificate_file(&Path::new(cert), X509_FILETYPE_PEM).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'openssl::ssl::SslConnectorBuilder::builder_mut': SslConnectorBuilder now implements DerefMut [INFO] [stderr] --> src/lib.rs:625:31 [INFO] [stderr] | [INFO] [stderr] 625 | connector.builder_mut().set_private_key_file(&Path::new(key), X509_FILETYPE_PEM).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'openssl::ssl::SslConnectorBuilder::builder_mut': SslConnectorBuilder now implements DerefMut [INFO] [stderr] --> src/lib.rs:628:35 [INFO] [stderr] | [INFO] [stderr] 628 | connector.builder_mut().set_ca_file(&Path::new(ca)).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'openssl::ssl::SslConnectorBuilder::builder_mut': SslConnectorBuilder now implements DerefMut [INFO] [stderr] --> src/lib.rs:621:31 [INFO] [stderr] | [INFO] [stderr] 621 | connector.builder_mut().set_cipher_list("DEFAULT").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'openssl::ssl::SslConnectorBuilder::builder_mut': SslConnectorBuilder now implements DerefMut [INFO] [stderr] --> src/lib.rs:624:31 [INFO] [stderr] | [INFO] [stderr] 624 | connector.builder_mut().set_certificate_file(&Path::new(cert), X509_FILETYPE_PEM).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'openssl::ssl::SslConnectorBuilder::builder_mut': SslConnectorBuilder now implements DerefMut [INFO] [stderr] --> src/lib.rs:625:31 [INFO] [stderr] | [INFO] [stderr] 625 | connector.builder_mut().set_private_key_file(&Path::new(key), X509_FILETYPE_PEM).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'openssl::ssl::SslConnectorBuilder::builder_mut': SslConnectorBuilder now implements DerefMut [INFO] [stderr] --> src/lib.rs:628:35 [INFO] [stderr] | [INFO] [stderr] 628 | connector.builder_mut().set_ca_file(&Path::new(ca)).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:294:43 [INFO] [stderr] | [INFO] [stderr] 294 | .entry(local_key.to_string()).or_insert(Json::Object(BTreeMap::new())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| Json::Object(BTreeMap::new()))` [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: single-character string constant used as pattern [INFO] [stderr] --> src/builder.rs:324:42 [INFO] [stderr] | [INFO] [stderr] 324 | insert(&mut key_string.split(".").peekable(), [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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:361:56 [INFO] [stderr] | [INFO] [stderr] 361 | self.params_list.entry("HostConfig.Binds").or_insert(Vec::new()).push(v.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:368:56 [INFO] [stderr] | [INFO] [stderr] 368 | self.params_list.entry("HostConfig.Links").or_insert(Vec::new()).push(link.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:377:18 [INFO] [stderr] | [INFO] [stderr] 377 | .or_insert(Vec::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:388:18 [INFO] [stderr] | [INFO] [stderr] 388 | .or_insert(Vec::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:403:43 [INFO] [stderr] | [INFO] [stderr] 403 | self.params_list.entry("Env").or_insert(Vec::new()).push(env.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:410:43 [INFO] [stderr] | [INFO] [stderr] 410 | self.params_list.entry("Cmd").or_insert(Vec::new()).push(cmd.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:424:57 [INFO] [stderr] | [INFO] [stderr] 424 | self.params_list.entry("HostConfig.CapAdd").or_insert(Vec::new()).push(c.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:433:70 [INFO] [stderr] | [INFO] [stderr] 433 | self.params_hash.entry("HostConfig.Devices".to_string()).or_insert(Vec::new()).push(d); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:511:38 [INFO] [stderr] | [INFO] [stderr] 511 | self.params.entry("Cmd").or_insert(Vec::new()).push(cmd.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:519:38 [INFO] [stderr] | [INFO] [stderr] 519 | self.params.entry("Env").or_insert(Vec::new()).push(env.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:924:58 [INFO] [stderr] | [INFO] [stderr] 924 | self.params_hash.entry("Labels".to_string()).or_insert(Vec::new()).push(l) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [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: structure field `Container` should have a snake case name such as `container` [INFO] [stderr] --> src/builder.rs:940:5 [INFO] [stderr] | [INFO] [stderr] 940 | pub Container: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/rep.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | / match self.Env { [INFO] [stderr] 164 | | Some(ref vars) => { [INFO] [stderr] 165 | | for e in vars { [INFO] [stderr] 166 | | let pair: Vec<&str> = e.split("=").collect(); [INFO] [stderr] ... | [INFO] [stderr] 170 | | _ => (), [INFO] [stderr] 171 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 163 | if let Some(ref vars) = self.Env { [INFO] [stderr] 164 | for e in vars { [INFO] [stderr] 165 | let pair: Vec<&str> = e.split("=").collect(); [INFO] [stderr] 166 | map.insert(pair[0].to_owned(), pair[1].to_owned()); [INFO] [stderr] 167 | } [INFO] [stderr] 168 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/rep.rs:166:51 [INFO] [stderr] | [INFO] [stderr] 166 | let pair: Vec<&str> = e.split("=").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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:294:43 [INFO] [stderr] | [INFO] [stderr] 294 | .entry(local_key.to_string()).or_insert(Json::Object(BTreeMap::new())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| Json::Object(BTreeMap::new()))` [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: single-character string constant used as pattern [INFO] [stderr] --> src/builder.rs:324:42 [INFO] [stderr] | [INFO] [stderr] 324 | insert(&mut key_string.split(".").peekable(), [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/transport.rs:95:65 [INFO] [stderr] | [INFO] [stderr] 95 | StatusCode::NoContent => Ok(Box::new(BufReader::new("".as_bytes()))), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/transport.rs:100:58 [INFO] [stderr] | [INFO] [stderr] 100 | message: get_error_message(&mut res).unwrap_or("bad parameter".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "bad parameter".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/transport.rs:106:58 [INFO] [stderr] | [INFO] [stderr] 106 | message: get_error_message(&mut res).unwrap_or("not found".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "not found".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/transport.rs:112:58 [INFO] [stderr] | [INFO] [stderr] 112 | message: get_error_message(&mut res).unwrap_or("not acceptable".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "not acceptable".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/transport.rs:118:58 [INFO] [stderr] | [INFO] [stderr] 118 | message: get_error_message(&mut res).unwrap_or("conflict found".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "conflict found".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/transport.rs:124:58 [INFO] [stderr] | [INFO] [stderr] 124 | message: get_error_message(&mut res).unwrap_or("internal server error".to_owned()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "internal server error".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 `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:361:56 [INFO] [stderr] | [INFO] [stderr] 361 | self.params_list.entry("HostConfig.Binds").or_insert(Vec::new()).push(v.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:368:56 [INFO] [stderr] | [INFO] [stderr] 368 | self.params_list.entry("HostConfig.Links").or_insert(Vec::new()).push(link.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:377:18 [INFO] [stderr] | [INFO] [stderr] 377 | .or_insert(Vec::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:388:18 [INFO] [stderr] | [INFO] [stderr] 388 | .or_insert(Vec::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:403:43 [INFO] [stderr] | [INFO] [stderr] 403 | self.params_list.entry("Env").or_insert(Vec::new()).push(env.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/errors.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | / match self { [INFO] [stderr] 57 | | &Error::Decoding(ref err) => return err.fmt(f), [INFO] [stderr] 58 | | &Error::Encoding(ref err) => return err.fmt(f), [INFO] [stderr] 59 | | &Error::Parse(ref err) => return err.fmt(f), [INFO] [stderr] ... | [INFO] [stderr] 62 | | &Error::Fault { code, .. } => return write!(f, "{}", code), [INFO] [stderr] 63 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 56 | match *self { [INFO] [stderr] 57 | Error::Decoding(ref err) => return err.fmt(f), [INFO] [stderr] 58 | Error::Encoding(ref err) => return err.fmt(f), [INFO] [stderr] 59 | Error::Parse(ref err) => return err.fmt(f), [INFO] [stderr] 60 | Error::Http(ref err) => return err.fmt(f), [INFO] [stderr] 61 | Error::IO(ref err) => return err.fmt(f), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:410:43 [INFO] [stderr] | [INFO] [stderr] 410 | self.params_list.entry("Cmd").or_insert(Vec::new()).push(cmd.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/errors.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | / match self { [INFO] [stderr] 74 | | &Error::Decoding(ref err) => Some(err), [INFO] [stderr] 75 | | &Error::Encoding(ref err) => Some(err), [INFO] [stderr] 76 | | &Error::Parse(ref err) => Some(err), [INFO] [stderr] ... | [INFO] [stderr] 79 | | _ => None [INFO] [stderr] 80 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 73 | match *self { [INFO] [stderr] 74 | Error::Decoding(ref err) => Some(err), [INFO] [stderr] 75 | Error::Encoding(ref err) => Some(err), [INFO] [stderr] 76 | Error::Parse(ref err) => Some(err), [INFO] [stderr] 77 | Error::Http(ref err) => Some(err), [INFO] [stderr] 78 | Error::IO(ref err) => Some(err), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:424:57 [INFO] [stderr] | [INFO] [stderr] 424 | self.params_list.entry("HostConfig.CapAdd").or_insert(Vec::new()).push(c.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:433:70 [INFO] [stderr] | [INFO] [stderr] 433 | self.params_hash.entry("HostConfig.Devices".to_string()).or_insert(Vec::new()).push(d); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:511:38 [INFO] [stderr] | [INFO] [stderr] 511 | self.params.entry("Cmd").or_insert(Vec::new()).push(cmd.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:519:38 [INFO] [stderr] | [INFO] [stderr] 519 | self.params.entry("Env").or_insert(Vec::new()).push(env.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/lib.rs:117:28 [INFO] [stderr] | [INFO] [stderr] 117 | .or(obj.get("Deleted") [INFO] [stderr] | ____________________________^ [INFO] [stderr] 118 | | .map(|sha| { [INFO] [stderr] 119 | | Status::Deleted(sha.as_string() [INFO] [stderr] 120 | | .expect("expected Deleted to be a string") [INFO] [stderr] 121 | | .to_owned()) [INFO] [stderr] 122 | | })) [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] 117 | .or_else(|| obj.get("Deleted") [INFO] [stderr] 118 | .map(|sha| { [INFO] [stderr] 119 | Status::Deleted(sha.as_string() [INFO] [stderr] 120 | .expect("expected Deleted to be a string") [INFO] [stderr] 121 | .to_owned()) [INFO] [stderr] 122 | })) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:162:18 [INFO] [stderr] | [INFO] [stderr] 162 | let it = jed::Iter::new(raw).into_iter().map(|j| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `jed::Iter::new(raw)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/builder.rs:924:58 [INFO] [stderr] | [INFO] [stderr] 924 | self.params_hash.entry("Labels".to_string()).or_insert(Vec::new()).push(l) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [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: structure field `Container` should have a snake case name such as `container` [INFO] [stderr] --> src/builder.rs:940:5 [INFO] [stderr] | [INFO] [stderr] 940 | pub Container: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:225:18 [INFO] [stderr] | [INFO] [stderr] 225 | let it = jed::Iter::new(raw).into_iter().map(|j| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `jed::Iter::new(raw)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/lib.rs:239:18 [INFO] [stderr] | [INFO] [stderr] 239 | .or(j.as_object() [INFO] [stderr] | __________________^ [INFO] [stderr] 240 | | .expect("expected json object") [INFO] [stderr] 241 | | .get("error") [INFO] [stderr] 242 | | .map(|err| { [INFO] [stderr] ... | [INFO] [stderr] 245 | | .to_owned()) [INFO] [stderr] 246 | | })) [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] 239 | .or_else(|| j.as_object() [INFO] [stderr] 240 | .expect("expected json object") [INFO] [stderr] 241 | .get("error") [INFO] [stderr] 242 | .map(|err| { [INFO] [stderr] 243 | Output::Err(err.as_string() [INFO] [stderr] 244 | .expect("expected error to be a string") [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:328:18 [INFO] [stderr] | [INFO] [stderr] 328 | let it = jed::Iter::new(raw).into_iter().map(|j| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `jed::Iter::new(raw)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `Docker` [INFO] [stderr] --> src/lib.rs:590:5 [INFO] [stderr] | [INFO] [stderr] 590 | / pub fn new() -> Docker { [INFO] [stderr] 591 | | let fallback: std::result::Result = Ok("unix:///var/run/docker.sock" [INFO] [stderr] 592 | | .to_owned()); [INFO] [stderr] 593 | | let host = env::var("DOCKER_HOST") [INFO] [stderr] ... | [INFO] [stderr] 602 | | Docker::host(host) [INFO] [stderr] 603 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 587 | impl Default for Docker { [INFO] [stderr] 588 | fn default() -> Self { [INFO] [stderr] 589 | Self::new() [INFO] [stderr] 590 | } [INFO] [stderr] 591 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/lib.rs:593:20 [INFO] [stderr] | [INFO] [stderr] 593 | let host = env::var("DOCKER_HOST") [INFO] [stderr] | ____________________^ [INFO] [stderr] 594 | | .or(fallback) [INFO] [stderr] 595 | | .map(|h| { [INFO] [stderr] 596 | | Url::parse(&h) [INFO] [stderr] ... | [INFO] [stderr] 600 | | .ok() [INFO] [stderr] 601 | | .expect("expected host"); [INFO] [stderr] | |_______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/lib.rs:596:28 [INFO] [stderr] | [INFO] [stderr] 596 | / Url::parse(&h) [INFO] [stderr] 597 | | .ok() [INFO] [stderr] 598 | | .expect("invalid url") [INFO] [stderr] | |_____________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/lib.rs:617:30 [INFO] [stderr] | [INFO] [stderr] 617 | let client = if let Some(ref certs) = env::var("DOCKER_CERT_PATH").ok() { [INFO] [stderr] | ______________________________^ [INFO] [stderr] 618 | | // fixme: don't unwrap before you know what's in the box [INFO] [stderr] 619 | | // https://github.com/hyperium/hyper/blob/master/src/net.rs#L427-L428 [INFO] [stderr] 620 | | let mut connector = SslConnectorBuilder::new(SslMethod::tls()).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 633 | | Client::new() [INFO] [stderr] 634 | | }; [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::if_let_some_result)] on by default [INFO] [stderr] = help: Consider matching on `Ok(ref certs)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/lib.rs:626:21 [INFO] [stderr] | [INFO] [stderr] 626 | / if let Some(_) = env::var("DOCKER_TLS_VERIFY").ok() { [INFO] [stderr] 627 | | let ca = &format!("{}/ca.pem", certs); [INFO] [stderr] 628 | | connector.builder_mut().set_ca_file(&Path::new(ca)).unwrap(); [INFO] [stderr] 629 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: Consider matching on `Ok(_)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/lib.rs:626:28 [INFO] [stderr] | [INFO] [stderr] 626 | if let Some(_) = env::var("DOCKER_TLS_VERIFY").ok() { [INFO] [stderr] | _____________________- ^^^^^^^ [INFO] [stderr] 627 | | let ca = &format!("{}/ca.pem", certs); [INFO] [stderr] 628 | | connector.builder_mut().set_ca_file(&Path::new(ca)).unwrap(); [INFO] [stderr] 629 | | } [INFO] [stderr] | |_____________________- help: try this: `if env::var("DOCKER_TLS_VERIFY").ok().is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:646:5 [INFO] [stderr] | [INFO] [stderr] 646 | / pub fn images<'a>(&'a self) -> Images { [INFO] [stderr] 647 | | Images::new(self) [INFO] [stderr] 648 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:651:5 [INFO] [stderr] | [INFO] [stderr] 651 | / pub fn containers<'a>(&'a self) -> Containers { [INFO] [stderr] 652 | | Containers::new(self) [INFO] [stderr] 653 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:655:5 [INFO] [stderr] | [INFO] [stderr] 655 | / pub fn networks<'a>(&'a self) -> Networks { [INFO] [stderr] 656 | | Networks::new(self) [INFO] [stderr] 657 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:683:18 [INFO] [stderr] | [INFO] [stderr] 683 | let it = jed::Iter::new(raw).into_iter().map(|j| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `jed::Iter::new(raw)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/lib.rs:692:12 [INFO] [stderr] | [INFO] [stderr] 692 | fn get<'a>(&self, endpoint: &str) -> Result { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/lib.rs:704:15 [INFO] [stderr] | [INFO] [stderr] 704 | fn delete<'a>(&self, endpoint: &str) -> Result { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/rep.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | / match self.Env { [INFO] [stderr] 164 | | Some(ref vars) => { [INFO] [stderr] 165 | | for e in vars { [INFO] [stderr] 166 | | let pair: Vec<&str> = e.split("=").collect(); [INFO] [stderr] ... | [INFO] [stderr] 170 | | _ => (), [INFO] [stderr] 171 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 163 | if let Some(ref vars) = self.Env { [INFO] [stderr] 164 | for e in vars { [INFO] [stderr] 165 | let pair: Vec<&str> = e.split("=").collect(); [INFO] [stderr] 166 | map.insert(pair[0].to_owned(), pair[1].to_owned()); [INFO] [stderr] 167 | } [INFO] [stderr] 168 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/lib.rs:719:19 [INFO] [stderr] | [INFO] [stderr] 719 | fn stream_get<'a>(&self, endpoint: &str) -> Result> { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/rep.rs:166:51 [INFO] [stderr] | [INFO] [stderr] 166 | let pair: Vec<&str> = e.split("=").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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/transport.rs:95:65 [INFO] [stderr] | [INFO] [stderr] 95 | StatusCode::NoContent => Ok(Box::new(BufReader::new("".as_bytes()))), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/transport.rs:100:58 [INFO] [stderr] | [INFO] [stderr] 100 | message: get_error_message(&mut res).unwrap_or("bad parameter".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "bad parameter".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/transport.rs:106:58 [INFO] [stderr] | [INFO] [stderr] 106 | message: get_error_message(&mut res).unwrap_or("not found".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "not found".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/transport.rs:112:58 [INFO] [stderr] | [INFO] [stderr] 112 | message: get_error_message(&mut res).unwrap_or("not acceptable".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "not acceptable".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/transport.rs:118:58 [INFO] [stderr] | [INFO] [stderr] 118 | message: get_error_message(&mut res).unwrap_or("conflict found".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "conflict found".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/transport.rs:124:58 [INFO] [stderr] | [INFO] [stderr] 124 | message: get_error_message(&mut res).unwrap_or("internal server error".to_owned()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "internal server error".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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/errors.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | / match self { [INFO] [stderr] 57 | | &Error::Decoding(ref err) => return err.fmt(f), [INFO] [stderr] 58 | | &Error::Encoding(ref err) => return err.fmt(f), [INFO] [stderr] 59 | | &Error::Parse(ref err) => return err.fmt(f), [INFO] [stderr] ... | [INFO] [stderr] 62 | | &Error::Fault { code, .. } => return write!(f, "{}", code), [INFO] [stderr] 63 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 56 | match *self { [INFO] [stderr] 57 | Error::Decoding(ref err) => return err.fmt(f), [INFO] [stderr] 58 | Error::Encoding(ref err) => return err.fmt(f), [INFO] [stderr] 59 | Error::Parse(ref err) => return err.fmt(f), [INFO] [stderr] 60 | Error::Http(ref err) => return err.fmt(f), [INFO] [stderr] 61 | Error::IO(ref err) => return err.fmt(f), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/errors.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | / match self { [INFO] [stderr] 74 | | &Error::Decoding(ref err) => Some(err), [INFO] [stderr] 75 | | &Error::Encoding(ref err) => Some(err), [INFO] [stderr] 76 | | &Error::Parse(ref err) => Some(err), [INFO] [stderr] ... | [INFO] [stderr] 79 | | _ => None [INFO] [stderr] 80 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 73 | match *self { [INFO] [stderr] 74 | Error::Decoding(ref err) => Some(err), [INFO] [stderr] 75 | Error::Encoding(ref err) => Some(err), [INFO] [stderr] 76 | Error::Parse(ref err) => Some(err), [INFO] [stderr] 77 | Error::Http(ref err) => Some(err), [INFO] [stderr] 78 | Error::IO(ref err) => Some(err), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/lib.rs:117:28 [INFO] [stderr] | [INFO] [stderr] 117 | .or(obj.get("Deleted") [INFO] [stderr] | ____________________________^ [INFO] [stderr] 118 | | .map(|sha| { [INFO] [stderr] 119 | | Status::Deleted(sha.as_string() [INFO] [stderr] 120 | | .expect("expected Deleted to be a string") [INFO] [stderr] 121 | | .to_owned()) [INFO] [stderr] 122 | | })) [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] 117 | .or_else(|| obj.get("Deleted") [INFO] [stderr] 118 | .map(|sha| { [INFO] [stderr] 119 | Status::Deleted(sha.as_string() [INFO] [stderr] 120 | .expect("expected Deleted to be a string") [INFO] [stderr] 121 | .to_owned()) [INFO] [stderr] 122 | })) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:162:18 [INFO] [stderr] | [INFO] [stderr] 162 | let it = jed::Iter::new(raw).into_iter().map(|j| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `jed::Iter::new(raw)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:225:18 [INFO] [stderr] | [INFO] [stderr] 225 | let it = jed::Iter::new(raw).into_iter().map(|j| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `jed::Iter::new(raw)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/lib.rs:239:18 [INFO] [stderr] | [INFO] [stderr] 239 | .or(j.as_object() [INFO] [stderr] | __________________^ [INFO] [stderr] 240 | | .expect("expected json object") [INFO] [stderr] 241 | | .get("error") [INFO] [stderr] 242 | | .map(|err| { [INFO] [stderr] ... | [INFO] [stderr] 245 | | .to_owned()) [INFO] [stderr] 246 | | })) [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] 239 | .or_else(|| j.as_object() [INFO] [stderr] 240 | .expect("expected json object") [INFO] [stderr] 241 | .get("error") [INFO] [stderr] 242 | .map(|err| { [INFO] [stderr] 243 | Output::Err(err.as_string() [INFO] [stderr] 244 | .expect("expected error to be a string") [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:328:18 [INFO] [stderr] | [INFO] [stderr] 328 | let it = jed::Iter::new(raw).into_iter().map(|j| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `jed::Iter::new(raw)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `Docker` [INFO] [stderr] --> src/lib.rs:590:5 [INFO] [stderr] | [INFO] [stderr] 590 | / pub fn new() -> Docker { [INFO] [stderr] 591 | | let fallback: std::result::Result = Ok("unix:///var/run/docker.sock" [INFO] [stderr] 592 | | .to_owned()); [INFO] [stderr] 593 | | let host = env::var("DOCKER_HOST") [INFO] [stderr] ... | [INFO] [stderr] 602 | | Docker::host(host) [INFO] [stderr] 603 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 587 | impl Default for Docker { [INFO] [stderr] 588 | fn default() -> Self { [INFO] [stderr] 589 | Self::new() [INFO] [stderr] 590 | } [INFO] [stderr] 591 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/lib.rs:593:20 [INFO] [stderr] | [INFO] [stderr] 593 | let host = env::var("DOCKER_HOST") [INFO] [stderr] | ____________________^ [INFO] [stderr] 594 | | .or(fallback) [INFO] [stderr] 595 | | .map(|h| { [INFO] [stderr] 596 | | Url::parse(&h) [INFO] [stderr] ... | [INFO] [stderr] 600 | | .ok() [INFO] [stderr] 601 | | .expect("expected host"); [INFO] [stderr] | |_______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/lib.rs:596:28 [INFO] [stderr] | [INFO] [stderr] 596 | / Url::parse(&h) [INFO] [stderr] 597 | | .ok() [INFO] [stderr] 598 | | .expect("invalid url") [INFO] [stderr] | |_____________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/lib.rs:617:30 [INFO] [stderr] | [INFO] [stderr] 617 | let client = if let Some(ref certs) = env::var("DOCKER_CERT_PATH").ok() { [INFO] [stderr] | ______________________________^ [INFO] [stderr] 618 | | // fixme: don't unwrap before you know what's in the box [INFO] [stderr] 619 | | // https://github.com/hyperium/hyper/blob/master/src/net.rs#L427-L428 [INFO] [stderr] 620 | | let mut connector = SslConnectorBuilder::new(SslMethod::tls()).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 633 | | Client::new() [INFO] [stderr] 634 | | }; [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::if_let_some_result)] on by default [INFO] [stderr] = help: Consider matching on `Ok(ref certs)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/lib.rs:626:21 [INFO] [stderr] | [INFO] [stderr] 626 | / if let Some(_) = env::var("DOCKER_TLS_VERIFY").ok() { [INFO] [stderr] 627 | | let ca = &format!("{}/ca.pem", certs); [INFO] [stderr] 628 | | connector.builder_mut().set_ca_file(&Path::new(ca)).unwrap(); [INFO] [stderr] 629 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: Consider matching on `Ok(_)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/lib.rs:626:28 [INFO] [stderr] | [INFO] [stderr] 626 | if let Some(_) = env::var("DOCKER_TLS_VERIFY").ok() { [INFO] [stderr] | _____________________- ^^^^^^^ [INFO] [stderr] 627 | | let ca = &format!("{}/ca.pem", certs); [INFO] [stderr] 628 | | connector.builder_mut().set_ca_file(&Path::new(ca)).unwrap(); [INFO] [stderr] 629 | | } [INFO] [stderr] | |_____________________- help: try this: `if env::var("DOCKER_TLS_VERIFY").ok().is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:646:5 [INFO] [stderr] | [INFO] [stderr] 646 | / pub fn images<'a>(&'a self) -> Images { [INFO] [stderr] 647 | | Images::new(self) [INFO] [stderr] 648 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:651:5 [INFO] [stderr] | [INFO] [stderr] 651 | / pub fn containers<'a>(&'a self) -> Containers { [INFO] [stderr] 652 | | Containers::new(self) [INFO] [stderr] 653 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:655:5 [INFO] [stderr] | [INFO] [stderr] 655 | / pub fn networks<'a>(&'a self) -> Networks { [INFO] [stderr] 656 | | Networks::new(self) [INFO] [stderr] 657 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:683:18 [INFO] [stderr] | [INFO] [stderr] 683 | let it = jed::Iter::new(raw).into_iter().map(|j| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `jed::Iter::new(raw)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/lib.rs:692:12 [INFO] [stderr] | [INFO] [stderr] 692 | fn get<'a>(&self, endpoint: &str) -> Result { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/lib.rs:704:15 [INFO] [stderr] | [INFO] [stderr] 704 | fn delete<'a>(&self, endpoint: &str) -> Result { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/lib.rs:719:19 [INFO] [stderr] | [INFO] [stderr] 719 | fn stream_get<'a>(&self, endpoint: &str) -> Result> { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let info =` [INFO] [stderr] --> examples/networkdisconnect.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | / let info = networks [INFO] [stderr] 12 | | .get(&network_id) [INFO] [stderr] 13 | | .disconnect(&ContainerConnectionOptions::new(&container_id)) [INFO] [stderr] 14 | | .unwrap(); [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let info =` [INFO] [stderr] --> examples/networkconnect.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | / let info = networks [INFO] [stderr] 12 | | .get(&network_id) [INFO] [stderr] 13 | | .connect(&ContainerConnectionOptions::new(&container_id)) [INFO] [stderr] 14 | | .unwrap(); [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let status =` [INFO] [stderr] --> examples/networkdelete.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | / let status = docker.networks() [INFO] [stderr] 10 | | .get(&id) [INFO] [stderr] 11 | | .delete() [INFO] [stderr] 12 | | .unwrap(); [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 41.25s [INFO] running `"docker" "inspect" "6a5553efbbeca6ba6c432a966fc518c34de8a18d5e35eac5f9cad521e2c28814"` [INFO] running `"docker" "rm" "-f" "6a5553efbbeca6ba6c432a966fc518c34de8a18d5e35eac5f9cad521e2c28814"` [INFO] [stdout] 6a5553efbbeca6ba6c432a966fc518c34de8a18d5e35eac5f9cad521e2c28814