[INFO] crate hmac-drbg 0.1.2 is already in cache [INFO] extracting crate hmac-drbg 0.1.2 into work/ex/clippy-test-run/sources/stable/reg/hmac-drbg/0.1.2 [INFO] extracting crate hmac-drbg 0.1.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/hmac-drbg/0.1.2 [INFO] validating manifest of hmac-drbg-0.1.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 hmac-drbg-0.1.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 hmac-drbg-0.1.2 [INFO] finished frobbing hmac-drbg-0.1.2 [INFO] frobbed toml for hmac-drbg-0.1.2 written to work/ex/clippy-test-run/sources/stable/reg/hmac-drbg/0.1.2/Cargo.toml [INFO] started frobbing hmac-drbg-0.1.2 [INFO] finished frobbing hmac-drbg-0.1.2 [INFO] frobbed toml for hmac-drbg-0.1.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/hmac-drbg/0.1.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 hmac-drbg-0.1.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/hmac-drbg/0.1.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] d06d5c962f8cb3526055694d6aa735cc9cb14f11e3712a291d336043c0fc8ce3 [INFO] running `"docker" "start" "-a" "d06d5c962f8cb3526055694d6aa735cc9cb14f11e3712a291d336043c0fc8ce3"` [INFO] [stderr] Checking etcommon-hexutil v0.2.4 [INFO] [stderr] Checking crypto-mac v0.4.0 [INFO] [stderr] Checking hmac v0.4.2 [INFO] [stderr] Checking hmac-drbg v0.1.2 (/opt/crater/workdir) [INFO] [stderr] warning: field is never used: `digest` [INFO] [stderr] --> src/lib.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | digest: D, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `k`. [INFO] [stderr] --> src/lib.rs:31:18 [INFO] [stderr] | [INFO] [stderr] 31 | for i in 0..k.as_slice().len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 31 | for in k.iter_mut().take(k.as_slice().len()) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `v`. [INFO] [stderr] --> src/lib.rs:35:18 [INFO] [stderr] | [INFO] [stderr] 35 | for i in 0..v.as_slice().len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 35 | for in v.iter_mut().take(v.as_slice().len()) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/lib.rs:77:22 [INFO] [stderr] | [INFO] [stderr] 77 | for j in 0..self.v.code().len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try replacing the loop by: `result[i..(self.v.code().len() + i)].clone_from_slice(&self.v.code()[..])` [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: field is never used: `digest` [INFO] [stderr] --> src/lib.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | digest: D, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `k`. [INFO] [stderr] --> src/lib.rs:31:18 [INFO] [stderr] | [INFO] [stderr] 31 | for i in 0..k.as_slice().len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 31 | for in k.iter_mut().take(k.as_slice().len()) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `v`. [INFO] [stderr] --> src/lib.rs:35:18 [INFO] [stderr] | [INFO] [stderr] 35 | for i in 0..v.as_slice().len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 35 | for in v.iter_mut().take(v.as_slice().len()) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/lib.rs:77:22 [INFO] [stderr] | [INFO] [stderr] 77 | for j in 0..self.v.code().len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try replacing the loop by: `result[i..(self.v.code().len() + i)].clone_from_slice(&self.v.code()[..])` [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: unused import: `generic_array::GenericArray` [INFO] [stderr] --> tests/lib.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use generic_array::GenericArray; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `half_len` [INFO] [stderr] --> tests/lib.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | let half_len = result.len() / 2; [INFO] [stderr] | ^^^^^^^^ help: consider using `_half_len` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/lib.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | "totally random0123456789".as_bytes(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"totally random0123456789"` [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] --> tests/lib.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | "secret nonce".as_bytes(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"secret nonce"` [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] --> tests/lib.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | "my drbg".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"my drbg"` [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] --> tests/lib.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | "totally random0123456789".as_bytes(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"totally random0123456789"` [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] --> tests/lib.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | "secret nonce".as_bytes(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"secret nonce"` [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] --> tests/lib.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | "totally random string with many chars that I typed in agony".as_bytes(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"totally random string with many chars that I typed in agony"` [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] --> tests/lib.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | "nonce".as_bytes(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"nonce"` [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] --> tests/lib.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | "pers".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"pers"` [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] --> tests/lib.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | "totally random string with many chars that I typed in agony".as_bytes(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"totally random string with many chars that I typed in agony"` [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] --> tests/lib.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | "nonce".as_bytes(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"nonce"` [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] --> tests/lib.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | "pers".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"pers"` [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] --> tests/lib.rs:48:21 [INFO] [stderr] | [INFO] [stderr] 48 | reseeded.reseed("another absolutely random string".as_bytes(), None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"another absolutely random string"` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> tests/lib.rs:70:34 [INFO] [stderr] | [INFO] [stderr] 70 | &read_hex(&test.pers.unwrap_or("".to_string())).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".to_string())` [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] Finished dev [unoptimized + debuginfo] target(s) in 3.32s [INFO] running `"docker" "inspect" "d06d5c962f8cb3526055694d6aa735cc9cb14f11e3712a291d336043c0fc8ce3"` [INFO] running `"docker" "rm" "-f" "d06d5c962f8cb3526055694d6aa735cc9cb14f11e3712a291d336043c0fc8ce3"` [INFO] [stdout] d06d5c962f8cb3526055694d6aa735cc9cb14f11e3712a291d336043c0fc8ce3