[INFO] updating cached repository dfockler/cryptopals [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/dfockler/cryptopals [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/dfockler/cryptopals" "work/ex/clippy-test-run/sources/stable/gh/dfockler/cryptopals"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/dfockler/cryptopals'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/dfockler/cryptopals" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dfockler/cryptopals"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dfockler/cryptopals'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b6d248ac44b83b6503ceee90587bb3b5f8b41fbc [INFO] sha for GitHub repo dfockler/cryptopals: b6d248ac44b83b6503ceee90587bb3b5f8b41fbc [INFO] validating manifest of dfockler/cryptopals 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 dfockler/cryptopals 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 dfockler/cryptopals [INFO] finished frobbing dfockler/cryptopals [INFO] frobbed toml for dfockler/cryptopals written to work/ex/clippy-test-run/sources/stable/gh/dfockler/cryptopals/Cargo.toml [INFO] started frobbing dfockler/cryptopals [INFO] finished frobbing dfockler/cryptopals [INFO] frobbed toml for dfockler/cryptopals written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dfockler/cryptopals/Cargo.toml [INFO] crate dfockler/cryptopals 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 dfockler/cryptopals against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dfockler/cryptopals:/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 -Dclippy::into_iter_on_array" "-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] eb27dcbd3abd6d69a5d1a42ef76c668d823cce2c8c0517603213265372d54f94 [INFO] running `"docker" "start" "-a" "eb27dcbd3abd6d69a5d1a42ef76c668d823cce2c8c0517603213265372d54f94"` [INFO] [stderr] Checking cryptopals v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: function is never used: `challenge1` [INFO] [stderr] --> src/main.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | fn challenge1() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `challenge2` [INFO] [stderr] --> src/main.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | fn challenge2() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `challenge3` [INFO] [stderr] --> src/main.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | fn challenge3() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `challenge4` [INFO] [stderr] --> src/main.rs:43:1 [INFO] [stderr] | [INFO] [stderr] 43 | fn challenge4() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `challenge5` [INFO] [stderr] --> src/main.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | fn challenge5() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `challenge6` [INFO] [stderr] --> src/main.rs:69:1 [INFO] [stderr] | [INFO] [stderr] 69 | fn challenge6() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `top_scored_value` [INFO] [stderr] --> src/main.rs:214:1 [INFO] [stderr] | [INFO] [stderr] 214 | fn top_scored_value(input: &[u8]) -> (i32, String, u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `score_string` [INFO] [stderr] --> src/main.rs:237:1 [INFO] [stderr] | [INFO] [stderr] 237 | fn score_string(input: &String) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `hex_to_bytes` [INFO] [stderr] --> src/main.rs:275:1 [INFO] [stderr] | [INFO] [stderr] 275 | fn hex_to_bytes(input: &str) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `hex_to_base64` [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | fn hex_to_base64(input: &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `xor` [INFO] [stderr] --> src/main.rs:283:1 [INFO] [stderr] | [INFO] [stderr] 283 | fn xor(a: &Vec, b: &Vec) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `single_xor` [INFO] [stderr] --> src/main.rs:293:1 [INFO] [stderr] | [INFO] [stderr] 293 | fn single_xor(input: &[u8], value: u8) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `repeating_xor` [INFO] [stderr] --> src/main.rs:303:1 [INFO] [stderr] | [INFO] [stderr] 303 | fn repeating_xor(input: &str, key: &str) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `repeating_xor_decode` [INFO] [stderr] --> src/main.rs:315:1 [INFO] [stderr] | [INFO] [stderr] 315 | fn repeating_xor_decode(input: &[u8], key: &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `hamming_distance` [INFO] [stderr] --> src/main.rs:327:1 [INFO] [stderr] | [INFO] [stderr] 327 | fn hamming_distance(a: &[u8], b: &[u8]) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:237:24 [INFO] [stderr] | [INFO] [stderr] 237 | fn score_string(input: &String) -> i32 { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:283:11 [INFO] [stderr] | [INFO] [stderr] 283 | fn xor(a: &Vec, b: &Vec) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:283:24 [INFO] [stderr] | [INFO] [stderr] 283 | fn xor(a: &Vec, b: &Vec) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the variable `key_offset` is used as a loop counter. Consider using `for (key_offset, item) in input.as_bytes().enumerate()` or similar iterators [INFO] [stderr] --> src/main.rs:307:17 [INFO] [stderr] | [INFO] [stderr] 307 | for byte in input.as_bytes() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: the variable `key_offset` is used as a loop counter. Consider using `for (key_offset, item) in input.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/main.rs:319:17 [INFO] [stderr] | [INFO] [stderr] 319 | for byte in input.iter() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: function is never used: `challenge1` [INFO] [stderr] --> src/main.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | fn challenge1() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `challenge2` [INFO] [stderr] --> src/main.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | fn challenge2() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `challenge3` [INFO] [stderr] --> src/main.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | fn challenge3() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `challenge4` [INFO] [stderr] --> src/main.rs:43:1 [INFO] [stderr] | [INFO] [stderr] 43 | fn challenge4() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `challenge5` [INFO] [stderr] --> src/main.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | fn challenge5() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `challenge6` [INFO] [stderr] --> src/main.rs:69:1 [INFO] [stderr] | [INFO] [stderr] 69 | fn challenge6() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `top_scored_value` [INFO] [stderr] --> src/main.rs:214:1 [INFO] [stderr] | [INFO] [stderr] 214 | fn top_scored_value(input: &[u8]) -> (i32, String, u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `score_string` [INFO] [stderr] --> src/main.rs:237:1 [INFO] [stderr] | [INFO] [stderr] 237 | fn score_string(input: &String) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `hex_to_bytes` [INFO] [stderr] --> src/main.rs:275:1 [INFO] [stderr] | [INFO] [stderr] 275 | fn hex_to_bytes(input: &str) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `hex_to_base64` [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | fn hex_to_base64(input: &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `xor` [INFO] [stderr] --> src/main.rs:283:1 [INFO] [stderr] | [INFO] [stderr] 283 | fn xor(a: &Vec, b: &Vec) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `single_xor` [INFO] [stderr] --> src/main.rs:293:1 [INFO] [stderr] | [INFO] [stderr] 293 | fn single_xor(input: &[u8], value: u8) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `repeating_xor` [INFO] [stderr] --> src/main.rs:303:1 [INFO] [stderr] | [INFO] [stderr] 303 | fn repeating_xor(input: &str, key: &str) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `repeating_xor_decode` [INFO] [stderr] --> src/main.rs:315:1 [INFO] [stderr] | [INFO] [stderr] 315 | fn repeating_xor_decode(input: &[u8], key: &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `hamming_distance` [INFO] [stderr] --> src/main.rs:327:1 [INFO] [stderr] | [INFO] [stderr] 327 | fn hamming_distance(a: &[u8], b: &[u8]) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:237:24 [INFO] [stderr] | [INFO] [stderr] 237 | fn score_string(input: &String) -> i32 { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:283:11 [INFO] [stderr] | [INFO] [stderr] 283 | fn xor(a: &Vec, b: &Vec) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:283:24 [INFO] [stderr] | [INFO] [stderr] 283 | fn xor(a: &Vec, b: &Vec) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the variable `key_offset` is used as a loop counter. Consider using `for (key_offset, item) in input.as_bytes().enumerate()` or similar iterators [INFO] [stderr] --> src/main.rs:307:17 [INFO] [stderr] | [INFO] [stderr] 307 | for byte in input.as_bytes() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: the variable `key_offset` is used as a loop counter. Consider using `for (key_offset, item) in input.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/main.rs:319:17 [INFO] [stderr] | [INFO] [stderr] 319 | for byte in input.iter() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.55s [INFO] running `"docker" "inspect" "eb27dcbd3abd6d69a5d1a42ef76c668d823cce2c8c0517603213265372d54f94"` [INFO] running `"docker" "rm" "-f" "eb27dcbd3abd6d69a5d1a42ef76c668d823cce2c8c0517603213265372d54f94"` [INFO] [stdout] eb27dcbd3abd6d69a5d1a42ef76c668d823cce2c8c0517603213265372d54f94