[INFO] cloning repository https://github.com/jordanstephens/cryptopals
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jordanstephens/cryptopals" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjordanstephens%2Fcryptopals", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjordanstephens%2Fcryptopals'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 235dbdedf6fdf1df3d7d0250ac38d6cb636d0720
[INFO] checking jordanstephens/cryptopals against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjordanstephens%2Fcryptopals" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jordanstephens/cryptopals
[INFO] finished tweaking git repo https://github.com/jordanstephens/cryptopals
[INFO] tweaked toml for git repo https://github.com/jordanstephens/cryptopals written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jordanstephens/cryptopals on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jordanstephens/cryptopals already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6eeab53075e64c638847abba2a9b576eb630244cd1a69b078c872db704961476
[INFO] running `Command { std: "docker" "start" "-a" "6eeab53075e64c638847abba2a9b576eb630244cd1a69b078c872db704961476", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6eeab53075e64c638847abba2a9b576eb630244cd1a69b078c872db704961476", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6eeab53075e64c638847abba2a9b576eb630244cd1a69b078c872db704961476", kill_on_drop: false }`
[INFO] [stdout] 6eeab53075e64c638847abba2a9b576eb630244cd1a69b078c872db704961476
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e907e5603bed7c34874694f2af478cc57e39ed9a5b896fbe5da30997b573decb
[INFO] running `Command { std: "docker" "start" "-a" "e907e5603bed7c34874694f2af478cc57e39ed9a5b896fbe5da30997b573decb", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling num-traits v0.2.10
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]     Checking crossbeam-queue v0.2.1
[INFO] [stderr]     Checking num_cpus v1.11.1
[INFO] [stderr]     Checking crossbeam-deque v0.7.2
[INFO] [stderr]     Checking ordered-float v1.0.2
[INFO] [stderr]     Checking rayon v1.3.0
[INFO] [stderr]     Checking cryptopals v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `Buffer` is never constructed
[INFO] [stdout]  --> src/buffer.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Buffer {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_hex`, `to_base64`, `to_hex`, and `xor` are never used
[INFO] [stdout]   --> src/buffer.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Buffer {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 10 |   pub fn new(bytes: Vec<u8>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |   pub fn from_hex(hex_str: &str) -> Result<Self, Error> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |   pub fn to_base64(&self) -> String {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn to_hex(&self) -> String {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |   pub fn xor(&self, other: &Buffer) -> Result<Buffer, Error> {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_hex` is never used
[INFO] [stdout]  --> src/decoder.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn from_hex(input: &str) -> Result<Vec<u8>, Error> {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_val` is never used
[INFO] [stdout]   --> src/decoder.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn hex_val(c: u8) -> Result<u8, Error> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Key` is never used
[INFO] [stdout]  --> src/distribution.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Key {
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENGLISH` is never used
[INFO] [stdout]   --> src/distribution.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | const ENGLISH: [(Key, f32, &str); 29] = [
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Distribution` is never constructed
[INFO] [stdout]   --> src/distribution.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Distribution {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from`, `empty`, `english`, and `scale` are never used
[INFO] [stdout]    --> src/distribution.rs:78:10
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl Distribution {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  78 |   pub fn new() -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |   pub fn from(input: &[u8]) -> Self {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |   pub fn empty() -> Self {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |   pub fn english() -> Self {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |   pub fn scale(&mut self, n: f32) -> &Self {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `score` is never used
[INFO] [stdout]    --> src/distribution.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn score(sample: &[u8]) -> f32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `distance` is never used
[INFO] [stdout]    --> src/distribution.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn distance(observed: &Distribution, expected: &Distribution) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chi_squared_i` is never used
[INFO] [stdout]    --> src/distribution.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn chi_squared_i(observed: f32, expected: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chi_squared` is never used
[INFO] [stdout]    --> src/distribution.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn chi_squared(observed: &Vec<f32>, expected: &Vec<f32>) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_hex` is never used
[INFO] [stdout]  --> src/encoder.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn to_hex(bytes: &[u8]) -> String {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_base64` is never used
[INFO] [stdout]   --> src/encoder.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn to_base64(bytes: &[u8]) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_chunk` is never used
[INFO] [stdout]   --> src/encoder.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn convert_chunk(chunk: &[u8], charset: &Charset) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Charset` is never constructed
[INFO] [stdout]   --> src/encoder.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct Charset {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `base64`, and `hex` are never used
[INFO] [stdout]   --> src/encoder.rs:67:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl Charset {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 67 |   fn new(chars: &str) -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |   fn base64() -> Self {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |   fn hex() -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Error` is never used
[INFO] [stdout]  --> src/error.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Error {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt` is never used
[INFO] [stdout]  --> src/xor_cipher.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn encrypt(bytes: &[u8], key: &[u8]) -> Vec<u8> {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt` is never used
[INFO] [stdout]  --> src/xor_cipher.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn decrypt(bytes: &[u8], key: &[u8]) -> Vec<u8> {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `xor` is never used
[INFO] [stdout]   --> src/xor_cipher.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn xor(bytes: &[u8], key: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyCandidate` is never constructed
[INFO] [stdout]   --> src/xor_cipher.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct KeyCandidate {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_candidate_keys` is never used
[INFO] [stdout]   --> src/xor_cipher.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn find_candidate_keys(ciphertext: &[u8]) -> Vec<KeyCandidate> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_best_key` is never used
[INFO] [stdout]   --> src/xor_cipher.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn find_best_key(bytes: &[u8]) -> KeyCandidate {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::iter::Map` that must be used
[INFO] [stdout]    --> src/distribution.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     self.table.iter_mut().map(|(_, value)| *value * n);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: iterators are lazy and do nothing unless consumed
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let _ = self.table.iter_mut().map(|(_, value)| *value * n);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::iter::Map` that must be used
[INFO] [stdout]    --> src/distribution.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     self.table.iter_mut().map(|(_, value)| *value * n);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: iterators are lazy and do nothing unless consumed
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let _ = self.table.iter_mut().map(|(_, value)| *value * n);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.34s
[INFO] running `Command { std: "docker" "inspect" "e907e5603bed7c34874694f2af478cc57e39ed9a5b896fbe5da30997b573decb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e907e5603bed7c34874694f2af478cc57e39ed9a5b896fbe5da30997b573decb", kill_on_drop: false }`
[INFO] [stdout] e907e5603bed7c34874694f2af478cc57e39ed9a5b896fbe5da30997b573decb
