[INFO] cloning repository https://github.com/ethowitz/cryptopals
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ethowitz/cryptopals" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fethowitz%2Fcryptopals", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fethowitz%2Fcryptopals'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9d8d63f6e9b832f509dacda7a8ae15c8aa7ad8b0
[INFO] testing ethowitz/cryptopals against beta-2020-10-09 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fethowitz%2Fcryptopals" "/workspace/builds/worker-6/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ethowitz/cryptopals on toolchain beta-2020-10-09
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ethowitz/cryptopals
[INFO] finished tweaking git repo https://github.com/ethowitz/cryptopals
[INFO] tweaked toml for git repo https://github.com/ethowitz/cryptopals written to /workspace/builds/worker-6/source/Cargo.toml
[INFO] crate git repo https://github.com/ethowitz/cryptopals already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ca41cf83cf6a5499ea86fadc73c6d2a08067ed5baaeb189641ef44fb9d27bff2
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "ca41cf83cf6a5499ea86fadc73c6d2a08067ed5baaeb189641ef44fb9d27bff2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ca41cf83cf6a5499ea86fadc73c6d2a08067ed5baaeb189641ef44fb9d27bff2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca41cf83cf6a5499ea86fadc73c6d2a08067ed5baaeb189641ef44fb9d27bff2", kill_on_drop: false }`
[INFO] [stdout] ca41cf83cf6a5499ea86fadc73c6d2a08067ed5baaeb189641ef44fb9d27bff2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 958506cf3df5c9c4bdfa284b3729a85f620d467d47d6e9c3a918c79298f49716
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "958506cf3df5c9c4bdfa284b3729a85f620d467d47d6e9c3a918c79298f49716", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.77
[INFO] [stderr]    Compiling cc v1.0.60
[INFO] [stderr]    Compiling pkg-config v0.3.18
[INFO] [stderr]    Compiling openssl v0.10.30
[INFO] [stderr]    Compiling openssl-sys v0.9.58
[INFO] [stderr]    Compiling getrandom v0.1.15
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling cryptopals v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/set1/c2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::c1::Hex`
[INFO] [stdout]  --> src/set1/c2.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::c1::Hex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/set1/c3.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::c1::Hex`
[INFO] [stdout]  --> src/set1/c3.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::c1::Hex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::c1::Hex`
[INFO] [stdout]  --> src/set1/c5.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::c1::Hex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/set1/c6.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/set1/c6.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::c1::Base64`
[INFO] [stdout]  --> src/set1/c6.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::c1::Base64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/set1/c7.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/set1/c7.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::c1::Base64`
[INFO] [stdout]  --> src/set1/c7.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::c1::Base64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/set1/c8.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/set1/c8.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `self`
[INFO] [stdout]  --> src/set1/c8.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, BufRead};
[INFO] [stdout]   |               ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::c1::Hex`
[INFO] [stdout]  --> src/set1/c8.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::c1::Hex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `c1::Base64`, `c7`
[INFO] [stdout]  --> src/set2/c10.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::set1::{c1::Base64, c2, c7};
[INFO] [stdout]   |                   ^^^^^^^^^^      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng`, `distributions::Uniform`
[INFO] [stdout]  --> src/set2/c10.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{distributions::Uniform, Rng};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `fs`
[INFO] [stdout]  --> src/set2/c10.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{convert::TryFrom, fs};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_bytes`
[INFO] [stdout]  --> src/set1/c1.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `from_bytes`
[INFO] [stdout]   --> src/set1/c1.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn from_bytes(bytes: &[u8]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_bytes`
[INFO] [stdout]   --> src/set1/c1.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `xor`
[INFO] [stdout]  --> src/set1/c2.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn xor(buffer1: &[u8], buffer2: &[u8]) -> Result<Vec<u8>, &'static str> {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_char_distribution`
[INFO] [stdout]  --> src/set1/c3.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn get_char_distribution(buffer: &[u8]) -> HashMap<char, f64> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_score`
[INFO] [stdout]   --> src/set1/c3.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn get_score(buffer: &[u8]) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `find_key`
[INFO] [stdout]   --> src/set1/c3.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn find_key(ciphertext: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `find_plaintext`
[INFO] [stdout]   --> src/set1/c3.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn find_plaintext(ciphertext: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `find_plaintext`
[INFO] [stdout]   --> src/set1/c4.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn find_plaintext<P: AsRef<Path>>(filename: P) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `repeating_key_xor`
[INFO] [stdout]  --> src/set1/c5.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn repeating_key_xor(key: &[u8], buffer: &[u8]) -> Vec<u8> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_hamming_distance`
[INFO] [stdout]  --> src/set1/c6.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn get_hamming_distance(buffer1: &[u8], buffer2: &[u8]) -> Result<usize, &'static str> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `find_key`
[INFO] [stdout]   --> src/set1/c6.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn find_key(buffer: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `find_plaintext`
[INFO] [stdout]   --> src/set1/c6.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn find_plaintext(buffer: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `aes_ecb_encrypt`
[INFO] [stdout]  --> src/set1/c7.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn aes_ecb_encrypt(plaintext: &[u8], key: &[u8]) -> Vec<u8> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `aes_ecb_decrypt`
[INFO] [stdout]   --> src/set1/c7.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn aes_ecb_decrypt(ciphertext: &[u8], key: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `detect_aes_ecb`
[INFO] [stdout]  --> src/set1/c8.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn detect_aes_ecb(buffers: &[&[u8]]) -> Option<Vec<u8>> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pkcs7_pad`
[INFO] [stdout]  --> src/set2/c9.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn pkcs7_pad(buffer: &[u8], block_size: u8) -> Vec<u8> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pkcs7_unpad`
[INFO] [stdout]   --> src/set2/c9.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn pkcs7_unpad(buffer: &[u8], block_size: u8) -> Option<Vec<u8>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `AES_128_BLOCK_SIZE`
[INFO] [stdout]  --> src/set2/c10.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | const AES_128_BLOCK_SIZE: usize = 16;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `AesEncrypter`
[INFO] [stdout]  --> src/set2/c10.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct AesEncrypter {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/set2/c10.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn new(key: &[u8]) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `encrypt_block`
[INFO] [stdout]   --> src/set2/c10.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn encrypt_block(&mut self, block: &[u8]) -> Option<Vec<u8>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `AesDecrypter`
[INFO] [stdout]   --> src/set2/c10.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct AesDecrypter {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/set2/c10.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn new(key: &[u8]) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `decrypt_block`
[INFO] [stdout]   --> src/set2/c10.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn decrypt_block(&mut self, block: &[u8]) -> Option<Vec<u8>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `aes_cbc_encrypt`
[INFO] [stdout]   --> src/set2/c10.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn aes_cbc_encrypt(plaintext: &[u8], key: &[u8], iv: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `aes_cbc_decrypt`
[INFO] [stdout]   --> src/set2/c10.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn aes_cbc_decrypt(ciphertext: &[u8], key: &[u8], iv: &[u8]) -> Option<Vec<u8>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `AES_128_BLOCK_SIZE`
[INFO] [stdout]  --> src/set2/c11.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | const AES_128_BLOCK_SIZE: usize = 16;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `aes_encryption_oracle`
[INFO] [stdout]  --> src/set2/c11.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn aes_encryption_oracle(buffer: &[u8]) -> Vec<u8> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `AesMode`
[INFO] [stdout]   --> src/set2/c11.rs:42:6
[INFO] [stdout]    |
[INFO] [stdout] 42 | enum AesMode {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `aes_detection_oracle`
[INFO] [stdout]   --> src/set2/c11.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn aes_detection_oracle() -> AesMode {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 15.20s
[INFO] running `Command { std: "docker" "inspect" "958506cf3df5c9c4bdfa284b3729a85f620d467d47d6e9c3a918c79298f49716", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "958506cf3df5c9c4bdfa284b3729a85f620d467d47d6e9c3a918c79298f49716", kill_on_drop: false }`
[INFO] [stdout] 958506cf3df5c9c4bdfa284b3729a85f620d467d47d6e9c3a918c79298f49716
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d26b2befcfeb6eed568e0a9d5d8bd01f52bacecc0e570277c31ea1408b46a39a
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "d26b2befcfeb6eed568e0a9d5d8bd01f52bacecc0e570277c31ea1408b46a39a", kill_on_drop: false }`
[INFO] [stderr]    Compiling cryptopals v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/set1/c2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::c1::Hex`
[INFO] [stdout]  --> src/set1/c2.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::c1::Hex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/set1/c3.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::c1::Hex`
[INFO] [stdout]  --> src/set1/c3.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::c1::Hex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::c1::Hex`
[INFO] [stdout]  --> src/set1/c5.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::c1::Hex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/set1/c6.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/set1/c6.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::c1::Base64`
[INFO] [stdout]  --> src/set1/c6.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::c1::Base64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/set1/c7.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/set1/c7.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::c1::Base64`
[INFO] [stdout]  --> src/set1/c7.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::c1::Base64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/set1/c8.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/set1/c8.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `self`
[INFO] [stdout]  --> src/set1/c8.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, BufRead};
[INFO] [stdout]   |               ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::c1::Hex`
[INFO] [stdout]  --> src/set1/c8.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::c1::Hex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `c1::Base64`, `c7`
[INFO] [stdout]  --> src/set2/c10.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::set1::{c1::Base64, c2, c7};
[INFO] [stdout]   |                   ^^^^^^^^^^      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng`, `distributions::Uniform`
[INFO] [stdout]  --> src/set2/c10.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{distributions::Uniform, Rng};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `fs`
[INFO] [stdout]  --> src/set2/c10.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{convert::TryFrom, fs};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_bytes`
[INFO] [stdout]  --> src/set1/c1.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `from_bytes`
[INFO] [stdout]   --> src/set1/c1.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn from_bytes(bytes: &[u8]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_bytes`
[INFO] [stdout]   --> src/set1/c1.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `xor`
[INFO] [stdout]  --> src/set1/c2.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn xor(buffer1: &[u8], buffer2: &[u8]) -> Result<Vec<u8>, &'static str> {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_char_distribution`
[INFO] [stdout]  --> src/set1/c3.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn get_char_distribution(buffer: &[u8]) -> HashMap<char, f64> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_score`
[INFO] [stdout]   --> src/set1/c3.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn get_score(buffer: &[u8]) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `find_key`
[INFO] [stdout]   --> src/set1/c3.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn find_key(ciphertext: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `find_plaintext`
[INFO] [stdout]   --> src/set1/c3.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn find_plaintext(ciphertext: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `find_plaintext`
[INFO] [stdout]   --> src/set1/c4.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn find_plaintext<P: AsRef<Path>>(filename: P) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `repeating_key_xor`
[INFO] [stdout]  --> src/set1/c5.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn repeating_key_xor(key: &[u8], buffer: &[u8]) -> Vec<u8> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_hamming_distance`
[INFO] [stdout]  --> src/set1/c6.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn get_hamming_distance(buffer1: &[u8], buffer2: &[u8]) -> Result<usize, &'static str> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `find_key`
[INFO] [stdout]   --> src/set1/c6.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn find_key(buffer: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `find_plaintext`
[INFO] [stdout]   --> src/set1/c6.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn find_plaintext(buffer: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `aes_ecb_encrypt`
[INFO] [stdout]  --> src/set1/c7.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn aes_ecb_encrypt(plaintext: &[u8], key: &[u8]) -> Vec<u8> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `aes_ecb_decrypt`
[INFO] [stdout]   --> src/set1/c7.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn aes_ecb_decrypt(ciphertext: &[u8], key: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `detect_aes_ecb`
[INFO] [stdout]  --> src/set1/c8.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn detect_aes_ecb(buffers: &[&[u8]]) -> Option<Vec<u8>> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pkcs7_pad`
[INFO] [stdout]  --> src/set2/c9.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn pkcs7_pad(buffer: &[u8], block_size: u8) -> Vec<u8> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pkcs7_unpad`
[INFO] [stdout]   --> src/set2/c9.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn pkcs7_unpad(buffer: &[u8], block_size: u8) -> Option<Vec<u8>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `AES_128_BLOCK_SIZE`
[INFO] [stdout]  --> src/set2/c10.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | const AES_128_BLOCK_SIZE: usize = 16;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `AesEncrypter`
[INFO] [stdout]  --> src/set2/c10.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct AesEncrypter {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/set2/c10.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn new(key: &[u8]) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `encrypt_block`
[INFO] [stdout]   --> src/set2/c10.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn encrypt_block(&mut self, block: &[u8]) -> Option<Vec<u8>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `AesDecrypter`
[INFO] [stdout]   --> src/set2/c10.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct AesDecrypter {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/set2/c10.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn new(key: &[u8]) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `decrypt_block`
[INFO] [stdout]   --> src/set2/c10.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn decrypt_block(&mut self, block: &[u8]) -> Option<Vec<u8>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `aes_cbc_encrypt`
[INFO] [stdout]   --> src/set2/c10.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn aes_cbc_encrypt(plaintext: &[u8], key: &[u8], iv: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `aes_cbc_decrypt`
[INFO] [stdout]   --> src/set2/c10.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn aes_cbc_decrypt(ciphertext: &[u8], key: &[u8], iv: &[u8]) -> Option<Vec<u8>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `AES_128_BLOCK_SIZE`
[INFO] [stdout]  --> src/set2/c11.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | const AES_128_BLOCK_SIZE: usize = 16;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `aes_encryption_oracle`
[INFO] [stdout]  --> src/set2/c11.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn aes_encryption_oracle(buffer: &[u8]) -> Vec<u8> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `AesMode`
[INFO] [stdout]   --> src/set2/c11.rs:42:6
[INFO] [stdout]    |
[INFO] [stdout] 42 | enum AesMode {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `aes_detection_oracle`
[INFO] [stdout]   --> src/set2/c11.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn aes_detection_oracle() -> AesMode {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `c7`
[INFO] [stdout]  --> src/set2/c10.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::set1::{c1::Base64, c2, c7};
[INFO] [stdout]   |                                   ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng`, `distributions::Uniform`
[INFO] [stdout]  --> src/set2/c10.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{distributions::Uniform, Rng};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.45s
[INFO] running `Command { std: "docker" "inspect" "d26b2befcfeb6eed568e0a9d5d8bd01f52bacecc0e570277c31ea1408b46a39a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d26b2befcfeb6eed568e0a9d5d8bd01f52bacecc0e570277c31ea1408b46a39a", kill_on_drop: false }`
[INFO] [stdout] d26b2befcfeb6eed568e0a9d5d8bd01f52bacecc0e570277c31ea1408b46a39a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b7892b439f80a24861b9dbbf552fc2acc1d4ef5e8bd1a814137c333683ae20d2
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "b7892b439f80a24861b9dbbf552fc2acc1d4ef5e8bd1a814137c333683ae20d2", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `c7`
[INFO] [stderr]  --> src/set2/c10.rs:1:35
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::set1::{c1::Base64, c2, c7};
[INFO] [stderr]   |                                   ^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Rng`, `distributions::Uniform`
[INFO] [stderr]  --> src/set2/c10.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rand::{distributions::Uniform, Rng};
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^^^  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryFrom`
[INFO] [stderr]  --> src/set1/c2.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::convert::TryFrom;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::c1::Hex`
[INFO] [stderr]  --> src/set1/c2.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use super::c1::Hex;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryFrom`
[INFO] [stderr]  --> src/set1/c3.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::convert::TryFrom;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::c1::Hex`
[INFO] [stderr]  --> src/set1/c3.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use super::c1::Hex;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::c1::Hex`
[INFO] [stderr]  --> src/set1/c5.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use super::c1::Hex;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]  --> src/set1/c6.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fs;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryFrom`
[INFO] [stderr]  --> src/set1/c6.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::convert::TryFrom;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::c1::Base64`
[INFO] [stderr]  --> src/set1/c6.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use super::c1::Base64;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryFrom`
[INFO] [stderr]  --> src/set1/c7.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::convert::TryFrom;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]  --> src/set1/c7.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::fs;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::c1::Base64`
[INFO] [stderr]  --> src/set1/c7.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use super::c1::Base64;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryFrom`
[INFO] [stderr]  --> src/set1/c8.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::convert::TryFrom;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/set1/c8.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BufRead`, `self`
[INFO] [stderr]  --> src/set1/c8.rs:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::io::{self, BufRead};
[INFO] [stderr]   |               ^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::c1::Hex`
[INFO] [stderr]  --> src/set1/c8.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use super::c1::Hex;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `c1::Base64`, `c7`
[INFO] [stderr]  --> src/set2/c10.rs:1:19
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::set1::{c1::Base64, c2, c7};
[INFO] [stderr]   |                   ^^^^^^^^^^      ^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Rng`, `distributions::Uniform`
[INFO] [stderr]  --> src/set2/c10.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rand::{distributions::Uniform, Rng};
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^^^  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `convert::TryFrom`, `fs`
[INFO] [stderr]  --> src/set2/c10.rs:4:11
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::{convert::TryFrom, fs};
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^  ^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `to_bytes`
[INFO] [stderr]  --> src/set1/c1.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `from_bytes`
[INFO] [stderr]   --> src/set1/c1.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub fn from_bytes(bytes: &[u8]) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `to_bytes`
[INFO] [stderr]   --> src/set1/c1.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `xor`
[INFO] [stderr]  --> src/set1/c2.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn xor(buffer1: &[u8], buffer2: &[u8]) -> Result<Vec<u8>, &'static str> {
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `get_char_distribution`
[INFO] [stderr]  --> src/set1/c3.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn get_char_distribution(buffer: &[u8]) -> HashMap<char, f64> {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `get_score`
[INFO] [stderr]   --> src/set1/c3.rs:58:8
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub fn get_score(buffer: &[u8]) -> f64 {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `find_key`
[INFO] [stderr]   --> src/set1/c3.rs:71:8
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub fn find_key(ciphertext: &[u8]) -> Vec<u8> {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `find_plaintext`
[INFO] [stderr]   --> src/set1/c3.rs:87:8
[INFO] [stderr]    |
[INFO] [stderr] 87 | pub fn find_plaintext(ciphertext: &[u8]) -> Vec<u8> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `find_plaintext`
[INFO] [stderr]   --> src/set1/c4.rs:10:4
[INFO] [stderr]    |
[INFO] [stderr] 10 | fn find_plaintext<P: AsRef<Path>>(filename: P) -> Vec<u8> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `repeating_key_xor`
[INFO] [stderr]  --> src/set1/c5.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn repeating_key_xor(key: &[u8], buffer: &[u8]) -> Vec<u8> {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `get_hamming_distance`
[INFO] [stderr]  --> src/set1/c6.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn get_hamming_distance(buffer1: &[u8], buffer2: &[u8]) -> Result<usize, &'static str> {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `find_key`
[INFO] [stderr]   --> src/set1/c6.rs:17:4
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn find_key(buffer: &[u8]) -> Vec<u8> {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `find_plaintext`
[INFO] [stderr]   --> src/set1/c6.rs:55:4
[INFO] [stderr]    |
[INFO] [stderr] 55 | fn find_plaintext(buffer: &[u8]) -> Vec<u8> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `aes_ecb_encrypt`
[INFO] [stderr]  --> src/set1/c7.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn aes_ecb_encrypt(plaintext: &[u8], key: &[u8]) -> Vec<u8> {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `aes_ecb_decrypt`
[INFO] [stderr]   --> src/set1/c7.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn aes_ecb_decrypt(ciphertext: &[u8], key: &[u8]) -> Vec<u8> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `detect_aes_ecb`
[INFO] [stderr]  --> src/set1/c8.rs:8:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | fn detect_aes_ecb(buffers: &[&[u8]]) -> Option<Vec<u8>> {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `pkcs7_pad`
[INFO] [stderr]  --> src/set2/c9.rs:1:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub fn pkcs7_pad(buffer: &[u8], block_size: u8) -> Vec<u8> {
[INFO] [stderr]   |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `pkcs7_unpad`
[INFO] [stderr]   --> src/set2/c9.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn pkcs7_unpad(buffer: &[u8], block_size: u8) -> Option<Vec<u8>> {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `AES_128_BLOCK_SIZE`
[INFO] [stderr]  --> src/set2/c10.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | const AES_128_BLOCK_SIZE: usize = 16;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `AesEncrypter`
[INFO] [stderr]  --> src/set2/c10.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | struct AesEncrypter {
[INFO] [stderr]   |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/set2/c10.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn new(key: &[u8]) -> Self {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `encrypt_block`
[INFO] [stderr]   --> src/set2/c10.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn encrypt_block(&mut self, block: &[u8]) -> Option<Vec<u8>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `AesDecrypter`
[INFO] [stderr]   --> src/set2/c10.rs:37:8
[INFO] [stderr]    |
[INFO] [stderr] 37 | struct AesDecrypter {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/set2/c10.rs:42:8
[INFO] [stderr]    |
[INFO] [stderr] 42 |     fn new(key: &[u8]) -> Self {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `decrypt_block`
[INFO] [stderr]   --> src/set2/c10.rs:51:12
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub fn decrypt_block(&mut self, block: &[u8]) -> Option<Vec<u8>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `aes_cbc_encrypt`
[INFO] [stderr]   --> src/set2/c10.rs:65:8
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub fn aes_cbc_encrypt(plaintext: &[u8], key: &[u8], iv: &[u8]) -> Vec<u8> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `aes_cbc_decrypt`
[INFO] [stderr]   --> src/set2/c10.rs:80:4
[INFO] [stderr]    |
[INFO] [stderr] 80 | fn aes_cbc_decrypt(ciphertext: &[u8], key: &[u8], iv: &[u8]) -> Option<Vec<u8>> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `AES_128_BLOCK_SIZE`
[INFO] [stderr]  --> src/set2/c11.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | const AES_128_BLOCK_SIZE: usize = 16;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `aes_encryption_oracle`
[INFO] [stderr]  --> src/set2/c11.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn aes_encryption_oracle(buffer: &[u8]) -> Vec<u8> {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `AesMode`
[INFO] [stderr]   --> src/set2/c11.rs:42:6
[INFO] [stderr]    |
[INFO] [stderr] 42 | enum AesMode {
[INFO] [stderr]    |      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `aes_detection_oracle`
[INFO] [stderr]   --> src/set2/c11.rs:47:4
[INFO] [stderr]    |
[INFO] [stderr] 47 | fn aes_detection_oracle() -> AesMode {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 49 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/cryptopals-aaf92f615380588a
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test set1::c1::verify ... ok
[INFO] [stdout] test set1::c2::verify ... ok
[INFO] [stdout] test set1::c6::test_get_hamming_distance ... ok
[INFO] [stdout] test set2::c9::verify ... ok
[INFO] [stdout] test set1::c5::verify ... ok
[INFO] [stdout] test set1::c7::verify ... ok
[INFO] [stdout] test set2::c10::verify ... ok
[INFO] [stdout] test set1::c3::verify ... ok
[INFO] [stdout] test set1::c8::verify ... ok
[INFO] [stdout] test set2::c11::verify ... ok
[INFO] [stdout] test set1::c6::verify ... ok
[INFO] [stdout] test set1::c4::verify ... ok
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests cryptopals
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b7892b439f80a24861b9dbbf552fc2acc1d4ef5e8bd1a814137c333683ae20d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7892b439f80a24861b9dbbf552fc2acc1d4ef5e8bd1a814137c333683ae20d2", kill_on_drop: false }`
[INFO] [stdout] b7892b439f80a24861b9dbbf552fc2acc1d4ef5e8bd1a814137c333683ae20d2
