Dec 19 21:55:13.659 INFO checking ShaunApps/cryptopals-challenges against master#d99a320cba42f661aebfa1293b7b2ec3603dda75 for pr-56955 Dec 19 21:55:13.659 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56955/worker-3/master#d99a320cba42f661aebfa1293b7b2ec3603dda75:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-56955/sources/master#d99a320cba42f661aebfa1293b7b2ec3603dda75/gh/ShaunApps/cryptopals-challenges:/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" "+d99a320cba42f661aebfa1293b7b2ec3603dda75-alt" "check" "--frozen" "--all" "--all-targets"` Dec 19 21:55:14.082 INFO [stdout] 24a1eaa0d761b21fd1feb9ef8994ec0806ea6390184d3dc97c16c2deca1ec3da Dec 19 21:55:14.084 INFO running `"docker" "start" "-a" "24a1eaa0d761b21fd1feb9ef8994ec0806ea6390184d3dc97c16c2deca1ec3da"` Dec 19 21:55:15.928 INFO [stderr] Checking rust-crypto v0.2.36 Dec 19 21:55:21.310 INFO [stderr] Checking cryptopals v0.1.0 (/opt/crater/workdir) Dec 19 21:55:21.869 INFO [stderr] warning: unused import: `hex` Dec 19 21:55:21.869 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:4:5 Dec 19 21:55:21.869 INFO [stderr] | Dec 19 21:55:21.869 INFO [stderr] 4 | use hex; Dec 19 21:55:21.869 INFO [stderr] | ^^^ Dec 19 21:55:21.869 INFO [stderr] | Dec 19 21:55:21.869 INFO [stderr] = note: #[warn(unused_imports)] on by default Dec 19 21:55:21.869 INFO [stderr] Dec 19 21:55:21.869 INFO [stderr] warning: unused import: `std::io` Dec 19 21:55:21.869 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:7:5 Dec 19 21:55:21.869 INFO [stderr] | Dec 19 21:55:21.869 INFO [stderr] 7 | use std::io; Dec 19 21:55:21.869 INFO [stderr] | ^^^^^^^ Dec 19 21:55:21.869 INFO [stderr] Dec 19 21:55:21.869 INFO [stderr] warning: unused import: `std::io::BufRead` Dec 19 21:55:21.869 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:9:5 Dec 19 21:55:21.869 INFO [stderr] | Dec 19 21:55:21.869 INFO [stderr] 9 | use std::io::BufRead; Dec 19 21:55:21.869 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 19 21:55:21.869 INFO [stderr] Dec 19 21:55:21.869 INFO [stderr] warning: unused import: `std::io::BufReader` Dec 19 21:55:21.869 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:10:5 Dec 19 21:55:21.869 INFO [stderr] | Dec 19 21:55:21.869 INFO [stderr] 10 | use std::io::BufReader; Dec 19 21:55:21.869 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Dec 19 21:55:21.869 INFO [stderr] Dec 19 21:55:21.869 INFO [stderr] warning: unused import: `std::path::Path` Dec 19 21:55:21.869 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:11:5 Dec 19 21:55:21.869 INFO [stderr] | Dec 19 21:55:21.869 INFO [stderr] 11 | use std::path::Path; Dec 19 21:55:21.869 INFO [stderr] | ^^^^^^^^^^^^^^^ Dec 19 21:55:21.869 INFO [stderr] Dec 19 21:55:21.869 INFO [stderr] warning: unused import: `std::str` Dec 19 21:55:21.869 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:12:5 Dec 19 21:55:21.869 INFO [stderr] | Dec 19 21:55:21.869 INFO [stderr] 12 | use std::str; Dec 19 21:55:21.869 INFO [stderr] | ^^^^^^^^ Dec 19 21:55:21.869 INFO [stderr] Dec 19 21:55:21.869 INFO [stderr] warning: unused import: `base64` Dec 19 21:55:21.869 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:1:5 Dec 19 21:55:21.869 INFO [stderr] | Dec 19 21:55:21.869 INFO [stderr] 1 | use base64; Dec 19 21:55:21.869 INFO [stderr] | ^^^^^^ Dec 19 21:55:21.869 INFO [stderr] Dec 19 21:55:21.869 INFO [stderr] warning: unused import: `rand::prelude::*` Dec 19 21:55:21.869 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:4:5 Dec 19 21:55:21.869 INFO [stderr] | Dec 19 21:55:21.869 INFO [stderr] 4 | use rand::prelude::*; Dec 19 21:55:21.869 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 19 21:55:21.869 INFO [stderr] Dec 19 21:55:21.869 INFO [stderr] warning: unused imports: `OsRng`, `Rng` Dec 19 21:55:21.869 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:5:12 Dec 19 21:55:21.869 INFO [stderr] | Dec 19 21:55:21.869 INFO [stderr] 5 | use rand::{OsRng, Rng}; Dec 19 21:55:21.869 INFO [stderr] | ^^^^^ ^^^ Dec 19 21:55:21.869 INFO [stderr] Dec 19 21:55:21.869 INFO [stderr] warning: unused import: `std::fs::File` Dec 19 21:55:21.869 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:6:5 Dec 19 21:55:21.869 INFO [stderr] | Dec 19 21:55:21.869 INFO [stderr] 6 | use std::fs::File; Dec 19 21:55:21.869 INFO [stderr] | ^^^^^^^^^^^^^ Dec 19 21:55:21.869 INFO [stderr] Dec 19 21:55:21.869 INFO [stderr] warning: unused import: `std::io::prelude::*` Dec 19 21:55:21.869 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:7:5 Dec 19 21:55:21.869 INFO [stderr] | Dec 19 21:55:21.869 INFO [stderr] 7 | use std::io::prelude::*; Dec 19 21:55:21.869 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Dec 19 21:55:21.869 INFO [stderr] Dec 19 21:55:21.869 INFO [stderr] warning: unused import: `std::io::BufRead` Dec 19 21:55:21.869 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:8:5 Dec 19 21:55:21.870 INFO [stderr] | Dec 19 21:55:21.870 INFO [stderr] 8 | use std::io::BufRead; Dec 19 21:55:21.870 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 19 21:55:21.870 INFO [stderr] Dec 19 21:55:21.870 INFO [stderr] warning: unused import: `std::io::BufReader` Dec 19 21:55:21.870 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:9:5 Dec 19 21:55:21.870 INFO [stderr] | Dec 19 21:55:21.870 INFO [stderr] 9 | use std::io::BufReader; Dec 19 21:55:21.870 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Dec 19 21:55:21.870 INFO [stderr] Dec 19 21:55:21.870 INFO [stderr] warning: unused import: `std::str` Dec 19 21:55:21.870 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:10:5 Dec 19 21:55:21.870 INFO [stderr] | Dec 19 21:55:21.870 INFO [stderr] 10 | use std::str; Dec 19 21:55:21.870 INFO [stderr] | ^^^^^^^^ Dec 19 21:55:21.870 INFO [stderr] Dec 19 21:55:21.870 INFO [stderr] warning: unused import: `std::path::Path` Dec 19 21:55:21.870 INFO [stderr] --> src/challenge_set_1/detect_single_char_xor.rs:5:5 Dec 19 21:55:21.870 INFO [stderr] | Dec 19 21:55:21.870 INFO [stderr] 5 | use std::path::Path; Dec 19 21:55:21.870 INFO [stderr] | ^^^^^^^^^^^^^^^ Dec 19 21:55:21.870 INFO [stderr] Dec 19 21:55:21.870 INFO [stderr] warning: unused import: `base64` Dec 19 21:55:21.870 INFO [stderr] --> src/challenge_set_1/fixed_XOR.rs:1:5 Dec 19 21:55:21.870 INFO [stderr] | Dec 19 21:55:21.870 INFO [stderr] 1 | use base64; Dec 19 21:55:21.870 INFO [stderr] | ^^^^^^ Dec 19 21:55:21.870 INFO [stderr] Dec 19 21:55:21.870 INFO [stderr] warning: unused import: `std::str::from_utf8` Dec 19 21:55:21.870 INFO [stderr] --> src/challenge_set_1/repeating_key_xor.rs:2:5 Dec 19 21:55:21.870 INFO [stderr] | Dec 19 21:55:21.870 INFO [stderr] 2 | use std::str::from_utf8; Dec 19 21:55:21.870 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Dec 19 21:55:21.870 INFO [stderr] Dec 19 21:55:21.870 INFO [stderr] warning: unnecessary parentheses around `if` condition Dec 19 21:55:21.870 INFO [stderr] --> src/challenge_set_1/repeating_key_xor.rs:11:12 Dec 19 21:55:21.870 INFO [stderr] | Dec 19 21:55:21.870 INFO [stderr] 11 | if ((index + 1) == key.as_bytes().len()) { Dec 19 21:55:21.870 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 19 21:55:21.870 INFO [stderr] | Dec 19 21:55:21.870 INFO [stderr] = note: #[warn(unused_parens)] on by default Dec 19 21:55:21.870 INFO [stderr] Dec 19 21:55:21.870 INFO [stderr] warning: unused import: `base64` Dec 19 21:55:21.870 INFO [stderr] --> src/challenge_set_1/single_byte_xor_cipher.rs:1:5 Dec 19 21:55:21.870 INFO [stderr] | Dec 19 21:55:21.870 INFO [stderr] 1 | use base64; Dec 19 21:55:21.870 INFO [stderr] | ^^^^^^ Dec 19 21:55:21.870 INFO [stderr] Dec 19 21:55:21.870 INFO [stderr] warning: unused import: `challenge_set_1::detect_single_char_xor::detect_sing_char_xor` Dec 19 21:55:21.870 INFO [stderr] --> src/main.rs:8:5 Dec 19 21:55:21.870 INFO [stderr] | Dec 19 21:55:21.870 INFO [stderr] 8 | use challenge_set_1::detect_single_char_xor::detect_sing_char_xor; Dec 19 21:55:21.870 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 19 21:55:21.870 INFO [stderr] Dec 19 21:55:21.870 INFO [stderr] warning: unused import: `challenge_set_1::single_byte_xor_cipher::single_byte_xor_cipher` Dec 19 21:55:21.870 INFO [stderr] --> src/main.rs:10:5 Dec 19 21:55:21.870 INFO [stderr] | Dec 19 21:55:21.870 INFO [stderr] 10 | use challenge_set_1::single_byte_xor_cipher::single_byte_xor_cipher; Dec 19 21:55:21.870 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 19 21:55:21.870 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `hex` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:4:5 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 4 | use hex; Dec 19 21:55:21.921 INFO [stderr] | ^^^ Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] = note: #[warn(unused_imports)] on by default Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `std::io` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:7:5 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 7 | use std::io; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `std::io::BufRead` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:9:5 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 9 | use std::io::BufRead; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `std::io::BufReader` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:10:5 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 10 | use std::io::BufReader; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `std::path::Path` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:11:5 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 11 | use std::path::Path; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^^^^^^^^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `rand::prelude::*` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:4:5 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 4 | use rand::prelude::*; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused imports: `OsRng`, `Rng` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:5:12 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 5 | use rand::{OsRng, Rng}; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^ ^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `std::io::prelude::*` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:7:5 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 7 | use std::io::prelude::*; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `std::io::BufRead` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:8:5 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 8 | use std::io::BufRead; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `std::str` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:10:5 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 10 | use std::str; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `std::path::Path` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/detect_single_char_xor.rs:5:5 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 5 | use std::path::Path; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^^^^^^^^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `base64` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/fixed_XOR.rs:1:5 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 1 | use base64; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `std::str::from_utf8` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/repeating_key_xor.rs:2:5 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 2 | use std::str::from_utf8; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unnecessary parentheses around `if` condition Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/repeating_key_xor.rs:11:12 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 11 | if ((index + 1) == key.as_bytes().len()) { Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] = note: #[warn(unused_parens)] on by default Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `base64` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/single_byte_xor_cipher.rs:1:5 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 1 | use base64; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `super::*` Dec 19 21:55:21.921 INFO [stderr] --> src/challenge_set_1/single_byte_xor_cipher.rs:88:9 Dec 19 21:55:21.921 INFO [stderr] | Dec 19 21:55:21.921 INFO [stderr] 88 | use super::*; Dec 19 21:55:21.921 INFO [stderr] | ^^^^^^^^ Dec 19 21:55:21.921 INFO [stderr] Dec 19 21:55:21.921 INFO [stderr] warning: unused import: `challenge_set_1::detect_single_char_xor::detect_sing_char_xor` Dec 19 21:55:21.922 INFO [stderr] --> src/main.rs:8:5 Dec 19 21:55:21.922 INFO [stderr] | Dec 19 21:55:21.922 INFO [stderr] 8 | use challenge_set_1::detect_single_char_xor::detect_sing_char_xor; Dec 19 21:55:21.922 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 19 21:55:21.922 INFO [stderr] Dec 19 21:55:21.922 INFO [stderr] warning: unused import: `challenge_set_1::single_byte_xor_cipher::single_byte_xor_cipher` Dec 19 21:55:21.922 INFO [stderr] --> src/main.rs:10:5 Dec 19 21:55:21.922 INFO [stderr] | Dec 19 21:55:21.922 INFO [stderr] 10 | use challenge_set_1::single_byte_xor_cipher::single_byte_xor_cipher; Dec 19 21:55:21.922 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 19 21:55:21.922 INFO [stderr] Dec 19 21:55:22.060 INFO [stderr] warning: variable `phrase` is assigned to, but never used Dec 19 21:55:22.060 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:24:13 Dec 19 21:55:22.060 INFO [stderr] | Dec 19 21:55:22.060 INFO [stderr] 24 | let mut phrase: String = "".to_string(); Dec 19 21:55:22.060 INFO [stderr] | ^^^^^^ Dec 19 21:55:22.060 INFO [stderr] | Dec 19 21:55:22.060 INFO [stderr] = note: #[warn(unused_variables)] on by default Dec 19 21:55:22.060 INFO [stderr] = note: consider using `_phrase` instead Dec 19 21:55:22.060 INFO [stderr] Dec 19 21:55:22.060 INFO [stderr] warning: value assigned to `phrase` is never read Dec 19 21:55:22.060 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:33:13 Dec 19 21:55:22.061 INFO [stderr] | Dec 19 21:55:22.061 INFO [stderr] 33 | phrase = match thing { Dec 19 21:55:22.061 INFO [stderr] | ^^^^^^ Dec 19 21:55:22.061 INFO [stderr] | Dec 19 21:55:22.061 INFO [stderr] = note: #[warn(unused_assignments)] on by default Dec 19 21:55:22.061 INFO [stderr] = help: maybe it is overwritten before being read? Dec 19 21:55:22.061 INFO [stderr] Dec 19 21:55:22.061 INFO [stderr] warning: unused variable: `error` Dec 19 21:55:22.061 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:35:21 Dec 19 21:55:22.061 INFO [stderr] | Dec 19 21:55:22.061 INFO [stderr] 35 | Err(error) => String::from(""), Dec 19 21:55:22.061 INFO [stderr] | ^^^^^ help: consider using `_error` instead Dec 19 21:55:22.061 INFO [stderr] Dec 19 21:55:22.061 INFO [stderr] warning: unused variable: `value` Dec 19 21:55:22.061 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:84:15 Dec 19 21:55:22.061 INFO [stderr] | Dec 19 21:55:22.061 INFO [stderr] 84 | for (key, value) in key_map.iter() { Dec 19 21:55:22.061 INFO [stderr] | ^^^^^ help: consider using `_value` instead Dec 19 21:55:22.061 INFO [stderr] Dec 19 21:55:22.061 INFO [stderr] warning: unused variable: `e` Dec 19 21:55:22.061 INFO [stderr] --> src/challenge_set_1/single_byte_xor_cipher.rs:44:13 Dec 19 21:55:22.061 INFO [stderr] | Dec 19 21:55:22.061 INFO [stderr] 44 | Err(e) => String::from(""), Dec 19 21:55:22.061 INFO [stderr] | ^ help: consider using `_e` instead Dec 19 21:55:22.061 INFO [stderr] Dec 19 21:55:22.061 INFO [stderr] warning: unused variable: `length` Dec 19 21:55:22.061 INFO [stderr] --> src/challenge_set_1/single_byte_xor_cipher.rs:57:9 Dec 19 21:55:22.061 INFO [stderr] | Dec 19 21:55:22.061 INFO [stderr] 57 | let length = data_as_bytes.len(); Dec 19 21:55:22.061 INFO [stderr] | ^^^^^^ help: consider using `_length` instead Dec 19 21:55:22.061 INFO [stderr] Dec 19 21:55:22.061 INFO [stderr] warning: unused variable: `error` Dec 19 21:55:22.061 INFO [stderr] --> src/challenge_set_1/single_byte_xor_cipher.rs:78:21 Dec 19 21:55:22.061 INFO [stderr] | Dec 19 21:55:22.061 INFO [stderr] 78 | Err(error) => String::from(""), Dec 19 21:55:22.061 INFO [stderr] | ^^^^^ help: consider using `_error` instead Dec 19 21:55:22.061 INFO [stderr] Dec 19 21:55:22.108 INFO [stderr] warning: variable `phrase` is assigned to, but never used Dec 19 21:55:22.108 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:24:13 Dec 19 21:55:22.108 INFO [stderr] | Dec 19 21:55:22.108 INFO [stderr] 24 | let mut phrase: String = "".to_string(); Dec 19 21:55:22.108 INFO [stderr] | ^^^^^^ Dec 19 21:55:22.108 INFO [stderr] | Dec 19 21:55:22.108 INFO [stderr] = note: #[warn(unused_variables)] on by default Dec 19 21:55:22.108 INFO [stderr] = note: consider using `_phrase` instead Dec 19 21:55:22.108 INFO [stderr] Dec 19 21:55:22.108 INFO [stderr] warning: value assigned to `phrase` is never read Dec 19 21:55:22.108 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:33:13 Dec 19 21:55:22.108 INFO [stderr] | Dec 19 21:55:22.108 INFO [stderr] 33 | phrase = match thing { Dec 19 21:55:22.109 INFO [stderr] | ^^^^^^ Dec 19 21:55:22.109 INFO [stderr] | Dec 19 21:55:22.109 INFO [stderr] = note: #[warn(unused_assignments)] on by default Dec 19 21:55:22.109 INFO [stderr] = help: maybe it is overwritten before being read? Dec 19 21:55:22.109 INFO [stderr] Dec 19 21:55:22.109 INFO [stderr] warning: unused variable: `error` Dec 19 21:55:22.109 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:35:21 Dec 19 21:55:22.109 INFO [stderr] | Dec 19 21:55:22.109 INFO [stderr] 35 | Err(error) => String::from(""), Dec 19 21:55:22.109 INFO [stderr] | ^^^^^ help: consider using `_error` instead Dec 19 21:55:22.109 INFO [stderr] Dec 19 21:55:22.109 INFO [stderr] warning: unused variable: `value` Dec 19 21:55:22.109 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:84:15 Dec 19 21:55:22.109 INFO [stderr] | Dec 19 21:55:22.109 INFO [stderr] 84 | for (key, value) in key_map.iter() { Dec 19 21:55:22.109 INFO [stderr] | ^^^^^ help: consider using `_value` instead Dec 19 21:55:22.109 INFO [stderr] Dec 19 21:55:22.109 INFO [stderr] warning: unused variable: `e` Dec 19 21:55:22.109 INFO [stderr] --> src/challenge_set_1/single_byte_xor_cipher.rs:44:13 Dec 19 21:55:22.109 INFO [stderr] | Dec 19 21:55:22.109 INFO [stderr] 44 | Err(e) => String::from(""), Dec 19 21:55:22.109 INFO [stderr] | ^ help: consider using `_e` instead Dec 19 21:55:22.109 INFO [stderr] Dec 19 21:55:22.109 INFO [stderr] warning: unused variable: `length` Dec 19 21:55:22.109 INFO [stderr] --> src/challenge_set_1/single_byte_xor_cipher.rs:57:9 Dec 19 21:55:22.109 INFO [stderr] | Dec 19 21:55:22.109 INFO [stderr] 57 | let length = data_as_bytes.len(); Dec 19 21:55:22.109 INFO [stderr] | ^^^^^^ help: consider using `_length` instead Dec 19 21:55:22.109 INFO [stderr] Dec 19 21:55:22.109 INFO [stderr] warning: unused variable: `error` Dec 19 21:55:22.109 INFO [stderr] --> src/challenge_set_1/single_byte_xor_cipher.rs:78:21 Dec 19 21:55:22.109 INFO [stderr] | Dec 19 21:55:22.109 INFO [stderr] 78 | Err(error) => String::from(""), Dec 19 21:55:22.109 INFO [stderr] | ^^^^^ help: consider using `_error` instead Dec 19 21:55:22.109 INFO [stderr] Dec 19 21:55:22.121 INFO [stderr] warning: function is never used: `solve_blocks` Dec 19 21:55:22.121 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:14:1 Dec 19 21:55:22.121 INFO [stderr] | Dec 19 21:55:22.121 INFO [stderr] 14 | fn solve_blocks(blocks: Vec>) -> Vec { Dec 19 21:55:22.121 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 19 21:55:22.121 INFO [stderr] | Dec 19 21:55:22.121 INFO [stderr] = note: #[warn(dead_code)] on by default Dec 19 21:55:22.121 INFO [stderr] Dec 19 21:55:22.121 INFO [stderr] warning: function is never used: `break_ciphertext_into_blocks` Dec 19 21:55:22.121 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:42:1 Dec 19 21:55:22.121 INFO [stderr] | Dec 19 21:55:22.121 INFO [stderr] 42 | fn break_ciphertext_into_blocks(keysize: u8) -> Vec> { Dec 19 21:55:22.121 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 19 21:55:22.121 INFO [stderr] Dec 19 21:55:22.121 INFO [stderr] warning: function is never used: `find_smallest_KEYSIZE` Dec 19 21:55:22.121 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:76:1 Dec 19 21:55:22.121 INFO [stderr] | Dec 19 21:55:22.121 INFO [stderr] 76 | fn find_smallest_KEYSIZE() -> Vec { Dec 19 21:55:22.121 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 19 21:55:22.121 INFO [stderr] Dec 19 21:55:22.121 INFO [stderr] warning: function is never used: `normalized_KEYSIZE` Dec 19 21:55:22.121 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:96:1 Dec 19 21:55:22.121 INFO [stderr] | Dec 19 21:55:22.121 INFO [stderr] 96 | fn normalized_KEYSIZE(key_guess: u8) -> f64 { Dec 19 21:55:22.121 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 19 21:55:22.121 INFO [stderr] Dec 19 21:55:22.121 INFO [stderr] warning: function is never used: `decrypt` Dec 19 21:55:22.121 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:13:1 Dec 19 21:55:22.121 INFO [stderr] | Dec 19 21:55:22.121 INFO [stderr] 13 | / fn decrypt( Dec 19 21:55:22.121 INFO [stderr] 14 | | encrypted_data: &[u8], Dec 19 21:55:22.121 INFO [stderr] 15 | | key: &[u8], Dec 19 21:55:22.121 INFO [stderr] 16 | | ) -> Result, symmetriccipher::SymmetricCipherError> { Dec 19 21:55:22.121 INFO [stderr] ... | Dec 19 21:55:22.121 INFO [stderr] 39 | | Ok(final_result) Dec 19 21:55:22.121 INFO [stderr] 40 | | } Dec 19 21:55:22.121 INFO [stderr] | |_^ Dec 19 21:55:22.121 INFO [stderr] Dec 19 21:55:22.121 INFO [stderr] warning: function `find_smallest_KEYSIZE` should have a snake case name such as `find_smallest_keysize` Dec 19 21:55:22.121 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:76:1 Dec 19 21:55:22.121 INFO [stderr] | Dec 19 21:55:22.121 INFO [stderr] 76 | / fn find_smallest_KEYSIZE() -> Vec { Dec 19 21:55:22.121 INFO [stderr] 77 | | let mut key_map: HashMap = HashMap::new(); Dec 19 21:55:22.121 INFO [stderr] 78 | | Dec 19 21:55:22.121 INFO [stderr] 79 | | for i in 1..=40 { Dec 19 21:55:22.121 INFO [stderr] ... | Dec 19 21:55:22.121 INFO [stderr] 92 | | vec![value1, value2, value3] Dec 19 21:55:22.121 INFO [stderr] 93 | | } Dec 19 21:55:22.121 INFO [stderr] | |_^ Dec 19 21:55:22.121 INFO [stderr] | Dec 19 21:55:22.121 INFO [stderr] = note: #[warn(non_snake_case)] on by default Dec 19 21:55:22.121 INFO [stderr] Dec 19 21:55:22.121 INFO [stderr] warning: function `normalized_KEYSIZE` should have a snake case name such as `normalized_keysize` Dec 19 21:55:22.121 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:96:1 Dec 19 21:55:22.121 INFO [stderr] | Dec 19 21:55:22.121 INFO [stderr] 96 | / fn normalized_KEYSIZE(key_guess: u8) -> f64 { Dec 19 21:55:22.121 INFO [stderr] 97 | | let mut f = File::open("1_challenge_6.txt").unwrap(); Dec 19 21:55:22.121 INFO [stderr] 98 | | Dec 19 21:55:22.121 INFO [stderr] 99 | | let mut contents = String::new(); Dec 19 21:55:22.121 INFO [stderr] ... | Dec 19 21:55:22.121 INFO [stderr] 114 | | final_distance / pairs as f64 Dec 19 21:55:22.121 INFO [stderr] 115 | | } Dec 19 21:55:22.121 INFO [stderr] | |_^ Dec 19 21:55:22.121 INFO [stderr] Dec 19 21:55:22.121 INFO [stderr] warning: module `fixed_XOR` should have a snake case name such as `fixed_xor` Dec 19 21:55:22.121 INFO [stderr] --> src/challenge_set_1/mod.rs:7:1 Dec 19 21:55:22.121 INFO [stderr] | Dec 19 21:55:22.121 INFO [stderr] 7 | pub mod fixed_XOR; Dec 19 21:55:22.121 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Dec 19 21:55:22.121 INFO [stderr] Dec 19 21:55:22.121 INFO [stderr] warning: function `fixed_XOR` should have a snake case name such as `fixed_xor` Dec 19 21:55:22.121 INFO [stderr] --> src/challenge_set_1/fixed_XOR.rs:19:1 Dec 19 21:55:22.121 INFO [stderr] | Dec 19 21:55:22.121 INFO [stderr] 19 | / pub fn fixed_XOR(data_1: &str, data_2: &str) -> String { Dec 19 21:55:22.121 INFO [stderr] 20 | | let one = hex::decode(data_1).unwrap(); Dec 19 21:55:22.121 INFO [stderr] 21 | | let two = hex::decode(data_2).unwrap(); Dec 19 21:55:22.121 INFO [stderr] 22 | | let xor = BytesXOR(one) ^ BytesXOR(two); Dec 19 21:55:22.121 INFO [stderr] 23 | | hex::encode(xor.0) Dec 19 21:55:22.121 INFO [stderr] 24 | | } Dec 19 21:55:22.121 INFO [stderr] | |_^ Dec 19 21:55:22.121 INFO [stderr] Dec 19 21:55:22.144 INFO [stderr] warning: variable does not need to be mutable Dec 19 21:55:22.144 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:48:13 Dec 19 21:55:22.144 INFO [stderr] | Dec 19 21:55:22.144 INFO [stderr] 48 | let mut f = File::open("1_challenge_7.txt").unwrap(); Dec 19 21:55:22.144 INFO [stderr] | ----^ Dec 19 21:55:22.144 INFO [stderr] | | Dec 19 21:55:22.144 INFO [stderr] | help: remove this `mut` Dec 19 21:55:22.144 INFO [stderr] | Dec 19 21:55:22.144 INFO [stderr] = note: #[warn(unused_mut)] on by default Dec 19 21:55:22.144 INFO [stderr] Dec 19 21:55:22.144 INFO [stderr] warning: variable does not need to be mutable Dec 19 21:55:22.144 INFO [stderr] --> src/challenge_set_1/challenge_7.rs:49:13 Dec 19 21:55:22.144 INFO [stderr] | Dec 19 21:55:22.144 INFO [stderr] 49 | let mut buf_reader = BufReader::new(f); Dec 19 21:55:22.144 INFO [stderr] | ----^^^^^^^^^^ Dec 19 21:55:22.144 INFO [stderr] | | Dec 19 21:55:22.145 INFO [stderr] | help: remove this `mut` Dec 19 21:55:22.145 INFO [stderr] Dec 19 21:55:22.164 INFO [stderr] warning: function `find_smallest_KEYSIZE` should have a snake case name such as `find_smallest_keysize` Dec 19 21:55:22.164 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:76:1 Dec 19 21:55:22.164 INFO [stderr] | Dec 19 21:55:22.164 INFO [stderr] 76 | / fn find_smallest_KEYSIZE() -> Vec { Dec 19 21:55:22.164 INFO [stderr] 77 | | let mut key_map: HashMap = HashMap::new(); Dec 19 21:55:22.164 INFO [stderr] 78 | | Dec 19 21:55:22.164 INFO [stderr] 79 | | for i in 1..=40 { Dec 19 21:55:22.164 INFO [stderr] ... | Dec 19 21:55:22.164 INFO [stderr] 92 | | vec![value1, value2, value3] Dec 19 21:55:22.164 INFO [stderr] 93 | | } Dec 19 21:55:22.164 INFO [stderr] | |_^ Dec 19 21:55:22.164 INFO [stderr] | Dec 19 21:55:22.164 INFO [stderr] = note: #[warn(non_snake_case)] on by default Dec 19 21:55:22.164 INFO [stderr] Dec 19 21:55:22.164 INFO [stderr] warning: function `normalized_KEYSIZE` should have a snake case name such as `normalized_keysize` Dec 19 21:55:22.164 INFO [stderr] --> src/challenge_set_1/break_repeating_key_xor.rs:96:1 Dec 19 21:55:22.164 INFO [stderr] | Dec 19 21:55:22.164 INFO [stderr] 96 | / fn normalized_KEYSIZE(key_guess: u8) -> f64 { Dec 19 21:55:22.164 INFO [stderr] 97 | | let mut f = File::open("1_challenge_6.txt").unwrap(); Dec 19 21:55:22.164 INFO [stderr] 98 | | Dec 19 21:55:22.164 INFO [stderr] 99 | | let mut contents = String::new(); Dec 19 21:55:22.164 INFO [stderr] ... | Dec 19 21:55:22.164 INFO [stderr] 114 | | final_distance / pairs as f64 Dec 19 21:55:22.164 INFO [stderr] 115 | | } Dec 19 21:55:22.164 INFO [stderr] | |_^ Dec 19 21:55:22.164 INFO [stderr] Dec 19 21:55:22.168 INFO [stderr] warning: module `fixed_XOR` should have a snake case name such as `fixed_xor` Dec 19 21:55:22.168 INFO [stderr] --> src/challenge_set_1/mod.rs:7:1 Dec 19 21:55:22.168 INFO [stderr] | Dec 19 21:55:22.168 INFO [stderr] 7 | pub mod fixed_XOR; Dec 19 21:55:22.168 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Dec 19 21:55:22.168 INFO [stderr] Dec 19 21:55:22.168 INFO [stderr] warning: function `fixed_XOR` should have a snake case name such as `fixed_xor` Dec 19 21:55:22.168 INFO [stderr] --> src/challenge_set_1/fixed_XOR.rs:19:1 Dec 19 21:55:22.168 INFO [stderr] | Dec 19 21:55:22.168 INFO [stderr] 19 | / pub fn fixed_XOR(data_1: &str, data_2: &str) -> String { Dec 19 21:55:22.168 INFO [stderr] 20 | | let one = hex::decode(data_1).unwrap(); Dec 19 21:55:22.168 INFO [stderr] 21 | | let two = hex::decode(data_2).unwrap(); Dec 19 21:55:22.168 INFO [stderr] 22 | | let xor = BytesXOR(one) ^ BytesXOR(two); Dec 19 21:55:22.168 INFO [stderr] 23 | | hex::encode(xor.0) Dec 19 21:55:22.168 INFO [stderr] 24 | | } Dec 19 21:55:22.168 INFO [stderr] | |_^ Dec 19 21:55:22.168 INFO [stderr] Dec 19 21:55:22.168 INFO [stderr] warning: function `test_fixed_XOR` should have a snake case name such as `test_fixed_xor` Dec 19 21:55:22.168 INFO [stderr] --> src/challenge_set_1/fixed_XOR.rs:31:5 Dec 19 21:55:22.168 INFO [stderr] | Dec 19 21:55:22.168 INFO [stderr] 31 | / fn test_fixed_XOR() { Dec 19 21:55:22.168 INFO [stderr] 32 | | let data_1 = "1c0111001f010100061a024b53535009181c"; Dec 19 21:55:22.168 INFO [stderr] 33 | | let data_2 = "686974207468652062756c6c277320657965"; Dec 19 21:55:22.168 INFO [stderr] 34 | | assert_eq!( Dec 19 21:55:22.169 INFO [stderr] ... | Dec 19 21:55:22.169 INFO [stderr] 37 | | ); Dec 19 21:55:22.169 INFO [stderr] 38 | | } Dec 19 21:55:22.169 INFO [stderr] | |_____^ Dec 19 21:55:22.169 INFO [stderr] Dec 19 21:55:22.195 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 6.34s Dec 19 21:55:22.534 INFO running `"docker" "inspect" "24a1eaa0d761b21fd1feb9ef8994ec0806ea6390184d3dc97c16c2deca1ec3da"` Dec 19 21:55:22.824 INFO running `"docker" "rm" "-f" "24a1eaa0d761b21fd1feb9ef8994ec0806ea6390184d3dc97c16c2deca1ec3da"` Dec 19 21:55:23.124 INFO [stdout] 24a1eaa0d761b21fd1feb9ef8994ec0806ea6390184d3dc97c16c2deca1ec3da