[INFO] cloning repository https://github.com/moeru1/cryptopals [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/moeru1/cryptopals" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmoeru1%2Fcryptopals", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmoeru1%2Fcryptopals'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 247505df94c9ecc98f089660d0f178c131944c49 [INFO] checking moeru1/cryptopals against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmoeru1%2Fcryptopals" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/moeru1/cryptopals on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/moeru1/cryptopals [INFO] finished tweaking git repo https://github.com/moeru1/cryptopals [INFO] tweaked toml for git repo https://github.com/moeru1/cryptopals written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/moeru1/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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ascii v1.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] de6fe94c2038137016cc8ecd537c21c342d25945f8e56353e03f5459a80a0f58 [INFO] running `Command { std: "docker" "start" "-a" "de6fe94c2038137016cc8ecd537c21c342d25945f8e56353e03f5459a80a0f58", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "de6fe94c2038137016cc8ecd537c21c342d25945f8e56353e03f5459a80a0f58", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "de6fe94c2038137016cc8ecd537c21c342d25945f8e56353e03f5459a80a0f58", kill_on_drop: false }` [INFO] [stdout] de6fe94c2038137016cc8ecd537c21c342d25945f8e56353e03f5459a80a0f58 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3b5eb495e62dca3d44ec0878245593ff6d795079df82273e7cb768d5b2f906b3 [INFO] running `Command { std: "docker" "start" "-a" "3b5eb495e62dca3d44ec0878245593ff6d795079df82273e7cb768d5b2f906b3", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling proc-macro2 v1.0.78 [INFO] [stderr] Compiling pkg-config v0.3.29 [INFO] [stderr] Compiling openssl v0.10.63 [INFO] [stderr] Checking either v1.10.0 [INFO] [stderr] Checking ascii v1.1.0 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Compiling openssl-sys v0.9.99 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking cryptopals v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::set1::fixed_xor` [INFO] [stdout] --> src/set1/aes_ecb.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::fixed_xor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `repeating_key_xor` [INFO] [stdout] --> src/set1/break_repeating_key.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::{repeating_key_xor, single_byte_xor_cipher::decrypt_single_xor}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/set1/break_repeating_key.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, prelude::*, BufReader}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `break_repeating_key::hamming_distance` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::{break_repeating_key::hamming_distance, fixed_xor::hex_decode}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Engine`, `alphabet::STANDARD`, and `engine::general_purpose` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use base64::{self, alphabet::STANDARD, engine::general_purpose, Engine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmp::min` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | cmp::min, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::fixed_xor::*` [INFO] [stdout] --> src/set1/detect_single_xor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::fixed_xor::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::char` [INFO] [stdout] --> src/set1/fixed_xor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::char; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Cow` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::Cow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `format` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::{format, Write}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write as IoWrite` and `self` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{self, Write as IoWrite}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `repeat_with` and `slice::ChunksExact` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | iter::{repeat, repeat_with, zip}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 5 | slice::ChunksExact, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `aes_ecb_decrypt` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | cbc::{aes_ecb_decrypt, aes_ecb_encrpyt}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::detect_aes_ecb::evaluate` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::set1::detect_aes_ecb::evaluate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `distributions::Standard` and `seq::SliceRandom` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `repeat_with` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | iter::{repeat, repeat_with}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::detect_aes_ecb::evaluate` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::set1::detect_aes_ecb::evaluate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `distributions::Standard` and `seq::SliceRandom` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `aes_ecb` [INFO] [stdout] --> src/set2/cbc.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | aes_ecb, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `encrypt` [INFO] [stdout] --> src/set2/cbc.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use openssl::symm::{encrypt, Cipher, Crypter, Mode}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set2::pkcs7` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::set2::pkcs7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `seq::SliceRandom` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:6:59 [INFO] [stdout] | [INFO] [stdout] 6 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::fixed_xor` [INFO] [stdout] --> src/set1/aes_ecb.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::fixed_xor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/set1/break_repeating_key.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, prelude::*, BufReader}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `break_repeating_key::hamming_distance` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::{break_repeating_key::hamming_distance, fixed_xor::hex_decode}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Engine`, `alphabet::STANDARD`, and `engine::general_purpose` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use base64::{self, alphabet::STANDARD, engine::general_purpose, Engine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmp::min` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | cmp::min, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::rngs::StdRng` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | use rand::rngs::StdRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng`, `SeedableRng`, and `thread_rng` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:95:16 [INFO] [stdout] | [INFO] [stdout] 95 | use rand::{thread_rng, Rng, SeedableRng}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::fixed_xor::*` [INFO] [stdout] --> src/set1/detect_single_xor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::fixed_xor::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::char` [INFO] [stdout] --> src/set1/fixed_xor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::char; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::single_byte_xor_cipher::*` [INFO] [stdout] --> src/set1/fixed_xor.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::set1::single_byte_xor_cipher::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Cow` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::Cow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `format` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::{format, Write}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write as IoWrite` and `self` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{self, Write as IoWrite}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `repeat_with` and `slice::ChunksExact` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | iter::{repeat, repeat_with, zip}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 5 | slice::ChunksExact, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `aes_ecb_decrypt` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | cbc::{aes_ecb_decrypt, aes_ecb_encrpyt}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::detect_aes_ecb::evaluate` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::set1::detect_aes_ecb::evaluate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `distributions::Standard` and `seq::SliceRandom` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `repeat_with` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | iter::{repeat, repeat_with}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::detect_aes_ecb::evaluate` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::set1::detect_aes_ecb::evaluate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `distributions::Standard` and `seq::SliceRandom` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `aes_ecb` [INFO] [stdout] --> src/set2/cbc.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | aes_ecb, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `encrypt` [INFO] [stdout] --> src/set2/cbc.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use openssl::symm::{encrypt, Cipher, Crypter, Mode}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `seq::SliceRandom` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:6:59 [INFO] [stdout] | [INFO] [stdout] 6 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ascii::IntoAsciiString` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | use ascii::IntoAsciiString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:130:25 [INFO] [stdout] | [INFO] [stdout] 130 | use std::fs::{self, File}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead` and `BufReader` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:131:19 [INFO] [stdout] | [INFO] [stdout] 131 | use std::io::{BufRead, BufReader}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::Distribution` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:17:36 [INFO] [stdout] | [INFO] [stdout] 17 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::Distribution` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:16:36 [INFO] [stdout] | [INFO] [stdout] 16 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:86:22 [INFO] [stdout] | [INFO] [stdout] 86 | let (block_size, n) = find_block_size(encryption_oracle); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_len` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:253:35 [INFO] [stdout] | [INFO] [stdout] 253 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::Distribution` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:17:36 [INFO] [stdout] | [INFO] [stdout] 17 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::Distribution` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:16:36 [INFO] [stdout] | [INFO] [stdout] 16 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_len` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:175:35 [INFO] [stdout] | [INFO] [stdout] 175 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `entropy` is never used [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn entropy<'a>(p: impl Iterator) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `asd` is never used [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn asd(reader: impl BufRead) -> vec::IntoIter<(f32, String)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_aes_ecb` is never used [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn detect_aes_ecb(filename: impl AsRef) -> vec::IntoIter<(f32, String)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EncryptionOracle` is never constructed [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | struct EncryptionOracle<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `encrypt` are never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | impl<'a> EncryptionOracle<'a> { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 42 | fn new(random_prefix: &'a [u8]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | fn encrypt(&self, input: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_block_size` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn find_block_size(encryption_oracle: &EncryptionOracle) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_prefix_len` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:85:4 [INFO] [stdout] | [INFO] [stdout] 85 | fn find_prefix_len(encryption_oracle: &EncryptionOracle) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_prefix_len2` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:102:4 [INFO] [stdout] | [INFO] [stdout] 102 | fn find_prefix_len2(encryption_oracle: &EncryptionOracle) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_mixed_block` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn find_mixed_block(encryption_oracle: &EncryptionOracle, block_size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_block` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn get_block(bytes: &[u8], i: usize, block_size: usize) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary_opt` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:147:4 [INFO] [stdout] | [INFO] [stdout] 147 | fn create_dictionary_opt<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary3` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:165:4 [INFO] [stdout] | [INFO] [stdout] 165 | fn dictionary3(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:197:4 [INFO] [stdout] | [INFO] [stdout] 197 | fn create_dictionary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary2` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn dictionary2(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary1` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:253:4 [INFO] [stdout] | [INFO] [stdout] 253 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_block_size` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn find_block_size() -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_block` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn get_block(bytes: &[u8], i: usize, block_size: usize) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary_opt` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn create_dictionary_opt<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary3` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn dictionary3(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:119:4 [INFO] [stdout] | [INFO] [stdout] 119 | fn create_dictionary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary2` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn dictionary2(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary1` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `aes_cbc_encrpyt_naive` is never used [INFO] [stdout] --> src/set2/cbc.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn aes_cbc_encrpyt_naive(plaintext: &[u8], key: &[u8], iv: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLOCK_SIZE` is never used [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const BLOCK_SIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Threshold` is never constructed [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct Threshold(f32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OracleTrainer` is never constructed [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct OracleTrainer {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Oracle` is never constructed [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct Oracle { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `train_oracle` is never used [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 64 | impl OracleTrainer { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 65 | fn train_oracle<'a>(input: impl IntoIterator>) -> Threshold { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `ecb_cbc_oracle` are never used [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 112 | impl Oracle { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 113 | fn new(threshold: Threshold) -> Oracle { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn ecb_cbc_oracle(&self, value: f32) -> EncryptionType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLOCK_SIZE` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const BLOCK_SIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kv_formatter` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn kv_formatter<'a>(input: impl Iterator) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kv_parsing` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn kv_parsing(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `profile_for` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn profile_for(email: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encrypt_user` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn encrypt_user(encoded_user: &str) -> (Vec, [u8; BLOCK_SIZE]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decrypt_and_parse` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn decrypt_and_parse(encrypted_user: &[u8], key: &[u8; BLOCK_SIZE]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:86:22 [INFO] [stdout] | [INFO] [stdout] 86 | let (block_size, n) = find_block_size(encryption_oracle); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 65 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_len` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:253:35 [INFO] [stdout] | [INFO] [stdout] 253 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_len` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:175:35 [INFO] [stdout] | [INFO] [stdout] 175 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:193:26 [INFO] [stdout] | [INFO] [stdout] 193 | let (block_size, n) = find_block_size(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `oracle` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | let oracle = Oracle::new(threshold); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oracle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output` [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | let output = kv_parsing("foo=bar&baz=qux&zap=zazzle"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_prefix_len` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:85:4 [INFO] [stdout] | [INFO] [stdout] 85 | fn find_prefix_len(encryption_oracle: &EncryptionOracle) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary_opt` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:147:4 [INFO] [stdout] | [INFO] [stdout] 147 | fn create_dictionary_opt<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary3` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:165:4 [INFO] [stdout] | [INFO] [stdout] 165 | fn dictionary3(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:197:4 [INFO] [stdout] | [INFO] [stdout] 197 | fn create_dictionary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary2` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn dictionary2(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary1` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:253:4 [INFO] [stdout] | [INFO] [stdout] 253 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_block` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn get_block(bytes: &[u8], i: usize, block_size: usize) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary_opt` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn create_dictionary_opt<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary3` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn dictionary3(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:119:4 [INFO] [stdout] | [INFO] [stdout] 119 | fn create_dictionary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary2` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn dictionary2(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary1` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | struct Threshold(f32); [INFO] [stdout] | --------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Threshold` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `threshold` is never read [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | struct Oracle { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 14 | threshold: Threshold, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ecb_cbc_oracle` is never used [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 112 | impl Oracle { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 116 | fn ecb_cbc_oracle(&self, value: f32) -> EncryptionType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 52 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.16s [INFO] running `Command { std: "docker" "inspect" "3b5eb495e62dca3d44ec0878245593ff6d795079df82273e7cb768d5b2f906b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3b5eb495e62dca3d44ec0878245593ff6d795079df82273e7cb768d5b2f906b3", kill_on_drop: false }` [INFO] [stdout] 3b5eb495e62dca3d44ec0878245593ff6d795079df82273e7cb768d5b2f906b3