[INFO] updating cached repository https://github.com/jcmorrow/cryptopals_set_1 [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 227acf3248ee7e0fc13c6dec119d8d6592570878 [INFO] checking jcmorrow/cryptopals_set_1 against master#b61e69433951e31f7bd746e22f516a48ad41623b for prs-64470-and-65389 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjcmorrow%2Fcryptopals_set_1" "/workspace/builds/worker-12/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jcmorrow/cryptopals_set_1 on toolchain b61e69433951e31f7bd746e22f516a48ad41623b [INFO] running `"/workspace/cargo-home/bin/cargo" "+b61e69433951e31f7bd746e22f516a48ad41623b" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/jcmorrow/cryptopals_set_1 [INFO] finished tweaking git repo https://github.com/jcmorrow/cryptopals_set_1 [INFO] tweaked toml for git repo https://github.com/jcmorrow/cryptopals_set_1 written to /workspace/builds/worker-12/source/Cargo.toml [INFO] crate git repo https://github.com/jcmorrow/cryptopals_set_1 already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+b61e69433951e31f7bd746e22f516a48ad41623b" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+b61e69433951e31f7bd746e22f516a48ad41623b" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 1ba5fe3b1894441b8f0781c09bdea77dd710ab9473bff5862952a718be8f8acf [INFO] running `"docker" "start" "-a" "1ba5fe3b1894441b8f0781c09bdea77dd710ab9473bff5862952a718be8f8acf"` [INFO] [stderr] Checking cryptopals_set_1 v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused imports: `Read`, `self` [INFO] [stderr] --> src/main.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{self, BufReader, Read}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decrypt_aes_128_ecb` [INFO] [stderr] --> src/necromancer/mod.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn decrypt_aes_128_ecb(encrypted: &str, key: &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `hamming_distance` [INFO] [stderr] --> src/necromancer/mod.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn hamming_distance(a: &[u8], b: &[u8]) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `hamming_distance_byte` [INFO] [stderr] --> src/necromancer/mod.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn hamming_distance_byte(a: u8, b: u8) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `bytes_to_string` [INFO] [stderr] --> src/necromancer/mod.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn bytes_to_string(s: &[u8]) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `repeating_key_xor` [INFO] [stderr] --> src/necromancer/mod.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn repeating_key_xor(s: &str, k: &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `deencrypt_single_byte_xor` [INFO] [stderr] --> src/necromancer/mod.rs:42:1 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn deencrypt_single_byte_xor(s: &str) -> (String, f32, u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `hex_string_to_bytes` [INFO] [stderr] --> src/necromancer/mod.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn hex_string_to_bytes(s: &str) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `hex_to_base_64` [INFO] [stderr] --> src/necromancer/mod.rs:65:1 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn hex_to_base_64(s: &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `base_64_to_hex` [INFO] [stderr] --> src/necromancer/mod.rs:132:1 [INFO] [stderr] | [INFO] [stderr] 132 | pub fn base_64_to_hex(s: &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `base_64_index` [INFO] [stderr] --> src/necromancer/mod.rs:150:1 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn base_64_index(c: char) -> isize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `hex_xor` [INFO] [stderr] --> src/necromancer/mod.rs:180:1 [INFO] [stderr] | [INFO] [stderr] 180 | pub fn hex_xor(s1: &str, s2: &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `xor` [INFO] [stderr] --> src/necromancer/mod.rs:184:1 [INFO] [stderr] | [INFO] [stderr] 184 | pub fn xor(a: &[u8], b: &[u8]) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `bytes_to_hex_string` [INFO] [stderr] --> src/necromancer/mod.rs:205:1 [INFO] [stderr] | [INFO] [stderr] 205 | pub fn bytes_to_hex_string(xs: &[u8]) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `character_frequencies` [INFO] [stderr] --> src/necromancer/mod.rs:209:1 [INFO] [stderr] | [INFO] [stderr] 209 | pub fn character_frequencies(chars: &[u8]) -> [u32; 255] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mse` [INFO] [stderr] --> src/necromancer/mod.rs:227:1 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn mse(a: u32, b: u32) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `english_score` [INFO] [stderr] --> src/necromancer/mod.rs:232:1 [INFO] [stderr] | [INFO] [stderr] 232 | pub fn english_score(string: &str) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `WIKIPEDIA` [INFO] [stderr] --> src/necromancer/mod.rs:241:1 [INFO] [stderr] | [INFO] [stderr] 241 | / const WIKIPEDIA: &str = "In computing, plain text is a loose term for data (e.g. file contents) that represent only characters of readable material but not its graphical representation nor other objects (floating-point numbers, images, etc.). It may also include a limited number of characters that control simple arrangement of text, such as spaces, line breaks, or tabulation characters (although tab characters can \"mean\" many different things, so are hardly \"plain\"). Plain text is different from formatted text, where style information is included; from structured text, where structural parts of the document such as paragraphs, sections, and the like are identified); and from binary files in which some portions must be interpreted as binary objects (encoded integers, real numbers, images, etc.). [INFO] [stderr] 242 | | [INFO] [stderr] 243 | | The term is sometimes used quite loosely, to mean files that contain only \"readable\" content (or just files with nothing that the speaker doesn't prefer). For example, that could exclude any indication of fonts or layout (such as markup, markdown, or even tabs); characters such as curly quotes, non-breaking spaces, soft hyphens, em dashes, and/or ligatures; or other things. [INFO] [stderr] 244 | | [INFO] [stderr] ... | [INFO] [stderr] 251 | | The use of plain text rather than binary files, enables files to survive much better \"in the wild\", in part by making them largely immune to computer architecture incompatibilities. For example, all the problems of Endianness can be avoided (with encodings such as UCS-2 rather than UTF-8, endianness matters, but uniformly for every character, rather than for potentially-unknown subsets of it). [INFO] [stderr] 252 | | "; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Read`, `self` [INFO] [stderr] --> src/main.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{self, BufReader, Read}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytes` [INFO] [stderr] --> src/necromancer/mod.rs:367:13 [INFO] [stderr] | [INFO] [stderr] 367 | let bytes = hex_string_to_bytes(&encrypted); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_bytes` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.95s [INFO] running `"docker" "inspect" "1ba5fe3b1894441b8f0781c09bdea77dd710ab9473bff5862952a718be8f8acf"` [INFO] running `"docker" "rm" "-f" "1ba5fe3b1894441b8f0781c09bdea77dd710ab9473bff5862952a718be8f8acf"` [INFO] [stdout] 1ba5fe3b1894441b8f0781c09bdea77dd710ab9473bff5862952a718be8f8acf