[INFO] cloning repository https://github.com/rotwatsb/cryptopals [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rotwatsb/cryptopals" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frotwatsb%2Fcryptopals", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frotwatsb%2Fcryptopals'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f0a78614ae8e6210a5dab3a23057ec77f611b29c [INFO] checking rotwatsb/cryptopals against master#0d37dca25a51fb900a402c94c8818ad1c2789e30 for pr-77526 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frotwatsb%2Fcryptopals" "/workspace/builds/worker-7/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/rotwatsb/cryptopals on toolchain 0d37dca25a51fb900a402c94c8818ad1c2789e30 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+0d37dca25a51fb900a402c94c8818ad1c2789e30" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/rotwatsb/cryptopals [INFO] finished tweaking git repo https://github.com/rotwatsb/cryptopals [INFO] tweaked toml for git repo https://github.com/rotwatsb/cryptopals written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/rotwatsb/cryptopals already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+0d37dca25a51fb900a402c94c8818ad1c2789e30" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] error: the lock file /workspace/builds/worker-7/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag. [INFO] the lockfile is outdated, regenerating it [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+0d37dca25a51fb900a402c94c8818ad1c2789e30" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+0d37dca25a51fb900a402c94c8818ad1c2789e30" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "+0d37dca25a51fb900a402c94c8818ad1c2789e30" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 0ccff117c6dd52d91b7db0885798e89c100bb519aa3f393286327af9a1f46eef [INFO] running `Command { std: "docker" "start" "-a" "0ccff117c6dd52d91b7db0885798e89c100bb519aa3f393286327af9a1f46eef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0ccff117c6dd52d91b7db0885798e89c100bb519aa3f393286327af9a1f46eef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0ccff117c6dd52d91b7db0885798e89c100bb519aa3f393286327af9a1f46eef", kill_on_drop: false }` [INFO] [stdout] 0ccff117c6dd52d91b7db0885798e89c100bb519aa3f393286327af9a1f46eef [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "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" "+0d37dca25a51fb900a402c94c8818ad1c2789e30" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3e9a5960e6fb3fed1d92f3b6f2c95e50e1e8b467ea03c765f7532c1fe0db8a71 [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" "3e9a5960e6fb3fed1d92f3b6f2c95e50e1e8b467ea03c765f7532c1fe0db8a71", kill_on_drop: false }` [INFO] [stderr] Compiling gcc v0.3.55 [INFO] [stderr] Checking libc v0.2.79 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Compiling rust-crypto v0.2.36 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking cryptopals v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/utils.rs:17:28 [INFO] [stdout] | [INFO] [stdout] 17 | let mut boxed_dec: Box = [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Decryptor` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/utils.rs:29:28 [INFO] [stdout] | [INFO] [stdout] 29 | let mut boxed_enc: Box = [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Encryptor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob1.rs:35:17 [INFO] [stdout] | [INFO] [stdout] 35 | b'0'...b'9' => buf |= byte - b'0', [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob1.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | b'A'...b'F' => buf |= byte - b'A' + 10, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob1.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | b'a'...b'f' => buf |= byte - b'a' + 10, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob1.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | b'A'...b'Z' => buf = byte - b'A', [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob1.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | b'a'...b'z' => buf = byte - b'a' + 26, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob1.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | b'0'...b'9' => buf = byte - b'0' + 52, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob3.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | b'a'...b'z' => letter_freqs[(c - b'a') as usize] += 1, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob3.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | b'A'...b'Z' => letter_freqs[(c - b'A') as usize] += 1, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> src/set1/prob5.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/set2/prob11.rs:9:34 [INFO] [stdout] | [INFO] [stdout] 9 | fn ecb_or_cbc_oracle(encryptor: &Fn(&mut Vec) -> Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Vec) -> Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/utils.rs:17:28 [INFO] [stdout] | [INFO] [stdout] 17 | let mut boxed_dec: Box = [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Decryptor` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/utils.rs:29:28 [INFO] [stdout] | [INFO] [stdout] 29 | let mut boxed_enc: Box = [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Encryptor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob1.rs:35:17 [INFO] [stdout] | [INFO] [stdout] 35 | b'0'...b'9' => buf |= byte - b'0', [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob1.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | b'A'...b'F' => buf |= byte - b'A' + 10, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob1.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | b'a'...b'f' => buf |= byte - b'a' + 10, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob1.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | b'A'...b'Z' => buf = byte - b'A', [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob1.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | b'a'...b'z' => buf = byte - b'a' + 26, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob1.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | b'0'...b'9' => buf = byte - b'0' + 52, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob3.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | b'a'...b'z' => letter_freqs[(c - b'a') as usize] += 1, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/set1/prob3.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | b'A'...b'Z' => letter_freqs[(c - b'A') as usize] += 1, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> src/set1/prob5.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/set2/prob11.rs:9:34 [INFO] [stdout] | [INFO] [stdout] 9 | fn ecb_or_cbc_oracle(encryptor: &Fn(&mut Vec) -> Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Vec) -> Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/utils.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | for i in 0 .. to_append { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `buf` is never read [INFO] [stdout] --> src/set1/prob1.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | let mut buf: u8 = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `buf` is never read [INFO] [stdout] --> src/set1/prob1.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | let mut buf: u8 = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `byte_mask` is never read [INFO] [stdout] --> src/set1/prob1.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | let mut byte_mask: u8 = 255 << offset + (8 - bpc); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `first` is never read [INFO] [stdout] --> src/set1/prob1.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | let mut first: bool = true; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `score` [INFO] [stdout] --> src/set1/prob3.rs:12:28 [INFO] [stdout] | [INFO] [stdout] 12 | let (decoded_bytes, _, score) = decode_repeating_char_xor(&encoded_bytes); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/set1/prob3.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | let mut score: i32 = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/set1/prob3.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | for i in 0 .. 5 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `ham_dist` is never read [INFO] [stdout] --> src/set1/prob6.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | let mut ham_dist: f64 = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `keysize` is never read [INFO] [stdout] --> src/set1/prob6.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let mut keysize: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/set1/prob6.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | for i in 0 .. keysize { transposed_blocks.push(Vec::new()); } [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `best_decode` [INFO] [stdout] --> src/set1/prob6.rs:54:18 [INFO] [stdout] | [INFO] [stdout] 54 | let (best_decode, best_key, max_score) = [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best_decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_score` [INFO] [stdout] --> src/set1/prob6.rs:54:41 [INFO] [stdout] | [INFO] [stdout] 54 | let (best_decode, best_key, max_score) = [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/set2/prob12.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let mut key: Vec = g.gen_iter().take(16).collect::>(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/set2/prob12.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let mut key: Vec = g.gen_iter().take(16).collect::>(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `DEBUG` [INFO] [stdout] --> src/constants.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub static DEBUG: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ecb_decrypt` [INFO] [stdout] --> src/utils.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn ecb_decrypt(slice_in: &[u8], slice_out: &mut [u8], key: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ecb_encrypt` [INFO] [stdout] --> src/utils.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn ecb_encrypt(slice_in: &[u8], slice_out: &mut [u8], key: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pad_to` [INFO] [stdout] --> src/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn pad_to(to_pad: &mut Vec, block_size: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cbc_encrypt` [INFO] [stdout] --> src/utils.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn cbc_encrypt(bin: &mut Vec, iv: &Vec, key: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cbc_decrypt` [INFO] [stdout] --> src/utils.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn cbc_decrypt(bin: &Vec, iv: &Vec, key: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `bin_from_b64file` [INFO] [stdout] --> src/utils.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn bin_from_b64file(f: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_xor_slice` [INFO] [stdout] --> src/utils.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn set_xor_slice(v1: &[u8], v2: &[u8], into: &mut[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `byte_repeats_exist` [INFO] [stdout] --> src/utils.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn byte_repeats_exist(data: &Vec, n: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `BIN_MAP` [INFO] [stdout] --> src/set1/prob1.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub const BIN_MAP: [char; 2] = ['0', '1']; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `HEX_MAP` [INFO] [stdout] --> src/set1/prob1.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | / pub const HEX_MAP: [char; 16] = [INFO] [stdout] 4 | | ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', [INFO] [stdout] 5 | | 'e', 'f']; [INFO] [stdout] | |_______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `B64_MAP` [INFO] [stdout] --> src/set1/prob1.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / pub const B64_MAP: [char; 64] = [INFO] [stdout] 8 | | ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', [INFO] [stdout] 9 | | 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', [INFO] [stdout] 10 | | 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', [INFO] [stdout] 11 | | 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', [INFO] [stdout] 12 | | '4', '5', '6', '7', '8', '9', '+', '/']; [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob1` [INFO] [stdout] --> src/set1/prob1.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn prob1() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `from_hex_string` [INFO] [stdout] --> src/set1/prob1.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn from_hex_string(hex: &String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `from_b64_string` [INFO] [stdout] --> src/set1/prob1.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn from_b64_string(b64_str: &String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `to_base` [INFO] [stdout] --> src/set1/prob1.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn to_base(bin: &Vec, char_map: &[char]) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `mylog2` [INFO] [stdout] --> src/set1/prob1.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn mylog2(n: u8) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test` [INFO] [stdout] --> src/set1/prob1.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn test() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob2` [INFO] [stdout] --> src/set1/prob2.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn prob2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `xor_vecs` [INFO] [stdout] --> src/set1/prob2.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn xor_vecs(v1: &[u8], v2: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob3` [INFO] [stdout] --> src/set1/prob3.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn prob3() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_repeating_char_xor` [INFO] [stdout] --> src/set1/prob3.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn decode_repeating_char_xor(encoded_bytes: &Vec) -> (Vec, u8, i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_vec` [INFO] [stdout] --> src/set1/prob3.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn set_vec(src: &Vec, dest: &mut Vec) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score_freqs` [INFO] [stdout] --> src/set1/prob3.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn score_freqs(freqs: &Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `calc_freqs` [INFO] [stdout] --> src/set1/prob3.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn calc_freqs(chars: &Vec, letter_freqs: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `repeating_char_xor` [INFO] [stdout] --> src/set1/prob3.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn repeating_char_xor(v: &Vec, result: &mut Vec, c: &u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob4` [INFO] [stdout] --> src/set1/prob4.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn prob4() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob5` [INFO] [stdout] --> src/set1/prob5.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn prob5() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `repeating_seq_xor` [INFO] [stdout] --> src/set1/prob5.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn repeating_seq_xor(to_encode: &[u8], result: &mut Vec, seq: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob6` [INFO] [stdout] --> src/set1/prob6.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn prob6() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `hamming_distance` [INFO] [stdout] --> src/set1/prob6.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn hamming_distance(v1: &[u8], v2: &[u8]) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ham_d` [INFO] [stdout] --> src/set1/prob6.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn ham_d(a: u8, b: u8) -> f64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob7` [INFO] [stdout] --> src/set1/prob7.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn prob7() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob8` [INFO] [stdout] --> src/set1/prob8.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn prob8() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob9` [INFO] [stdout] --> src/set2/prob9.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn prob9() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob10` [INFO] [stdout] --> src/set2/prob10.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn prob10() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob11` [INFO] [stdout] --> src/set2/prob11.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn prob11() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ecb_or_cbc_oracle` [INFO] [stdout] --> src/set2/prob11.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn ecb_or_cbc_oracle(encryptor: &Fn(&mut Vec) -> Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rand_encrypt_ecb_or_cbc` [INFO] [stdout] --> src/set2/prob11.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn rand_encrypt_ecb_or_cbc(bin: &mut Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob12` [INFO] [stdout] --> src/set2/prob12.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn prob12() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set1` [INFO] [stdout] --> src/main.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn set1() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set2` [INFO] [stdout] --> src/main.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn set2() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/utils.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | for i in 0 .. to_append { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/utils.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | (*boxed_dec).decrypt(&mut buff_in, &mut buff_out, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `buf` is never read [INFO] [stdout] --> src/set1/prob1.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | let mut buf: u8 = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `buf` is never read [INFO] [stdout] --> src/set1/prob1.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | let mut buf: u8 = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `byte_mask` is never read [INFO] [stdout] --> src/set1/prob1.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | let mut byte_mask: u8 = 255 << offset + (8 - bpc); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `first` is never read [INFO] [stdout] --> src/set1/prob1.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | let mut first: bool = true; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `score` [INFO] [stdout] --> src/set1/prob3.rs:12:28 [INFO] [stdout] | [INFO] [stdout] 12 | let (decoded_bytes, _, score) = decode_repeating_char_xor(&encoded_bytes); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/set1/prob3.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | let mut score: i32 = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/set1/prob3.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | for i in 0 .. 5 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `ham_dist` is never read [INFO] [stdout] --> src/set1/prob6.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | let mut ham_dist: f64 = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `keysize` is never read [INFO] [stdout] --> src/set1/prob6.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let mut keysize: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/utils.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | (*boxed_enc).encrypt(&mut buff_in, &mut buff_out, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/set1/prob6.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | for i in 0 .. keysize { transposed_blocks.push(Vec::new()); } [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `best_decode` [INFO] [stdout] --> src/set1/prob6.rs:54:18 [INFO] [stdout] | [INFO] [stdout] 54 | let (best_decode, best_key, max_score) = [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best_decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_score` [INFO] [stdout] --> src/set1/prob6.rs:54:41 [INFO] [stdout] | [INFO] [stdout] 54 | let (best_decode, best_key, max_score) = [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/set2/prob12.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let mut key: Vec = g.gen_iter().take(16).collect::>(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 71 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/set2/prob12.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let mut key: Vec = g.gen_iter().take(16).collect::>(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `DEBUG` [INFO] [stdout] --> src/constants.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub static DEBUG: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ecb_decrypt` [INFO] [stdout] --> src/utils.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn ecb_decrypt(slice_in: &[u8], slice_out: &mut [u8], key: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ecb_encrypt` [INFO] [stdout] --> src/utils.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn ecb_encrypt(slice_in: &[u8], slice_out: &mut [u8], key: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pad_to` [INFO] [stdout] --> src/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn pad_to(to_pad: &mut Vec, block_size: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cbc_encrypt` [INFO] [stdout] --> src/utils.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn cbc_encrypt(bin: &mut Vec, iv: &Vec, key: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cbc_decrypt` [INFO] [stdout] --> src/utils.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn cbc_decrypt(bin: &Vec, iv: &Vec, key: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `bin_from_b64file` [INFO] [stdout] --> src/utils.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn bin_from_b64file(f: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_xor_slice` [INFO] [stdout] --> src/utils.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn set_xor_slice(v1: &[u8], v2: &[u8], into: &mut[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `byte_repeats_exist` [INFO] [stdout] --> src/utils.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn byte_repeats_exist(data: &Vec, n: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `BIN_MAP` [INFO] [stdout] --> src/set1/prob1.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub const BIN_MAP: [char; 2] = ['0', '1']; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `HEX_MAP` [INFO] [stdout] --> src/set1/prob1.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | / pub const HEX_MAP: [char; 16] = [INFO] [stdout] 4 | | ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', [INFO] [stdout] 5 | | 'e', 'f']; [INFO] [stdout] | |_______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `B64_MAP` [INFO] [stdout] --> src/set1/prob1.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / pub const B64_MAP: [char; 64] = [INFO] [stdout] 8 | | ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', [INFO] [stdout] 9 | | 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', [INFO] [stdout] 10 | | 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', [INFO] [stdout] 11 | | 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', [INFO] [stdout] 12 | | '4', '5', '6', '7', '8', '9', '+', '/']; [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob1` [INFO] [stdout] --> src/set1/prob1.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn prob1() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `from_hex_string` [INFO] [stdout] --> src/set1/prob1.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn from_hex_string(hex: &String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `from_b64_string` [INFO] [stdout] --> src/set1/prob1.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn from_b64_string(b64_str: &String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `to_base` [INFO] [stdout] --> src/set1/prob1.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn to_base(bin: &Vec, char_map: &[char]) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `mylog2` [INFO] [stdout] --> src/set1/prob1.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn mylog2(n: u8) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test` [INFO] [stdout] --> src/set1/prob1.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn test() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob2` [INFO] [stdout] --> src/set1/prob2.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn prob2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `xor_vecs` [INFO] [stdout] --> src/set1/prob2.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn xor_vecs(v1: &[u8], v2: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob3` [INFO] [stdout] --> src/set1/prob3.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn prob3() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_repeating_char_xor` [INFO] [stdout] --> src/set1/prob3.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn decode_repeating_char_xor(encoded_bytes: &Vec) -> (Vec, u8, i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_vec` [INFO] [stdout] --> src/set1/prob3.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn set_vec(src: &Vec, dest: &mut Vec) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score_freqs` [INFO] [stdout] --> src/set1/prob3.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn score_freqs(freqs: &Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `calc_freqs` [INFO] [stdout] --> src/set1/prob3.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn calc_freqs(chars: &Vec, letter_freqs: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `repeating_char_xor` [INFO] [stdout] --> src/set1/prob3.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn repeating_char_xor(v: &Vec, result: &mut Vec, c: &u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob4` [INFO] [stdout] --> src/set1/prob4.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn prob4() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob5` [INFO] [stdout] --> src/set1/prob5.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn prob5() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `repeating_seq_xor` [INFO] [stdout] --> src/set1/prob5.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn repeating_seq_xor(to_encode: &[u8], result: &mut Vec, seq: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob6` [INFO] [stdout] --> src/set1/prob6.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn prob6() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `hamming_distance` [INFO] [stdout] --> src/set1/prob6.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn hamming_distance(v1: &[u8], v2: &[u8]) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ham_d` [INFO] [stdout] --> src/set1/prob6.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn ham_d(a: u8, b: u8) -> f64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob7` [INFO] [stdout] --> src/set1/prob7.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn prob7() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob8` [INFO] [stdout] --> src/set1/prob8.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn prob8() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob9` [INFO] [stdout] --> src/set2/prob9.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn prob9() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob10` [INFO] [stdout] --> src/set2/prob10.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn prob10() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob11` [INFO] [stdout] --> src/set2/prob11.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn prob11() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ecb_or_cbc_oracle` [INFO] [stdout] --> src/set2/prob11.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn ecb_or_cbc_oracle(encryptor: &Fn(&mut Vec) -> Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rand_encrypt_ecb_or_cbc` [INFO] [stdout] --> src/set2/prob11.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn rand_encrypt_ecb_or_cbc(bin: &mut Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob12` [INFO] [stdout] --> src/set2/prob12.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn prob12() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set1` [INFO] [stdout] --> src/main.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn set1() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set2` [INFO] [stdout] --> src/main.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn set2() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/utils.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | (*boxed_dec).decrypt(&mut buff_in, &mut buff_out, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/utils.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | (*boxed_enc).encrypt(&mut buff_in, &mut buff_out, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 71 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 10.19s [INFO] running `Command { std: "docker" "inspect" "3e9a5960e6fb3fed1d92f3b6f2c95e50e1e8b467ea03c765f7532c1fe0db8a71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e9a5960e6fb3fed1d92f3b6f2c95e50e1e8b467ea03c765f7532c1fe0db8a71", kill_on_drop: false }` [INFO] [stdout] 3e9a5960e6fb3fed1d92f3b6f2c95e50e1e8b467ea03c765f7532c1fe0db8a71