[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#46424fb5054f211ec836c5c03159f92e46bb35ac for pr-139042
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjordanstephens%2Fcryptopals" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/jordanstephens/cryptopals on toolchain 46424fb5054f211ec836c5c03159f92e46bb35ac
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-2-tc1/source/Cargo.toml
[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" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7bb63c23872e7e0c8ef03838722e6d21694542453261d292f7bf333111a62e90
[INFO] running `Command { std: "docker" "start" "-a" "7bb63c23872e7e0c8ef03838722e6d21694542453261d292f7bf333111a62e90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7bb63c23872e7e0c8ef03838722e6d21694542453261d292f7bf333111a62e90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7bb63c23872e7e0c8ef03838722e6d21694542453261d292f7bf333111a62e90", kill_on_drop: false }`
[INFO] [stdout] 7bb63c23872e7e0c8ef03838722e6d21694542453261d292f7bf333111a62e90
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b516b814d99cffd06e1b02d007acd0b07b60bb8b37c6991fbc35a18f08358a12
[INFO] running `Command { std: "docker" "start" "-a" "b516b814d99cffd06e1b02d007acd0b07b60bb8b37c6991fbc35a18f08358a12", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]     Checking scopeguard v1.0.0
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]    Compiling num-traits v0.2.10
[INFO] [stderr]    Compiling rustc_version v0.2.3
[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)]` 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: multiple variants are never constructed
[INFO] [stdout]   --> src/distribution.rs:5:3
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Key {
[INFO] [stdout]    |          --- variants in this enum
[INFO] [stdout] 5  |   A,
[INFO] [stdout]    |   ^
[INFO] [stdout] 6  |   B,
[INFO] [stdout]    |   ^
[INFO] [stdout] 7  |   C,
[INFO] [stdout]    |   ^
[INFO] [stdout] 8  |   D,
[INFO] [stdout]    |   ^
[INFO] [stdout] 9  |   E,
[INFO] [stdout]    |   ^
[INFO] [stdout] 10 |   F,
[INFO] [stdout]    |   ^
[INFO] [stdout] 11 |   G,
[INFO] [stdout]    |   ^
[INFO] [stdout] 12 |   H,
[INFO] [stdout]    |   ^
[INFO] [stdout] 13 |   I,
[INFO] [stdout]    |   ^
[INFO] [stdout] 14 |   J,
[INFO] [stdout]    |   ^
[INFO] [stdout] 15 |   K,
[INFO] [stdout]    |   ^
[INFO] [stdout] 16 |   L,
[INFO] [stdout]    |   ^
[INFO] [stdout] 17 |   M,
[INFO] [stdout]    |   ^
[INFO] [stdout] 18 |   N,
[INFO] [stdout]    |   ^
[INFO] [stdout] 19 |   O,
[INFO] [stdout]    |   ^
[INFO] [stdout] 20 |   P,
[INFO] [stdout]    |   ^
[INFO] [stdout] 21 |   Q,
[INFO] [stdout]    |   ^
[INFO] [stdout] 22 |   R,
[INFO] [stdout]    |   ^
[INFO] [stdout] 23 |   S,
[INFO] [stdout]    |   ^
[INFO] [stdout] 24 |   T,
[INFO] [stdout]    |   ^
[INFO] [stdout] 25 |   U,
[INFO] [stdout]    |   ^
[INFO] [stdout] 26 |   V,
[INFO] [stdout]    |   ^
[INFO] [stdout] 27 |   W,
[INFO] [stdout]    |   ^
[INFO] [stdout] 28 |   X,
[INFO] [stdout]    |   ^
[INFO] [stdout] 29 |   Y,
[INFO] [stdout]    |   ^
[INFO] [stdout] 30 |   Z,
[INFO] [stdout]    |   ^
[INFO] [stdout] 31 |   WHITESPACE,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout] 32 |   OTHER,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 33 |   UNKNOWN,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Key` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[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]   = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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]    = note: `KeyCandidate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[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)]` 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)]` 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 5.07s
[INFO] running `Command { std: "docker" "inspect" "b516b814d99cffd06e1b02d007acd0b07b60bb8b37c6991fbc35a18f08358a12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b516b814d99cffd06e1b02d007acd0b07b60bb8b37c6991fbc35a18f08358a12", kill_on_drop: false }`
[INFO] [stdout] b516b814d99cffd06e1b02d007acd0b07b60bb8b37c6991fbc35a18f08358a12
