[INFO] updating cached repository FGlazov/CryptoPals-Rust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/FGlazov/CryptoPals-Rust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/FGlazov/CryptoPals-Rust" "work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/FGlazov/CryptoPals-Rust"` [INFO] [stderr] Cloning into 'work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/FGlazov/CryptoPals-Rust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/FGlazov/CryptoPals-Rust" "work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/FGlazov/CryptoPals-Rust"` [INFO] [stderr] Cloning into 'work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/FGlazov/CryptoPals-Rust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 4349868675c55b883b32d32bb2b681b63b134351 [INFO] sha for GitHub repo FGlazov/CryptoPals-Rust: 4349868675c55b883b32d32bb2b681b63b134351 [INFO] validating manifest of FGlazov/CryptoPals-Rust on toolchain master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7 [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of FGlazov/CryptoPals-Rust on toolchain try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing FGlazov/CryptoPals-Rust [INFO] finished frobbing FGlazov/CryptoPals-Rust [INFO] frobbed toml for FGlazov/CryptoPals-Rust written to work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/FGlazov/CryptoPals-Rust/Cargo.toml [INFO] started frobbing FGlazov/CryptoPals-Rust [INFO] finished frobbing FGlazov/CryptoPals-Rust [INFO] frobbed toml for FGlazov/CryptoPals-Rust written to work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/FGlazov/CryptoPals-Rust/Cargo.toml [INFO] crate FGlazov/CryptoPals-Rust already has a lockfile, it will not be regenerated [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking FGlazov/CryptoPals-Rust against master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7 for pr-59199 [INFO] running `"docker" "create" "-v" "/mnt/crater-raid/crater/work/local/target-dirs/pr-59199/worker-7/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7:/opt/crater/target:rw,Z" "-v" "/mnt/crater-raid/crater/work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/FGlazov/CryptoPals-Rust:/opt/crater/workdir:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/crater-raid/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" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] a22f06fca26464d5d155dcb8d3265ba1f2f8ea903a1708c28b5b85848a50fa7f [INFO] running `"docker" "start" "-a" "a22f06fca26464d5d155dcb8d3265ba1f2f8ea903a1708c28b5b85848a50fa7f"` [INFO] [stderr] Checking base64 v0.8.0 [INFO] [stderr] Checking CryptoPals v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `super::repeating_key_xor` [INFO] [stderr] --> src/byte_util.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | use super::repeating_key_xor; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::hamming_distance` [INFO] [stderr] --> src/byte_util.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | use super::hamming_distance; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `string_util::StringUtil` [INFO] [stderr] --> src/byte_util.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | use string_util::StringUtil; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::sub_bytes` [INFO] [stderr] --> src/aes/sub_bytes.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | use super::sub_bytes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::inv_sub_bytes` [INFO] [stderr] --> src/aes/sub_bytes.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | use super::inv_sub_bytes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `string_util::StringUtil` [INFO] [stderr] --> src/aes/sub_bytes.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | use string_util::StringUtil; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `byte_util` [INFO] [stderr] --> src/aes/sub_bytes.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | use byte_util; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::shift_rows` [INFO] [stderr] --> src/aes/shift_rows.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | use super::shift_rows; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::inv_shift_rows` [INFO] [stderr] --> src/aes/shift_rows.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | use super::inv_shift_rows; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `string_util::StringUtil` [INFO] [stderr] --> src/aes/shift_rows.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | use string_util::StringUtil; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `byte_util` [INFO] [stderr] --> src/aes/shift_rows.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | use byte_util; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::g2` [INFO] [stderr] --> src/aes/mix_columns.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | use super::g2; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::gf_mult` [INFO] [stderr] --> src/aes/mix_columns.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | use super::gf_mult; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::mix_columns` [INFO] [stderr] --> src/aes/mix_columns.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | use super::mix_columns; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::inv_mix_columns` [INFO] [stderr] --> src/aes/mix_columns.rs:92:9 [INFO] [stderr] | [INFO] [stderr] 92 | use super::inv_mix_columns; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `byte_util` [INFO] [stderr] --> src/aes/mix_columns.rs:93:9 [INFO] [stderr] | [INFO] [stderr] 93 | use byte_util; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `string_util::StringUtil` [INFO] [stderr] --> src/aes/mix_columns.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | use string_util::StringUtil; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::add_round_key` [INFO] [stderr] --> src/aes/add_round_key.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | use super::add_round_key; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `string_util::StringUtil` [INFO] [stderr] --> src/aes/add_round_key.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | use string_util::StringUtil; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `byte_util` [INFO] [stderr] --> src/aes/add_round_key.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | use byte_util; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `string_util::StringUtil` [INFO] [stderr] --> src/aes/key_expansion.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | use string_util::StringUtil; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::pad_to_16` [INFO] [stderr] --> src/aes/pkcs_7_padding.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | use super::pad_to_16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::depad_from_16` [INFO] [stderr] --> src/aes/pkcs_7_padding.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | use super::depad_from_16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `string_util::StringUtil` [INFO] [stderr] --> src/aes/pkcs_7_padding.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | use string_util::StringUtil; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `string_util::StringUtil` [INFO] [stderr] --> src/aes/mod.rs:131:9 [INFO] [stderr] | [INFO] [stderr] 131 | use string_util::StringUtil; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::BufRead` [INFO] [stderr] --> src/aes/mod.rs:132:9 [INFO] [stderr] | [INFO] [stderr] 132 | use std::io::BufRead; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::BufReader` [INFO] [stderr] --> src/aes/mod.rs:133:9 [INFO] [stderr] | [INFO] [stderr] 133 | use std::io::BufReader; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/aes/mod.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> src/aes/mod.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `base64` [INFO] [stderr] --> src/aes/mod.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | use base64; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `xor_cracker::rating_creator` [INFO] [stderr] --> src/aes/mod.rs:137:9 [INFO] [stderr] | [INFO] [stderr] 137 | use xor_cracker::rating_creator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::is_ecb_aes_ciphertext` [INFO] [stderr] --> src/aes_cracker/mod.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | use super::is_ecb_aes_ciphertext; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::BufRead` [INFO] [stderr] --> src/aes_cracker/mod.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | use std::io::BufRead; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::BufReader` [INFO] [stderr] --> src/aes_cracker/mod.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | use std::io::BufReader; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/aes_cracker/mod.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> src/aes_cracker/mod.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::crack_single_byte_xor_encryption` [INFO] [stderr] --> src/xor_cracker/single_byte_xor_cracker.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | use super::crack_single_byte_xor_encryption; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::deref` [INFO] [stderr] --> src/xor_cracker/single_byte_xor_cracker.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | use super::deref; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::detect_single_byte_xor_encryption` [INFO] [stderr] --> src/xor_cracker/single_byte_xor_cracker.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | use super::detect_single_byte_xor_encryption; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::SingleByteXorDecryptionResult` [INFO] [stderr] --> src/xor_cracker/single_byte_xor_cracker.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | use super::SingleByteXorDecryptionResult; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `string_util::StringUtil` [INFO] [stderr] --> src/xor_cracker/single_byte_xor_cracker.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | use string_util::StringUtil; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::BufRead` [INFO] [stderr] --> src/xor_cracker/single_byte_xor_cracker.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | use std::io::BufRead; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::BufReader` [INFO] [stderr] --> src/xor_cracker/single_byte_xor_cracker.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | use std::io::BufReader; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/xor_cracker/single_byte_xor_cracker.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> src/xor_cracker/single_byte_xor_cracker.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `base64` [INFO] [stderr] --> src/xor_cracker/repeating_xor_cracker.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | use base64; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::BufRead` [INFO] [stderr] --> src/xor_cracker/repeating_xor_cracker.rs:100:9 [INFO] [stderr] | [INFO] [stderr] 100 | use std::io::BufRead; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::BufReader` [INFO] [stderr] --> src/xor_cracker/repeating_xor_cracker.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | use std::io::BufReader; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/xor_cracker/repeating_xor_cracker.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> src/xor_cracker/repeating_xor_cracker.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `from_slice` [INFO] [stderr] --> src/byte_util.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn from_slice(bytes: &[u8]) -> [u8; 16] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `from_slice_4` [INFO] [stderr] --> src/byte_util.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn from_slice_4(bytes: &[u8]) -> [u8; 4] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `to_u32` [INFO] [stderr] --> src/byte_util.rs:43:1 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn to_u32(b1: u8, b2: u8, b3: u8, b4: u8) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LOOKUP_TABLE` [INFO] [stderr] --> src/aes/sub_bytes.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | / const LOOKUP_TABLE: [u8; 256] = [ [INFO] [stderr] 3 | | 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, [INFO] [stderr] 4 | | 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, [INFO] [stderr] 5 | | 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, [INFO] [stderr] ... | [INFO] [stderr] 18 | | 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16 [INFO] [stderr] 19 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `INV_LOOKUP_TABLE` [INFO] [stderr] --> src/aes/sub_bytes.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | / const INV_LOOKUP_TABLE: [u8; 256] = [ [INFO] [stderr] 22 | | 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB, [INFO] [stderr] 23 | | 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB, [INFO] [stderr] 24 | | 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D, 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E, [INFO] [stderr] ... | [INFO] [stderr] 37 | | 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D [INFO] [stderr] 38 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `sub_bytes` [INFO] [stderr] --> src/aes/sub_bytes.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn sub_bytes(state: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `inv_sub_bytes` [INFO] [stderr] --> src/aes/sub_bytes.rs:46:1 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn inv_sub_bytes(state: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `AesWrapper` [INFO] [stderr] --> src/aes/wrapper.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct AesWrapper { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `encrypt` [INFO] [stderr] --> src/aes/wrapper.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn encrypt(&self, plaintext: Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/aes/wrapper.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new() -> AesWrapper { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `shift_rows` [INFO] [stderr] --> src/aes/shift_rows.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn shift_rows(state: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `inv_shift_rows` [INFO] [stderr] --> src/aes/shift_rows.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn inv_shift_rows(state: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `shift_rows_helper` [INFO] [stderr] --> src/aes/shift_rows.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | fn shift_rows_helper(state: &mut [u8], inverted: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `g2` [INFO] [stderr] --> src/aes/mix_columns.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | fn g2(byte: u8) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gf_mult` [INFO] [stderr] --> src/aes/mix_columns.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | fn gf_mult(factor: u8, byte: u8) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mix_columns` [INFO] [stderr] --> src/aes/mix_columns.rs:30:1 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn mix_columns(state: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `inv_mix_columns` [INFO] [stderr] --> src/aes/mix_columns.rs:59:1 [INFO] [stderr] | [INFO] [stderr] 59 | pub fn inv_mix_columns(state: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_round_key` [INFO] [stderr] --> src/aes/add_round_key.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn add_round_key(state: &mut [u8], words: &[u8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `RCON_TABLE` [INFO] [stderr] --> src/aes/key_expansion.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | / const RCON_TABLE: [u8; 256] = [ [INFO] [stderr] 5 | | 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, [INFO] [stderr] 6 | | 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, [INFO] [stderr] 7 | | 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, [INFO] [stderr] ... | [INFO] [stderr] 20 | | 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d [INFO] [stderr] 21 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `key_expansion` [INFO] [stderr] --> src/aes/key_expansion.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn key_expansion(key: &[u8]) -> [u8; 176] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rot_word` [INFO] [stderr] --> src/aes/key_expansion.rs:66:1 [INFO] [stderr] | [INFO] [stderr] 66 | fn rot_word(word: u32) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `sub_word` [INFO] [stderr] --> src/aes/key_expansion.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | fn sub_word(word: u32) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `bytes` [INFO] [stderr] --> src/aes/key_expansion.rs:79:1 [INFO] [stderr] | [INFO] [stderr] 79 | fn bytes(word: u32) -> [u8; 4] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pad_to_16` [INFO] [stderr] --> src/aes/pkcs_7_padding.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn pad_to_16(text: &mut Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `depad_from_16` [INFO] [stderr] --> src/aes/pkcs_7_padding.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn depad_from_16(text: &mut Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `encrypt_exact` [INFO] [stderr] --> src/aes/mod.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn encrypt_exact(plaintext: &[u8], key: &[u8]) -> [u8; 16] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decrypt_exact` [INFO] [stderr] --> src/aes/mod.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn decrypt_exact(ciphertext: &[u8], key: &[u8]) -> [u8; 16] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `encrypt_ecb` [INFO] [stderr] --> src/aes/mod.rs:55:1 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn encrypt_ecb(plaintext: Vec, key: &[u8]) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decrypt_ecb` [INFO] [stderr] --> src/aes/mod.rs:68:1 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn decrypt_ecb(ciphertext: Vec, key: &[u8]) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `encrypt_cbc` [INFO] [stderr] --> src/aes/mod.rs:80:1 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn encrypt_cbc(plaintext: Vec, key: &[u8], iv: &[u8]) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decrypt_cbc` [INFO] [stderr] --> src/aes/mod.rs:105:1 [INFO] [stderr] | [INFO] [stderr] 105 | pub fn decrypt_cbc(ciphertext: Vec, key: &[u8], iv: &[u8]) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `xor` [INFO] [stderr] --> src/aes/mod.rs:122:1 [INFO] [stderr] | [INFO] [stderr] 122 | fn xor(a: &[u8], b: &[u8]) -> [u8; 16] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_ecb_aes_ciphertext` [INFO] [stderr] --> src/aes_cracker/mod.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn is_ecb_aes_ciphertext(bytes: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_block_cipher_detect_string` [INFO] [stderr] --> src/aes_cracker/mod.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn get_block_cipher_detect_string() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `encrypt_with_ecb_or_cbc` [INFO] [stderr] --> src/aes_cracker/mod.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn encrypt_with_ecb_or_cbc(plaintext: &Vec) -> (Vec, bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `detect_single_byte_xor_encryption` [INFO] [stderr] --> src/xor_cracker/single_byte_xor_cracker.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn detect_single_byte_xor_encryption(candidates_hex: I) -> Vec [INFO] [stderr] 13 | | where I: Iterator [INFO] [stderr] 14 | | { [INFO] [stderr] 15 | | candidates_hex [INFO] [stderr] ... | [INFO] [stderr] 18 | | .collect() [INFO] [stderr] 19 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `deref` [INFO] [stderr] --> src/xor_cracker/single_byte_xor_cracker.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | fn deref(refed : &Vec) -> Vec<&u8> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: crate `CryptoPals` should have a snake case name [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] = help: convert the identifier to snake case: `crypto_pals` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `AesWrapper` [INFO] [stderr] --> src/aes/wrapper.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct AesWrapper { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `encrypt` [INFO] [stderr] --> src/aes/wrapper.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn encrypt(&self, plaintext: Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/aes/wrapper.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new() -> AesWrapper { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: crate `CryptoPals` should have a snake case name [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] = help: convert the identifier to snake case: `crypto_pals` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.55s [INFO] running `"docker" "inspect" "a22f06fca26464d5d155dcb8d3265ba1f2f8ea903a1708c28b5b85848a50fa7f"` [INFO] running `"docker" "rm" "-f" "a22f06fca26464d5d155dcb8d3265ba1f2f8ea903a1708c28b5b85848a50fa7f"` [INFO] [stdout] a22f06fca26464d5d155dcb8d3265ba1f2f8ea903a1708c28b5b85848a50fa7f