[INFO] updating cached repository S2Lab/gravatar-reverse-proxy [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/S2Lab/gravatar-reverse-proxy [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/S2Lab/gravatar-reverse-proxy" "work/ex/clippy-test-run/sources/stable/gh/S2Lab/gravatar-reverse-proxy"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/S2Lab/gravatar-reverse-proxy'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/S2Lab/gravatar-reverse-proxy" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/S2Lab/gravatar-reverse-proxy"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/S2Lab/gravatar-reverse-proxy'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 177928ae1e96fe1869f8d7a6fb413be95fddb454 [INFO] sha for GitHub repo S2Lab/gravatar-reverse-proxy: 177928ae1e96fe1869f8d7a6fb413be95fddb454 [INFO] validating manifest of S2Lab/gravatar-reverse-proxy 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 S2Lab/gravatar-reverse-proxy 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 S2Lab/gravatar-reverse-proxy [INFO] finished frobbing S2Lab/gravatar-reverse-proxy [INFO] frobbed toml for S2Lab/gravatar-reverse-proxy written to work/ex/clippy-test-run/sources/stable/gh/S2Lab/gravatar-reverse-proxy/Cargo.toml [INFO] started frobbing S2Lab/gravatar-reverse-proxy [INFO] finished frobbing S2Lab/gravatar-reverse-proxy [INFO] frobbed toml for S2Lab/gravatar-reverse-proxy written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/S2Lab/gravatar-reverse-proxy/Cargo.toml [INFO] crate S2Lab/gravatar-reverse-proxy 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 S2Lab/gravatar-reverse-proxy against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/S2Lab/gravatar-reverse-proxy:/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] d35413a484e79c99ded96ab912574c4d016d01c2fcbbd3d3fda69e1787efe848 [INFO] running `"docker" "start" "-a" "d35413a484e79c99ded96ab912574c4d016d01c2fcbbd3d3fda69e1787efe848"` [INFO] [stderr] Checking conduit-mime-types v0.7.3 [INFO] [stderr] Compiling hyper v0.10.6 [INFO] [stderr] Compiling ring v0.7.3 [INFO] [stderr] Checking crypto-hash v0.2.1 [INFO] [stderr] Checking iron v0.5.1 [INFO] [stderr] Checking webpki v0.10.1 [INFO] [stderr] Checking persistent v0.3.0 [INFO] [stderr] Checking router v0.5.1 [INFO] [stderr] Checking rustls v0.5.8 [INFO] [stderr] Checking webpki-roots v0.7.0 [INFO] [stderr] Checking bodyparser v0.5.0 [INFO] [stderr] Checking urlencoded v0.5.0 [INFO] [stderr] Checking hyper-rustls v0.3.2 [INFO] [stderr] Checking gravatar-reverse-proxy v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | email_md5: email_md5, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `email_md5` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/main.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | default: default, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `default` [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/main.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | etag: etag, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `etag` [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/main.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | last_modified: last_modified, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `last_modified` [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/main.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | content_type: content_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `content_type` [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/main.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | content_disposition: content_disposition, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `content_disposition` [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/main.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | cache_control: cache_control, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cache_control` [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/main.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | expires: expires, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `expires` [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/main.rs:256:13 [INFO] [stderr] | [INFO] [stderr] 256 | ac_key: ac_key, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `ac_key` [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/main.rs:257:13 [INFO] [stderr] | [INFO] [stderr] 257 | ac_data: ac_data, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ac_data` [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/main.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | email_md5: email_md5, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `email_md5` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/main.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | default: default, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `default` [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/main.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | etag: etag, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `etag` [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/main.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | last_modified: last_modified, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `last_modified` [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/main.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | content_type: content_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `content_type` [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/main.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | content_disposition: content_disposition, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `content_disposition` [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/main.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | cache_control: cache_control, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cache_control` [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/main.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | expires: expires, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `expires` [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/main.rs:256:13 [INFO] [stderr] | [INFO] [stderr] 256 | ac_key: ac_key, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `ac_key` [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/main.rs:257:13 [INFO] [stderr] | [INFO] [stderr] 257 | ac_data: ac_data, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ac_data` [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: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:100:43 [INFO] [stderr] | [INFO] [stderr] 100 | return Err(IronResponse::with((HyperStatusCode::NotFound))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:100:43 [INFO] [stderr] | [INFO] [stderr] 100 | return Err(IronResponse::with((HyperStatusCode::NotFound))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:114:51 [INFO] [stderr] | [INFO] [stderr] 114 | None => return Err(IronResponse::with((HyperStatusCode::BadRequest))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:114:51 [INFO] [stderr] | [INFO] [stderr] 114 | None => return Err(IronResponse::with((HyperStatusCode::BadRequest))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:133:61 [INFO] [stderr] | [INFO] [stderr] 133 | Err(_) => return Err(IronResponse::with((HyperStatusCode::BadRequest))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:133:61 [INFO] [stderr] | [INFO] [stderr] 133 | Err(_) => return Err(IronResponse::with((HyperStatusCode::BadRequest))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:171:47 [INFO] [stderr] | [INFO] [stderr] 171 | .ok_or_else(|| IronResponse::with((HyperStatusCode::BadGateway)))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:171:47 [INFO] [stderr] | [INFO] [stderr] 171 | .ok_or_else(|| IronResponse::with((HyperStatusCode::BadGateway)))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:244:43 [INFO] [stderr] | [INFO] [stderr] 244 | return Err(IronResponse::with((HyperStatusCode::BadGateway))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:244:43 [INFO] [stderr] | [INFO] [stderr] 244 | return Err(IronResponse::with((HyperStatusCode::BadGateway))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:250:45 [INFO] [stderr] | [INFO] [stderr] 250 | .map_err(|_| IronResponse::with((HyperStatusCode::BadGateway)))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:250:45 [INFO] [stderr] | [INFO] [stderr] 250 | .map_err(|_| IronResponse::with((HyperStatusCode::BadGateway)))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:271:45 [INFO] [stderr] | [INFO] [stderr] 271 | .map_err(|_| IronResponse::with((HyperStatusCode::BadGateway)))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:271:45 [INFO] [stderr] | [INFO] [stderr] 271 | .map_err(|_| IronResponse::with((HyperStatusCode::BadGateway)))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:450:57 [INFO] [stderr] | [INFO] [stderr] 450 | chain.link(Write::::both(LruCache::new(102400))); [INFO] [stderr] | ^^^^^^ help: consider: `102_400` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:100:43 [INFO] [stderr] | [INFO] [stderr] 100 | return Err(IronResponse::with((HyperStatusCode::NotFound))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:100:43 [INFO] [stderr] | [INFO] [stderr] 100 | return Err(IronResponse::with((HyperStatusCode::NotFound))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:114:51 [INFO] [stderr] | [INFO] [stderr] 114 | None => return Err(IronResponse::with((HyperStatusCode::BadRequest))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:114:51 [INFO] [stderr] | [INFO] [stderr] 114 | None => return Err(IronResponse::with((HyperStatusCode::BadRequest))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:133:61 [INFO] [stderr] | [INFO] [stderr] 133 | Err(_) => return Err(IronResponse::with((HyperStatusCode::BadRequest))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:133:61 [INFO] [stderr] | [INFO] [stderr] 133 | Err(_) => return Err(IronResponse::with((HyperStatusCode::BadRequest))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:171:47 [INFO] [stderr] | [INFO] [stderr] 171 | .ok_or_else(|| IronResponse::with((HyperStatusCode::BadGateway)))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:171:47 [INFO] [stderr] | [INFO] [stderr] 171 | .ok_or_else(|| IronResponse::with((HyperStatusCode::BadGateway)))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:244:43 [INFO] [stderr] | [INFO] [stderr] 244 | return Err(IronResponse::with((HyperStatusCode::BadGateway))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:244:43 [INFO] [stderr] | [INFO] [stderr] 244 | return Err(IronResponse::with((HyperStatusCode::BadGateway))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:250:45 [INFO] [stderr] | [INFO] [stderr] 250 | .map_err(|_| IronResponse::with((HyperStatusCode::BadGateway)))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:250:45 [INFO] [stderr] | [INFO] [stderr] 250 | .map_err(|_| IronResponse::with((HyperStatusCode::BadGateway)))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/main.rs:271:45 [INFO] [stderr] | [INFO] [stderr] 271 | .map_err(|_| IronResponse::with((HyperStatusCode::BadGateway)))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/main.rs:271:45 [INFO] [stderr] | [INFO] [stderr] 271 | .map_err(|_| IronResponse::with((HyperStatusCode::BadGateway)))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:450:57 [INFO] [stderr] | [INFO] [stderr] 450 | chain.link(Write::::both(LruCache::new(102400))); [INFO] [stderr] | ^^^^^^ help: consider: `102_400` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:189:33 [INFO] [stderr] | [INFO] [stderr] 189 | fn set_cache_headers(&self, mut res: &mut IronResponse) { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:104:18 [INFO] [stderr] | [INFO] [stderr] 104 | .map(|val| Some(val)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Some` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:117:24 [INFO] [stderr] | [INFO] [stderr] 117 | let size_str = query.get("s") [INFO] [stderr] | ________________________^ [INFO] [stderr] 118 | | .map(|s_vec| s_vec.clone()) [INFO] [stderr] | |_______________________________________^ help: Consider calling the dedicated `cloned` method: `query.get("s").cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:119:31 [INFO] [stderr] | [INFO] [stderr] 119 | .map(|s_vec| { if s_vec.len() > 0 { Some(s_vec) } else { None } }) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s_vec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:123:23 [INFO] [stderr] | [INFO] [stderr] 123 | let default = query.get("d") [INFO] [stderr] | _______________________^ [INFO] [stderr] 124 | | .map(|d_vec| d_vec.clone()) [INFO] [stderr] | |_______________________________________^ help: Consider calling the dedicated `cloned` method: `query.get("d").cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:125:31 [INFO] [stderr] | [INFO] [stderr] 125 | .map(|d_vec| { if d_vec.len() > 0 { Some(d_vec) } else { None } }) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!d_vec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:165:22 [INFO] [stderr] | [INFO] [stderr] 165 | .map(|m| m.deref().clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*m.deref()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:168:33 [INFO] [stderr] | [INFO] [stderr] 168 | let content_type = try!(res.headers [INFO] [stderr] | _________________________________^ [INFO] [stderr] 169 | | .get::() [INFO] [stderr] 170 | | .map(|m| m.clone()) [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 168 | let content_type = try!(res.headers [INFO] [stderr] 169 | .get::().cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | res.headers.get::().map(|m| m.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `res.headers.get::().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:191:52 [INFO] [stderr] | [INFO] [stderr] 191 | res.headers.set(hyper_header::LastModified(self.last_modified.clone())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.last_modified` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:196:47 [INFO] [stderr] | [INFO] [stderr] 196 | res.headers.set(hyper_header::Expires(self.expires.clone())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.expires` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:234:12 [INFO] [stderr] | [INFO] [stderr] 234 | if params.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!params.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:289:29 [INFO] [stderr] | [INFO] [stderr] 289 | let ac_data = match avatar_cache.get_mut(ac_key).map(|m| m.clone()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `avatar_cache.get_mut(ac_key).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:338:17 [INFO] [stderr] | [INFO] [stderr] 338 | / if let &hyper_header::IfNoneMatch::Items(ref items) = if_none_match { [INFO] [stderr] 339 | | if items.as_slice().contains(&ac_data.etag) { [INFO] [stderr] 340 | | return self.response_with_304(&ac_data); [INFO] [stderr] 341 | | } [INFO] [stderr] 342 | | } [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] 338 | if let hyper_header::IfNoneMatch::Items(ref items) = *if_none_match { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:399:16 [INFO] [stderr] | [INFO] [stderr] 399 | if let Some(_) = err.error.downcast::() { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 400 | | return Ok(res); [INFO] [stderr] 401 | | } [INFO] [stderr] | |_________- help: try this: `if err.error.downcast::().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: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:189:33 [INFO] [stderr] | [INFO] [stderr] 189 | fn set_cache_headers(&self, mut res: &mut IronResponse) { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:104:18 [INFO] [stderr] | [INFO] [stderr] 104 | .map(|val| Some(val)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Some` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:117:24 [INFO] [stderr] | [INFO] [stderr] 117 | let size_str = query.get("s") [INFO] [stderr] | ________________________^ [INFO] [stderr] 118 | | .map(|s_vec| s_vec.clone()) [INFO] [stderr] | |_______________________________________^ help: Consider calling the dedicated `cloned` method: `query.get("s").cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:119:31 [INFO] [stderr] | [INFO] [stderr] 119 | .map(|s_vec| { if s_vec.len() > 0 { Some(s_vec) } else { None } }) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s_vec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:123:23 [INFO] [stderr] | [INFO] [stderr] 123 | let default = query.get("d") [INFO] [stderr] | _______________________^ [INFO] [stderr] 124 | | .map(|d_vec| d_vec.clone()) [INFO] [stderr] | |_______________________________________^ help: Consider calling the dedicated `cloned` method: `query.get("d").cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:125:31 [INFO] [stderr] | [INFO] [stderr] 125 | .map(|d_vec| { if d_vec.len() > 0 { Some(d_vec) } else { None } }) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!d_vec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:165:22 [INFO] [stderr] | [INFO] [stderr] 165 | .map(|m| m.deref().clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*m.deref()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:168:33 [INFO] [stderr] | [INFO] [stderr] 168 | let content_type = try!(res.headers [INFO] [stderr] | _________________________________^ [INFO] [stderr] 169 | | .get::() [INFO] [stderr] 170 | | .map(|m| m.clone()) [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 168 | let content_type = try!(res.headers [INFO] [stderr] 169 | .get::().cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | res.headers.get::().map(|m| m.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `res.headers.get::().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:191:52 [INFO] [stderr] | [INFO] [stderr] 191 | res.headers.set(hyper_header::LastModified(self.last_modified.clone())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.last_modified` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:196:47 [INFO] [stderr] | [INFO] [stderr] 196 | res.headers.set(hyper_header::Expires(self.expires.clone())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.expires` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:234:12 [INFO] [stderr] | [INFO] [stderr] 234 | if params.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!params.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/main.rs:289:29 [INFO] [stderr] | [INFO] [stderr] 289 | let ac_data = match avatar_cache.get_mut(ac_key).map(|m| m.clone()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `avatar_cache.get_mut(ac_key).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:338:17 [INFO] [stderr] | [INFO] [stderr] 338 | / if let &hyper_header::IfNoneMatch::Items(ref items) = if_none_match { [INFO] [stderr] 339 | | if items.as_slice().contains(&ac_data.etag) { [INFO] [stderr] 340 | | return self.response_with_304(&ac_data); [INFO] [stderr] 341 | | } [INFO] [stderr] 342 | | } [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] 338 | if let hyper_header::IfNoneMatch::Items(ref items) = *if_none_match { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:399:16 [INFO] [stderr] | [INFO] [stderr] 399 | if let Some(_) = err.error.downcast::() { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 400 | | return Ok(res); [INFO] [stderr] 401 | | } [INFO] [stderr] | |_________- help: try this: `if err.error.downcast::().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] Finished dev [unoptimized + debuginfo] target(s) in 25.20s [INFO] running `"docker" "inspect" "d35413a484e79c99ded96ab912574c4d016d01c2fcbbd3d3fda69e1787efe848"` [INFO] running `"docker" "rm" "-f" "d35413a484e79c99ded96ab912574c4d016d01c2fcbbd3d3fda69e1787efe848"` [INFO] [stdout] d35413a484e79c99ded96ab912574c4d016d01c2fcbbd3d3fda69e1787efe848