[INFO] crate stripe-rust-fgribreau 0.4.5 is already in cache [INFO] extracting crate stripe-rust-fgribreau 0.4.5 into work/ex/clippy-test-run/sources/stable/reg/stripe-rust-fgribreau/0.4.5 [INFO] extracting crate stripe-rust-fgribreau 0.4.5 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/stripe-rust-fgribreau/0.4.5 [INFO] validating manifest of stripe-rust-fgribreau-0.4.5 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 stripe-rust-fgribreau-0.4.5 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 stripe-rust-fgribreau-0.4.5 [INFO] finished frobbing stripe-rust-fgribreau-0.4.5 [INFO] frobbed toml for stripe-rust-fgribreau-0.4.5 written to work/ex/clippy-test-run/sources/stable/reg/stripe-rust-fgribreau/0.4.5/Cargo.toml [INFO] started frobbing stripe-rust-fgribreau-0.4.5 [INFO] finished frobbing stripe-rust-fgribreau-0.4.5 [INFO] frobbed toml for stripe-rust-fgribreau-0.4.5 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/stripe-rust-fgribreau/0.4.5/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 stripe-rust-fgribreau-0.4.5 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/stripe-rust-fgribreau/0.4.5:/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] abe958609cd6bbaa13b4c1ba29482f2f3f2be765f566178a01198dc286b0858c [INFO] running `"docker" "start" "-a" "abe958609cd6bbaa13b4c1ba29482f2f3f2be765f566178a01198dc286b0858c"` [INFO] [stderr] Compiling ring v0.13.5 [INFO] [stderr] Checking generic-array v0.7.3 [INFO] [stderr] Checking serde_qs v0.2.2 [INFO] [stderr] Checking digest v0.5.2 [INFO] [stderr] Checking crypto-mac v0.3.0 [INFO] [stderr] Checking digest-buffer v0.3.1 [INFO] [stderr] Checking sha2 v0.5.3 [INFO] [stderr] Checking hmac v0.1.1 [INFO] [stderr] Checking webpki v0.18.1 [INFO] [stderr] Checking sct v0.4.0 [INFO] [stderr] Checking webpki-roots v0.15.0 [INFO] [stderr] Checking rustls v0.13.1 [INFO] [stderr] Checking hyper-rustls v0.6.2 [INFO] [stderr] Checking stripe-rust-fgribreau v0.4.5 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/client.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | client: client, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `client` [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/client.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | 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/client.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | client: client, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `client` [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/client.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | 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: unneeded return statement [INFO] [stderr] --> src/resources/event.rs:239:9 [INFO] [stderr] | [INFO] [stderr] 239 | return json::from_str(&payload).map_err(|err| WebhookError::BadParse(err)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `json::from_str(&payload).map_err(|err| WebhookError::BadParse(err))` [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/resources/event.rs:239:9 [INFO] [stderr] | [INFO] [stderr] 239 | return json::from_str(&payload).map_err(|err| WebhookError::BadParse(err)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `json::from_str(&payload).map_err(|err| WebhookError::BadParse(err))` [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: redundant closure found [INFO] [stderr] --> src/client.rs:141:35 [INFO] [stderr] | [INFO] [stderr] 141 | json::from_str(&body).map_err(|err| Error::from(err)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Error::from` [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: redundant closure found [INFO] [stderr] --> src/client.rs:141:35 [INFO] [stderr] | [INFO] [stderr] 141 | json::from_str(&body).map_err(|err| Error::from(err)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Error::from` [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: large size difference between variants [INFO] [stderr] --> src/resources/event.rs:186:5 [INFO] [stderr] | [INFO] [stderr] 186 | Charge(Charge), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 186 | Charge(Box), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/resources/event.rs:208:50 [INFO] [stderr] | [INFO] [stderr] 208 | let mut headers: Vec = sig.split(",").map(|s| s.trim().to_string()).collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/resources/event.rs:211:13 [INFO] [stderr] | [INFO] [stderr] 211 | let ref mut timestamp: Vec = headers[0].split("=").map(|s| s.to_string()).collect(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^----------------------------------------------------------------------- help: try: `let timestamp: &mut Vec = &mut headers[0].split("=").map(|s| s.to_string()).collect();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/resources/event.rs:211:63 [INFO] [stderr] | [INFO] [stderr] 211 | let ref mut timestamp: Vec = headers[0].split("=").map(|s| s.to_string()).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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/resources/event.rs:215:13 [INFO] [stderr] | [INFO] [stderr] 215 | let ref mut signature: Vec = headers[1].split("=").map(|s| s.to_string()).collect(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^----------------------------------------------------------------------- help: try: `let signature: &mut Vec = &mut headers[1].split("=").map(|s| s.to_string()).collect();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/resources/event.rs:215:63 [INFO] [stderr] | [INFO] [stderr] 215 | let ref mut signature: Vec = headers[1].split("=").map(|s| s.to_string()).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: redundant closure found [INFO] [stderr] --> src/resources/event.rs:228:22 [INFO] [stderr] | [INFO] [stderr] 228 | .map_err(|err| WebhookError::BadHeader(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `WebhookError::BadHeader` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/resources/event.rs:239:49 [INFO] [stderr] | [INFO] [stderr] 239 | return json::from_str(&payload).map_err(|err| WebhookError::BadParse(err)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `WebhookError::BadParse` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/resources/invoices.rs:227:22 [INFO] [stderr] | [INFO] [stderr] 227 | client.post(&format!("/invoiceitems"), ¶ms) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"/invoiceitems".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/resources/event.rs:186:5 [INFO] [stderr] | [INFO] [stderr] 186 | Charge(Charge), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 186 | Charge(Box), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/resources/event.rs:208:50 [INFO] [stderr] | [INFO] [stderr] 208 | let mut headers: Vec = sig.split(",").map(|s| s.trim().to_string()).collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/resources/event.rs:211:13 [INFO] [stderr] | [INFO] [stderr] 211 | let ref mut timestamp: Vec = headers[0].split("=").map(|s| s.to_string()).collect(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^----------------------------------------------------------------------- help: try: `let timestamp: &mut Vec = &mut headers[0].split("=").map(|s| s.to_string()).collect();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/resources/event.rs:211:63 [INFO] [stderr] | [INFO] [stderr] 211 | let ref mut timestamp: Vec = headers[0].split("=").map(|s| s.to_string()).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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/resources/event.rs:215:13 [INFO] [stderr] | [INFO] [stderr] 215 | let ref mut signature: Vec = headers[1].split("=").map(|s| s.to_string()).collect(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^----------------------------------------------------------------------- help: try: `let signature: &mut Vec = &mut headers[1].split("=").map(|s| s.to_string()).collect();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/resources/event.rs:215:63 [INFO] [stderr] | [INFO] [stderr] 215 | let ref mut signature: Vec = headers[1].split("=").map(|s| s.to_string()).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: redundant closure found [INFO] [stderr] --> src/resources/event.rs:228:22 [INFO] [stderr] | [INFO] [stderr] 228 | .map_err(|err| WebhookError::BadHeader(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `WebhookError::BadHeader` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/resources/event.rs:239:49 [INFO] [stderr] | [INFO] [stderr] 239 | return json::from_str(&payload).map_err(|err| WebhookError::BadParse(err)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `WebhookError::BadParse` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/resources/invoices.rs:227:22 [INFO] [stderr] | [INFO] [stderr] 227 | client.post(&format!("/invoiceitems"), ¶ms) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"/invoiceitems".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> examples/list_customers.rs:15:43 [INFO] [stderr] | [INFO] [stderr] 15 | created: Some(RangeQuery::gte(1501598702)), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_501_598_702` [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: long literal lacking separators [INFO] [stderr] --> tests/encoding.rs:43:19 [INFO] [stderr] | [INFO] [stderr] 43 | gte: Some(1501598702), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_501_598_702` [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: long literal lacking separators [INFO] [stderr] --> tests/encoding.rs:44:18 [INFO] [stderr] | [INFO] [stderr] 44 | lt: Some(1504233902), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_504_233_902` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> tests/encoding.rs:50:42 [INFO] [stderr] | [INFO] [stderr] 50 | params.created = Some(RangeQuery::eq(1501598702)); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_501_598_702` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> tests/encoding.rs:55:43 [INFO] [stderr] | [INFO] [stderr] 55 | params.created = Some(RangeQuery::gte(1501598702)); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_501_598_702` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 39.72s [INFO] running `"docker" "inspect" "abe958609cd6bbaa13b4c1ba29482f2f3f2be765f566178a01198dc286b0858c"` [INFO] running `"docker" "rm" "-f" "abe958609cd6bbaa13b4c1ba29482f2f3f2be765f566178a01198dc286b0858c"` [INFO] [stdout] abe958609cd6bbaa13b4c1ba29482f2f3f2be765f566178a01198dc286b0858c