[INFO] cloning repository https://github.com/newpavlov/rustrush-crypto-workshop
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/newpavlov/rustrush-crypto-workshop" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnewpavlov%2Frustrush-crypto-workshop", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnewpavlov%2Frustrush-crypto-workshop'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fb205ee9cdc6325a51764524280886b0e0bcf552
[INFO] checking newpavlov/rustrush-crypto-workshop against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnewpavlov%2Frustrush-crypto-workshop" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/newpavlov/rustrush-crypto-workshop
[INFO] finished tweaking git repo https://github.com/newpavlov/rustrush-crypto-workshop
[INFO] tweaked toml for git repo https://github.com/newpavlov/rustrush-crypto-workshop written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/newpavlov/rustrush-crypto-workshop on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/newpavlov/rustrush-crypto-workshop 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5120dd2b76e854d0d8022dc46d88733069d156103c26a059ae436a0990bd44d9
[INFO] running `Command { std: "docker" "start" "-a" "5120dd2b76e854d0d8022dc46d88733069d156103c26a059ae436a0990bd44d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5120dd2b76e854d0d8022dc46d88733069d156103c26a059ae436a0990bd44d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5120dd2b76e854d0d8022dc46d88733069d156103c26a059ae436a0990bd44d9", kill_on_drop: false }`
[INFO] [stdout] 5120dd2b76e854d0d8022dc46d88733069d156103c26a059ae436a0990bd44d9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1efca2ef0211fc280a8fc634b55ad1631e98cdc02adc8288298831507d10c681
[INFO] running `Command { std: "docker" "start" "-a" "1efca2ef0211fc280a8fc634b55ad1631e98cdc02adc8288298831507d10c681", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]     Checking byteorder v1.2.7
[INFO] [stderr]     Checking byte-tools v0.3.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.24
[INFO] [stderr]     Checking subtle v1.0.0
[INFO] [stderr]     Checking opaque-debug v0.2.1
[INFO] [stderr]    Compiling libc v0.2.45
[INFO] [stderr]     Checking constant_time_eq v0.1.3
[INFO] [stderr]     Checking bitflags v1.0.4
[INFO] [stderr]    Compiling unicode-segmentation v1.2.1
[INFO] [stderr]     Checking textwrap v0.10.0
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling cc v1.0.26
[INFO] [stderr]     Checking byte-tools v0.2.0
[INFO] [stderr]     Checking opaque-debug v0.1.1
[INFO] [stderr]     Checking arrayvec v0.4.8
[INFO] [stderr]     Checking inflate v0.4.4
[INFO] [stderr]     Checking subtle v0.3.0
[INFO] [stderr]     Checking block-padding v0.1.2
[INFO] [stderr]     Checking keccak v0.1.0
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]     Checking blake2-rfc v0.2.18
[INFO] [stderr]    Compiling heck v0.3.0
[INFO] [stderr]     Checking argon2rs v0.2.5
[INFO] [stderr]     Checking deflate v0.7.19
[INFO] [stderr]     Checking base64 v0.10.0
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking clap v2.32.0
[INFO] [stderr]    Compiling quote v0.6.10
[INFO] [stderr]     Checking generic-array v0.12.0
[INFO] [stderr]     Checking generic-array v0.9.0
[INFO] [stderr]    Compiling clear_on_drop v0.2.3
[INFO] [stderr]     Checking block-cipher-trait v0.5.3
[INFO] [stderr]     Checking crypto-mac v0.6.2
[INFO] [stderr]     Checking dbl v0.1.0
[INFO] [stderr]    Compiling syn v0.15.22
[INFO] [stderr]     Checking num-integer v0.1.39
[INFO] [stderr]     Checking aes-soft v0.1.0
[INFO] [stderr]     Checking block-modes v0.1.0
[INFO] [stderr]     Checking pmac v0.1.0
[INFO] [stderr]     Checking cmac v0.1.0
[INFO] [stderr]     Checking aes v0.1.0
[INFO] [stderr]     Checking num-iter v0.1.37
[INFO] [stderr]     Checking crypto-mac v0.7.0
[INFO] [stderr]     Checking digest v0.8.0
[INFO] [stderr]     Checking block-cipher-trait v0.6.2
[INFO] [stderr]     Checking block-buffer v0.7.0
[INFO] [stderr]     Checking stream-cipher v0.3.0
[INFO] [stderr]     Checking dbl v0.2.0
[INFO] [stderr]     Checking png v0.13.2
[INFO] [stderr]     Checking aes-soft v0.3.2
[INFO] [stderr]     Checking block-modes v0.2.0
[INFO] [stderr]     Checking ctr v0.3.0
[INFO] [stderr]     Checking cfb-mode v0.3.1
[INFO] [stderr]     Checking miscreant v0.4.0-beta2
[INFO] [stderr]     Checking sha2 v0.8.0
[INFO] [stderr]     Checking sha3 v0.8.1
[INFO] [stderr]     Checking hmac v0.7.0
[INFO] [stderr]     Checking pbkdf2 v0.3.0
[INFO] [stderr]     Checking pmac v0.2.0
[INFO] [stderr]     Checking blake2 v0.8.0
[INFO] [stderr]     Checking hkdf v0.7.0
[INFO] [stderr]     Checking aes v0.3.2
[INFO] [stderr]    Compiling structopt-derive v0.2.14
[INFO] [stderr]     Checking structopt v0.2.14
[INFO] [stderr]     Checking rustrush-ciphers v0.1.0 (/opt/rustwide/workdir/ciphers)
[INFO] [stderr]     Checking rustrush-hash v0.1.0 (/opt/rustwide/workdir/hash)
[INFO] [stderr]     Checking rustrush-pwhash v0.1.0 (/opt/rustwide/workdir/pwhash)
[INFO] [stdout] warning: unused imports: `BlockMode` and `Ecb`
[INFO] [stdout]  --> ciphers/src/main.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use block_modes::{Ecb, Cbc, BlockMode, BlockModeIv};
[INFO] [stdout]   |                   ^^^       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SyncStreamCipher`
[INFO] [stdout]  --> ciphers/src/main.rs:8:38
[INFO] [stdout]   |
[INFO] [stdout] 8 | use stream_cipher::{NewStreamCipher, SyncStreamCipher};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `Write`
[INFO] [stdout]   --> ciphers/src/main.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::io::{self, Read, Write, BufWriter};
[INFO] [stdout]    |                     ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `generic_array::GenericArray`
[INFO] [stdout]  --> ciphers/src/etm.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use generic_array::GenericArray;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::Sha256`
[INFO] [stdout]  --> ciphers/src/etm.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sha2::Sha256;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `generic_array::typenum::Unsigned`
[INFO] [stdout]  --> ciphers/src/etm.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use generic_array::typenum::Unsigned;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> ciphers/src/etm.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `Write`
[INFO] [stdout]  --> ciphers/src/etm.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{self, Read, Write};
[INFO] [stdout]   |                     ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockModeIv`
[INFO] [stdout]  --> ciphers/src/main.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use block_modes::{Ecb, Cbc, BlockMode, BlockModeIv};
[INFO] [stdout]   |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NewStreamCipher`
[INFO] [stdout]  --> ciphers/src/main.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use stream_cipher::{NewStreamCipher, SyncStreamCipher};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `master_key`
[INFO] [stdout]   --> ciphers/src/etm.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     master_key: &[u8], src: &Path, dst: &Path,
[INFO] [stdout]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_master_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> ciphers/src/etm.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 |     master_key: &[u8], src: &Path, dst: &Path,
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> ciphers/src/etm.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 |     master_key: &[u8], src: &Path, dst: &Path,
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `master_key`
[INFO] [stdout]   --> ciphers/src/etm.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     master_key: &[u8], src: &Path, dst: &Path,
[INFO] [stdout]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_master_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> ciphers/src/etm.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 |     master_key: &[u8], src: &Path, dst: &Path,
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> ciphers/src/etm.rs:27:36
[INFO] [stdout]    |
[INFO] [stdout] 27 |     master_key: &[u8], src: &Path, dst: &Path,
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> ciphers/src/main.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn derive_key_iv(password: &str) -> (Key, Iv) {
[INFO] [stdout]    |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> ciphers/src/main.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn cbc_encrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> ciphers/src/main.rs:45:37
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn cbc_encrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> ciphers/src/main.rs:45:49
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn cbc_encrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> ciphers/src/main.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn cbc_decrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> ciphers/src/main.rs:53:37
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn cbc_decrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> ciphers/src/main.rs:53:49
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn cbc_decrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> ciphers/src/main.rs:60:29
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn ctr_encrypt_decrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> ciphers/src/main.rs:60:45
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn ctr_encrypt_decrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> ciphers/src/main.rs:60:57
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn ctr_encrypt_decrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]   --> ciphers/src/main.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn ecb_image_encrypt(image: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]   --> ciphers/src/main.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn cbc_image_encrypt(image: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockMode` and `Ecb`
[INFO] [stdout]  --> ciphers/src/main.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use block_modes::{Ecb, Cbc, BlockMode, BlockModeIv};
[INFO] [stdout]   |                   ^^^       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SyncStreamCipher`
[INFO] [stdout]  --> ciphers/src/main.rs:8:38
[INFO] [stdout]   |
[INFO] [stdout] 8 | use stream_cipher::{NewStreamCipher, SyncStreamCipher};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `Write`
[INFO] [stdout]   --> ciphers/src/main.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::io::{self, Read, Write, BufWriter};
[INFO] [stdout]    |                     ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `generic_array::GenericArray`
[INFO] [stdout]  --> ciphers/src/etm.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use generic_array::GenericArray;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::Sha256`
[INFO] [stdout]  --> ciphers/src/etm.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sha2::Sha256;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `generic_array::typenum::Unsigned`
[INFO] [stdout]  --> ciphers/src/etm.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use generic_array::typenum::Unsigned;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> ciphers/src/etm.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `Write`
[INFO] [stdout]  --> ciphers/src/etm.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{self, Read, Write};
[INFO] [stdout]   |                     ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Aes128CbcPkcs7` is never used
[INFO] [stdout]   --> ciphers/src/main.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 | type Aes128CbcPkcs7 = Cbc<Aes128, Pkcs7>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Key` is never used
[INFO] [stdout]   --> ciphers/src/main.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Key = GenericArray<u8, U16>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Iv` is never used
[INFO] [stdout]   --> ciphers/src/main.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Iv = GenericArray<u8, U16>;
[INFO] [stdout]    |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `derive_key_iv` is never used
[INFO] [stdout]   --> ciphers/src/main.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn derive_key_iv(password: &str) -> (Key, Iv) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]  --> ciphers/src/cli.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(StructOpt)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout]   = note: this error originates in the derive macro `StructOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rustrush-ciphers` (bin "rustrush-ciphers") due to 1 previous error; 32 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> hash/src/main.rs:67:23
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn fixed_digest<D, R>(mut src: R) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                       ----^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> hash/src/main.rs:67:23
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn fixed_digest<D, R>(mut src: R) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> hash/src/main.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn var_digest<D, R>(mut src: R, length: usize) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> hash/src/main.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn var_digest<D, R>(mut src: R, length: usize) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> hash/src/main.rs:76:33
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn var_digest<D, R>(mut src: R, length: usize) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> hash/src/main.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn xof_digest<D, R>(mut src: R, length: usize) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> hash/src/main.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn xof_digest<D, R>(mut src: R, length: usize) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hmac::Hmac`
[INFO] [stdout]   --> pwhash/src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use hmac::Hmac;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> hash/src/main.rs:85:33
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn xof_digest<D, R>(mut src: R, length: usize) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::Sha256`
[INFO] [stdout]   --> pwhash/src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use sha2::Sha256;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hmac::Hmac`
[INFO] [stdout]   --> pwhash/src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use hmac::Hmac;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::Sha256`
[INFO] [stdout]   --> pwhash/src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use sha2::Sha256;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> pwhash/src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     password: &str, salt: &[u8], iterations: usize, length: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `salt`
[INFO] [stdout]   --> pwhash/src/main.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 |     password: &str, salt: &[u8], iterations: usize, length: usize,
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_salt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iterations`
[INFO] [stdout]   --> pwhash/src/main.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 |     password: &str, salt: &[u8], iterations: usize, length: usize,
[INFO] [stdout]    |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iterations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> pwhash/src/main.rs:20:53
[INFO] [stdout]    |
[INFO] [stdout] 20 |     password: &str, salt: &[u8], iterations: usize, length: usize,
[INFO] [stdout]    |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> pwhash/src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     password: &str, salt: &[u8], iterations: usize, length: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `salt`
[INFO] [stdout]   --> pwhash/src/main.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 |     password: &str, salt: &[u8], iterations: usize, length: usize,
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_salt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `salt`
[INFO] [stdout]   --> pwhash/src/main.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn run_argon2(salt: &str, password: &str) -> Vec<u8> {
[INFO] [stdout]    |               ^^^^ help: if this is intentional, prefix it with an underscore: `_salt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iterations`
[INFO] [stdout]   --> pwhash/src/main.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 |     password: &str, salt: &[u8], iterations: usize, length: usize,
[INFO] [stdout]    |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iterations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> pwhash/src/main.rs:20:53
[INFO] [stdout]    |
[INFO] [stdout] 20 |     password: &str, salt: &[u8], iterations: usize, length: usize,
[INFO] [stdout]    |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> pwhash/src/main.rs:27:27
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn run_argon2(salt: &str, password: &str) -> Vec<u8> {
[INFO] [stdout]    |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `salt`
[INFO] [stdout]   --> pwhash/src/main.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn run_argon2(salt: &str, password: &str) -> Vec<u8> {
[INFO] [stdout]    |               ^^^^ help: if this is intentional, prefix it with an underscore: `_salt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> pwhash/src/main.rs:27:27
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn run_argon2(salt: &str, password: &str) -> Vec<u8> {
[INFO] [stdout]    |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockModeIv`
[INFO] [stdout]  --> ciphers/src/main.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use block_modes::{Ecb, Cbc, BlockMode, BlockModeIv};
[INFO] [stdout]   |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NewStreamCipher`
[INFO] [stdout]  --> ciphers/src/main.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use stream_cipher::{NewStreamCipher, SyncStreamCipher};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]  --> pwhash/src/cli.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(StructOpt)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout]   = note: this error originates in the derive macro `StructOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]  --> pwhash/src/cli.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(StructOpt)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout]   = note: this error originates in the derive macro `StructOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `master_key`
[INFO] [stdout]   --> ciphers/src/etm.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     master_key: &[u8], src: &Path, dst: &Path,
[INFO] [stdout]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_master_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> ciphers/src/etm.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 |     master_key: &[u8], src: &Path, dst: &Path,
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> ciphers/src/etm.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 |     master_key: &[u8], src: &Path, dst: &Path,
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `master_key`
[INFO] [stdout]   --> ciphers/src/etm.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     master_key: &[u8], src: &Path, dst: &Path,
[INFO] [stdout]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_master_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> ciphers/src/etm.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 |     master_key: &[u8], src: &Path, dst: &Path,
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> ciphers/src/etm.rs:27:36
[INFO] [stdout]    |
[INFO] [stdout] 27 |     master_key: &[u8], src: &Path, dst: &Path,
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> ciphers/src/main.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn derive_key_iv(password: &str) -> (Key, Iv) {
[INFO] [stdout]    |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> ciphers/src/main.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn cbc_encrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> ciphers/src/main.rs:45:37
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn cbc_encrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> ciphers/src/main.rs:45:49
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn cbc_encrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> hash/src/main.rs:67:23
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn fixed_digest<D, R>(mut src: R) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                       ----^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> ciphers/src/main.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn cbc_decrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> ciphers/src/main.rs:53:37
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn cbc_decrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> ciphers/src/main.rs:53:49
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn cbc_decrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> ciphers/src/main.rs:60:29
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn ctr_encrypt_decrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> ciphers/src/main.rs:60:45
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn ctr_encrypt_decrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> ciphers/src/main.rs:60:57
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn ctr_encrypt_decrypt_file(password: &str, src: &Path, dst: &Path) -> io::Result<()> {
[INFO] [stdout]    |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]   --> ciphers/src/main.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn ecb_image_encrypt(image: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]   --> ciphers/src/main.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn cbc_image_encrypt(image: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> hash/src/main.rs:67:23
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn fixed_digest<D, R>(mut src: R) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> hash/src/main.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn var_digest<D, R>(mut src: R, length: usize) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> hash/src/main.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn var_digest<D, R>(mut src: R, length: usize) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> hash/src/main.rs:76:33
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn var_digest<D, R>(mut src: R, length: usize) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rustrush-pwhash` (bin "rustrush-pwhash") due to 1 previous error; 8 warnings emitted
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> hash/src/main.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn xof_digest<D, R>(mut src: R, length: usize) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> hash/src/main.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn xof_digest<D, R>(mut src: R, length: usize) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> hash/src/main.rs:85:33
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn xof_digest<D, R>(mut src: R, length: usize) -> io::Result<Vec<u8>>
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Aes128CbcPkcs7` is never used
[INFO] [stdout]   --> ciphers/src/main.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 | type Aes128CbcPkcs7 = Cbc<Aes128, Pkcs7>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Key` is never used
[INFO] [stdout]   --> ciphers/src/main.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Key = GenericArray<u8, U16>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Iv` is never used
[INFO] [stdout]   --> ciphers/src/main.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Iv = GenericArray<u8, U16>;
[INFO] [stdout]    |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `derive_key_iv` is never used
[INFO] [stdout]   --> ciphers/src/main.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn derive_key_iv(password: &str) -> (Key, Iv) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]  --> ciphers/src/cli.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(StructOpt)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout]   = note: this error originates in the derive macro `StructOpt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rustrush-pwhash` (bin "rustrush-pwhash" test) due to 1 previous error; 8 warnings emitted
[INFO] [stderr] error: could not compile `rustrush-ciphers` (bin "rustrush-ciphers" test) due to 1 previous error; 32 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "1efca2ef0211fc280a8fc634b55ad1631e98cdc02adc8288298831507d10c681", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1efca2ef0211fc280a8fc634b55ad1631e98cdc02adc8288298831507d10c681", kill_on_drop: false }`
[INFO] [stdout] 1efca2ef0211fc280a8fc634b55ad1631e98cdc02adc8288298831507d10c681
