[INFO] crate web-push 0.4.1 is already in cache [INFO] extracting crate web-push 0.4.1 into work/ex/clippy-test-run/sources/stable/reg/web-push/0.4.1 [INFO] extracting crate web-push 0.4.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/web-push/0.4.1 [INFO] validating manifest of web-push-0.4.1 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 web-push-0.4.1 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 web-push-0.4.1 [INFO] finished frobbing web-push-0.4.1 [INFO] frobbed toml for web-push-0.4.1 written to work/ex/clippy-test-run/sources/stable/reg/web-push/0.4.1/Cargo.toml [INFO] started frobbing web-push-0.4.1 [INFO] finished frobbing web-push-0.4.1 [INFO] frobbed toml for web-push-0.4.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/web-push/0.4.1/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 web-push-0.4.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/web-push/0.4.1:/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] 7ca619042ac9a03cedaa9b2f6746fb0ea864366db02c6558a8f57c4b2c78f627 [INFO] running `"docker" "start" "-a" "7ca619042ac9a03cedaa9b2f6746fb0ea864366db02c6558a8f57c4b2c78f627"` [INFO] [stderr] Compiling openssl v0.10.16 [INFO] [stderr] Compiling ring v0.13.5 [INFO] [stderr] Checking base64 v0.7.0 [INFO] [stderr] Compiling native-tls v0.2.2 [INFO] [stderr] Checking erased-serde v0.3.8 [INFO] [stderr] Checking rust-crypto v0.2.36 [INFO] [stderr] Checking hyper v0.12.23 [INFO] [stderr] Checking hyper-tls v0.3.1 [INFO] [stderr] Checking web-push v0.4.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/http_ece.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | peer_public_key: peer_public_key, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `peer_public_key` [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/http_ece.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | peer_secret: peer_secret, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `peer_secret` [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/http_ece.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | encoding: encoding, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding` [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/http_ece.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | vapid_signature: vapid_signature, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `vapid_signature` [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/message.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | subscription_info: subscription_info, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `subscription_info` [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/message.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | encoding: encoding, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding` [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/message.rs:160:17 [INFO] [stderr] | [INFO] [stderr] 160 | endpoint: endpoint, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `endpoint` [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/message.rs:163:17 [INFO] [stderr] | [INFO] [stderr] 163 | service: service, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `service` [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/message.rs:168:17 [INFO] [stderr] | [INFO] [stderr] 168 | endpoint: endpoint, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `endpoint` [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/message.rs:171:17 [INFO] [stderr] | [INFO] [stderr] 171 | service: service, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `service` [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/services/firebase.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | registration_ids: registration_ids, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `registration_ids` [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/services/firebase.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | raw_data: raw_data, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `raw_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/vapid/builder.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | subscription_info: subscription_info, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `subscription_info` [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/http_ece.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | peer_public_key: peer_public_key, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `peer_public_key` [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/http_ece.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | peer_secret: peer_secret, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `peer_secret` [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/http_ece.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | encoding: encoding, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding` [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/http_ece.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | vapid_signature: vapid_signature, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `vapid_signature` [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/message.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | subscription_info: subscription_info, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `subscription_info` [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/message.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | encoding: encoding, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding` [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/message.rs:160:17 [INFO] [stderr] | [INFO] [stderr] 160 | endpoint: endpoint, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `endpoint` [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/message.rs:163:17 [INFO] [stderr] | [INFO] [stderr] 163 | service: service, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `service` [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/message.rs:168:17 [INFO] [stderr] | [INFO] [stderr] 168 | endpoint: endpoint, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `endpoint` [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/message.rs:171:17 [INFO] [stderr] | [INFO] [stderr] 171 | service: service, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `service` [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/services/firebase.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | registration_ids: registration_ids, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `registration_ids` [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/services/firebase.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | raw_data: raw_data, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `raw_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/vapid/builder.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | subscription_info: subscription_info, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `subscription_info` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/client.rs:113:35 [INFO] [stderr] | [INFO] [stderr] 113 | let response_status = response.status().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `response.status()` [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/http_ece.rs:142:51 [INFO] [stderr] | [INFO] [stderr] 142 | aead::seal_in_place(&sealing_key, &nonce, "".as_bytes(), &mut payload, 16)?; [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/client.rs:113:35 [INFO] [stderr] | [INFO] [stderr] 113 | let response_status = response.status().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `response.status()` [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/http_ece.rs:142:51 [INFO] [stderr] | [INFO] [stderr] 142 | aead::seal_in_place(&sealing_key, &nonce, "".as_bytes(), &mut payload, 16)?; [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/http_ece.rs:197:23 [INFO] [stderr] | [INFO] [stderr] 197 | let content = "This is test data. XXX".as_bytes(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"This is test data. XXX"` [INFO] [stderr] | [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: it looks like you're manually copying between slices [INFO] [stderr] --> src/http_ece.rs:205:18 [INFO] [stderr] | [INFO] [stderr] 205 | for i in 0..content.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try replacing the loop by: `payload[..content.len()].clone_from_slice(&content[..])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_memcpy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/services/firebase.rs:100:56 [INFO] [stderr] | [INFO] [stderr] 100 | if let Some(token) = message.endpoint.path().split("/").last() { [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: single-character string constant used as pattern [INFO] [stderr] --> src/services/firebase.rs:100:56 [INFO] [stderr] | [INFO] [stderr] 100 | if let Some(token) = message.endpoint.path().split("/").last() { [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/services/firebase.rs:196:54 [INFO] [stderr] | [INFO] [stderr] 196 | builder.set_payload(ContentEncoding::AesGcm, "test".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"test"` [INFO] [stderr] | [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/services/firebase.rs:226:54 [INFO] [stderr] | [INFO] [stderr] 226 | builder.set_payload(ContentEncoding::AesGcm, "test".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"test"` [INFO] [stderr] | [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/services/autopush.rs:133:54 [INFO] [stderr] | [INFO] [stderr] 133 | builder.set_payload(ContentEncoding::AesGcm, "test".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"test"` [INFO] [stderr] | [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] Finished dev [unoptimized + debuginfo] target(s) in 38.75s [INFO] running `"docker" "inspect" "7ca619042ac9a03cedaa9b2f6746fb0ea864366db02c6558a8f57c4b2c78f627"` [INFO] running `"docker" "rm" "-f" "7ca619042ac9a03cedaa9b2f6746fb0ea864366db02c6558a8f57c4b2c78f627"` [INFO] [stdout] 7ca619042ac9a03cedaa9b2f6746fb0ea864366db02c6558a8f57c4b2c78f627