[INFO] cloning repository https://github.com/Number16BusShelter/BitBrutal
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Number16BusShelter/BitBrutal" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNumber16BusShelter%2FBitBrutal", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNumber16BusShelter%2FBitBrutal'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bc1f0a1c62783a7ae2106cf374df6ef021ef82dd
[INFO] checking Number16BusShelter/BitBrutal against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNumber16BusShelter%2FBitBrutal" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Number16BusShelter/BitBrutal
[INFO] finished tweaking git repo https://github.com/Number16BusShelter/BitBrutal
[INFO] tweaked toml for git repo https://github.com/Number16BusShelter/BitBrutal written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Number16BusShelter/BitBrutal on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Number16BusShelter/BitBrutal already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded crossbeam v0.8.2
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.3
[INFO] [stderr]   Downloaded sha2 v0.10.7
[INFO] [stderr]   Downloaded anstyle-wincon v1.0.1
[INFO] [stderr]   Downloaded block-cipher v0.99.99
[INFO] [stderr]   Downloaded clap_derive v4.3.12
[INFO] [stderr]   Downloaded anstream v0.3.2
[INFO] [stderr]   Downloaded rayon-core v1.11.0
[INFO] [stderr]   Downloaded portable-atomic v1.4.2
[INFO] [stderr]   Downloaded clap v4.3.19
[INFO] [stderr]   Downloaded rayon v1.7.0
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.8
[INFO] [stderr]   Downloaded openssl-sys v0.9.93
[INFO] [stderr]   Downloaded anstyle-parse v0.2.1
[INFO] [stderr]   Downloaded anstyle v1.0.1
[INFO] [stderr]   Downloaded aes v0.8.3
[INFO] [stderr]   Downloaded rustix v0.38.4
[INFO] [stderr]   Downloaded clap_builder v4.3.19
[INFO] [stderr]   Downloaded clap_lex v0.5.0
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.15
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.3
[INFO] [stderr]   Downloaded openssl-src v300.1.3+3.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 813d98de6f3e295f264296830ced339343d182e70c4becbfd60138f084ac70f2
[INFO] running `Command { std: "docker" "start" "-a" "813d98de6f3e295f264296830ced339343d182e70c4becbfd60138f084ac70f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "813d98de6f3e295f264296830ced339343d182e70c4becbfd60138f084ac70f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "813d98de6f3e295f264296830ced339343d182e70c4becbfd60138f084ac70f2", kill_on_drop: false }`
[INFO] [stdout] 813d98de6f3e295f264296830ced339343d182e70c4becbfd60138f084ac70f2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9ab41348b81fd35485808b8a99ccf77cd6bd8624ec5655df063d2e80ce8adb13
[INFO] running `Command { std: "docker" "start" "-a" "9ab41348b81fd35485808b8a99ccf77cd6bd8624ec5655df063d2e80ce8adb13", kill_on_drop: false }`
[INFO] [stderr] warning: BitBrutal v0.1.2 (/opt/rustwide/workdir) ignoring invalid dependency `block-cipher` which is missing a lib target
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling rustix v0.38.4
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]     Checking bitflags v2.3.3
[INFO] [stderr]     Checking linux-raw-sys v0.4.3
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]     Checking anstyle-parse v0.2.1
[INFO] [stderr]    Compiling portable-atomic v1.4.2
[INFO] [stderr]    Compiling crossbeam-queue v0.3.8
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]     Checking anstyle v1.0.1
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling openssl v0.10.55
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking clap_lex v0.5.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking cpufeatures v0.2.9
[INFO] [stderr]     Checking console v0.15.7
[INFO] [stderr]     Checking crossbeam-channel v0.5.8
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]    Compiling openssl-src v300.1.3+3.1.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]    Compiling openssl-sys v0.9.93
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking crossbeam v0.8.2
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]     Checking indicatif v0.17.5
[INFO] [stderr]    Compiling syn v2.0.27
[INFO] [stderr]     Checking rayon v1.7.0
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking anstream v0.3.2
[INFO] [stderr]     Checking colored v2.0.4
[INFO] [stderr]     Checking clap_builder v4.3.19
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking aes v0.8.3
[INFO] [stderr]     Checking sha2 v0.10.7
[INFO] [stderr]    Compiling clap_derive v4.3.12
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking clap v4.3.19
[INFO] [stderr]     Checking BitBrutal v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `controller::CheckFn`
[INFO] [stdout]  --> src/main.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core::{controller::CheckFn};
[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: `core::hash::ring::check as ring`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use core::hash::ring::check as ring;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::hash::aes::check as aes`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use core::hash::aes::check as aes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `VecDeque`
[INFO] [stdout]   --> src/main.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::{HashMap, VecDeque};
[INFO] [stdout]    |                        ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clap::Parser`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use clap::Parser;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::components::HashComponents`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::core::components::HashComponents;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `controller::CheckFn`
[INFO] [stdout]  --> src/main.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core::{controller::CheckFn};
[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: `core::hash::ring::check as ring`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use core::hash::ring::check as ring;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::hash::aes::check as aes`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use core::hash::aes::check as aes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `VecDeque`
[INFO] [stdout]   --> src/main.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::{HashMap, VecDeque};
[INFO] [stdout]    |                        ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clap::Parser`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use clap::Parser;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::components::HashComponents`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::core::components::HashComponents;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]  --> src/core/controller.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::OpenOptions;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs::OpenOptions` and `io::Write`
[INFO] [stdout]  --> src/core/dict_generator.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::OpenOptions, io::Write};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `indicatif::ProgressBar`
[INFO] [stdout]  --> src/core/dict_generator.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use indicatif::ProgressBar;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/core/dict_generator.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cli`
[INFO] [stdout]  --> src/core/dict_generator.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::cli;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]    --> src/core/dict_generator.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     use itertools::Itertools;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `builder::PossibleValue`
[INFO] [stdout]  --> src/cli/cli.rs:1:49
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::{Command, Arg, ArgMatches, ArgAction, builder::PossibleValue};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cmp::min`
[INFO] [stdout]  --> src/cli/progress_bar.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cmp::min, fmt::Write};
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `arg` and `command`
[INFO] [stdout]  --> src/cli/cli_copy.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use clap::{ArgAction, arg, command};
[INFO] [stdout]   |                       ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]  --> src/core/controller.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::OpenOptions;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs::OpenOptions` and `io::Write`
[INFO] [stdout]  --> src/core/dict_generator.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::OpenOptions, io::Write};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `indicatif::ProgressBar`
[INFO] [stdout]  --> src/core/dict_generator.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use indicatif::ProgressBar;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/core/dict_generator.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cli`
[INFO] [stdout]  --> src/core/dict_generator.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::cli;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]    --> src/core/dict_generator.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     use itertools::Itertools;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `builder::PossibleValue`
[INFO] [stdout]  --> src/cli/cli.rs:1:49
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::{Command, Arg, ArgMatches, ArgAction, builder::PossibleValue};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cmp::min`
[INFO] [stdout]  --> src/cli/progress_bar.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cmp::min, fmt::Write};
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `arg` and `command`
[INFO] [stdout]  --> src/cli/cli_copy.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use clap::{ArgAction, arg, command};
[INFO] [stdout]   |                       ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/core/combinations.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut combination: String = self.counter.iter()
[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: `success_file`
[INFO] [stdout]   --> src/core/controller.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     success_file: &str,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_success_file`
[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]    --> src/core/dict_generator.rs:249:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |         mut phrase: &str,
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core/dict_generator.rs:275:17
[INFO] [stdout]     |
[INFO] [stdout] 275 |             let mut counter = 0;
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `counter`
[INFO] [stdout]    --> src/core/dict_generator.rs:275:17
[INFO] [stdout]     |
[INFO] [stdout] 275 |             let mut counter = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/core/combinations.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut combination: String = self.counter.iter()
[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: `success_file`
[INFO] [stdout]   --> src/core/controller.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     success_file: &str,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_success_file`
[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]    --> src/core/dict_generator.rs:249:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |         mut phrase: &str,
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core/dict_generator.rs:275:17
[INFO] [stdout]     |
[INFO] [stdout] 275 |             let mut counter = 0;
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `counter`
[INFO] [stdout]    --> src/core/dict_generator.rs:275:17
[INFO] [stdout]     |
[INFO] [stdout] 275 |             let mut counter = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/cli/cli_copy.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             name 
[INFO] [stdout]     |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/cli/cli_copy.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |             name 
[INFO] [stdout]     |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/cli/cli_copy.rs:284:13
[INFO] [stdout]     |
[INFO] [stdout] 284 |             name 
[INFO] [stdout]     |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/cli/cli_copy.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             name, 
[INFO] [stdout]     |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_sha512` is never used
[INFO] [stdout]   --> src/core/hash/aes.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn calculate_sha512(data: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_with_pkcs7_unpadding` is never used
[INFO] [stdout]   --> src/core/hash/aes.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn decrypt_with_pkcs7_unpadding(cipher: Cipher, key: &[u8], iv: Option<&[u8]>, data: &[u8]) -> Result<Vec<u8>, openssl::error::Error...
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/core/hash/aes.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn check<'a>(passphrase: &str, components: &HashComponents) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_sha512` is never used
[INFO] [stdout]  --> src/core/hash/ring.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn calculate_sha512(data: &[u8]) -> Vec<u8> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_with_pkcs7_unpadding` is never used
[INFO] [stdout]   --> src/core/hash/ring.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn decrypt_with_pkcs7_unpadding(cipher: Cipher, key: &[u8], iv: Option<&[u8]>, data: &[u8]) -> Result<Vec<u8>, openssl::error::Error...
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/core/hash/ring.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn check<'a>(passphrase: &str, components: &HashComponents) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CombinationGenerator` is never constructed
[INFO] [stdout]  --> src/core/combinations.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct CombinationGenerator {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, `increment_counter`, and `save_state` are never used
[INFO] [stdout]   --> src/core/combinations.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl CombinationGenerator {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(alphabet: &str, max_length: usize, state_file: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn next(&mut self) -> Option<String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn increment_counter(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn save_state(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CheckFn` is never used
[INFO] [stdout]   --> src/core/controller.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type CheckFn = fn(&str, &HashComponents) -> bool;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_combinations` is never used
[INFO] [stdout]   --> src/core/controller.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn process_combinations(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HashComponents` is never constructed
[INFO] [stdout]  --> src/core/components.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct HashComponents {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/core/components.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl HashComponents {
[INFO] [stdout]   | ------------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(input: &str) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `banner` is never used
[INFO] [stdout]  --> src/cli/cli.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn banner() {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cli_command_mutations` is never used
[INFO] [stdout]   --> src/cli/cli.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn cli_command_mutations() -> Command {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cli_command_rearrange` is never used
[INFO] [stdout]   --> src/cli/cli.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn cli_command_rearrange() -> Command {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cli_command_test_dict` is never used
[INFO] [stdout]   --> src/cli/cli.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn cli_command_test_dict() -> Command {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cli_command_substring` is never used
[INFO] [stdout]   --> src/cli/cli.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn cli_command_substring() -> Command {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main_cli_app` is never used
[INFO] [stdout]   --> src/cli/cli.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn main_cli_app() -> Command  {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_matches` is never used
[INFO] [stdout]    --> src/cli/cli.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn get_matches() -> ArgMatches {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Error` and `Success` are never constructed
[INFO] [stdout]  --> src/cli/messages.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Type {
[INFO] [stdout]   |          ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |     Error,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 8 |     Info,
[INFO] [stdout] 9 |     Success,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip` is never used
[INFO] [stdout]   --> src/cli/messages.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn skip(message: &str) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `warn` is never used
[INFO] [stdout]   --> src/cli/messages.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn warn(message: &str) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `error` is never used
[INFO] [stdout]   --> src/cli/messages.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn error(message: &str) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sussess` is never used
[INFO] [stdout]   --> src/cli/messages.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn sussess(message: &str) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/core/components.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let parts: Vec<&str> = input.clone().split('$').collect();
[INFO] [stdout]    |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/cli/cli_copy.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             name 
[INFO] [stdout]     |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/cli/cli_copy.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |             name 
[INFO] [stdout]     |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/cli/cli_copy.rs:284:13
[INFO] [stdout]     |
[INFO] [stdout] 284 |             name 
[INFO] [stdout]     |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/cli/cli_copy.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             name, 
[INFO] [stdout]     |             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_sha512` is never used
[INFO] [stdout]   --> src/core/hash/aes.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn calculate_sha512(data: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_with_pkcs7_unpadding` is never used
[INFO] [stdout]   --> src/core/hash/aes.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn decrypt_with_pkcs7_unpadding(cipher: Cipher, key: &[u8], iv: Option<&[u8]>, data: &[u8]) -> Result<Vec<u8>, openssl::error::Error...
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/core/hash/aes.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn check<'a>(passphrase: &str, components: &HashComponents) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_sha512` is never used
[INFO] [stdout]  --> src/core/hash/ring.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn calculate_sha512(data: &[u8]) -> Vec<u8> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_with_pkcs7_unpadding` is never used
[INFO] [stdout]   --> src/core/hash/ring.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn decrypt_with_pkcs7_unpadding(cipher: Cipher, key: &[u8], iv: Option<&[u8]>, data: &[u8]) -> Result<Vec<u8>, openssl::error::Error...
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/core/hash/ring.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn check<'a>(passphrase: &str, components: &HashComponents) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CombinationGenerator` is never constructed
[INFO] [stdout]  --> src/core/combinations.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct CombinationGenerator {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, `increment_counter`, and `save_state` are never used
[INFO] [stdout]   --> src/core/combinations.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl CombinationGenerator {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(alphabet: &str, max_length: usize, state_file: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn next(&mut self) -> Option<String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn increment_counter(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn save_state(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CheckFn` is never used
[INFO] [stdout]   --> src/core/controller.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type CheckFn = fn(&str, &HashComponents) -> bool;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_combinations` is never used
[INFO] [stdout]   --> src/core/controller.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn process_combinations(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HashComponents` is never constructed
[INFO] [stdout]  --> src/core/components.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct HashComponents {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/core/components.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl HashComponents {
[INFO] [stdout]   | ------------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(input: &str) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `banner` is never used
[INFO] [stdout]  --> src/cli/cli.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn banner() {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cli_command_mutations` is never used
[INFO] [stdout]   --> src/cli/cli.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn cli_command_mutations() -> Command {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cli_command_rearrange` is never used
[INFO] [stdout]   --> src/cli/cli.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn cli_command_rearrange() -> Command {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cli_command_test_dict` is never used
[INFO] [stdout]   --> src/cli/cli.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn cli_command_test_dict() -> Command {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cli_command_substring` is never used
[INFO] [stdout]   --> src/cli/cli.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn cli_command_substring() -> Command {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main_cli_app` is never used
[INFO] [stdout]   --> src/cli/cli.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn main_cli_app() -> Command  {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_matches` is never used
[INFO] [stdout]    --> src/cli/cli.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn get_matches() -> ArgMatches {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Error` and `Success` are never constructed
[INFO] [stdout]  --> src/cli/messages.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Type {
[INFO] [stdout]   |          ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |     Error,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 8 |     Info,
[INFO] [stdout] 9 |     Success,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip` is never used
[INFO] [stdout]   --> src/cli/messages.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn skip(message: &str) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `warn` is never used
[INFO] [stdout]   --> src/cli/messages.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn warn(message: &str) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `error` is never used
[INFO] [stdout]   --> src/cli/messages.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn error(message: &str) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sussess` is never used
[INFO] [stdout]   --> src/cli/messages.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn sussess(message: &str) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/core/components.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let parts: Vec<&str> = input.clone().split('$').collect();
[INFO] [stdout]    |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/rearrange.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |                 permute(chars, start + 1, end, output_file, file);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 13 |                 let _ = permute(chars, start + 1, end, output_file, file);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/cli/cli_copy.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |             generate_substrings(p, o);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 277 |             let _ = generate_substrings(p, o);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/cli/cli_copy.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 |             rearrange(p, o);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 305 |             let _ = rearrange(p, o);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/rearrange.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |                 permute(chars, start + 1, end, output_file, file);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 13 |                 let _ = permute(chars, start + 1, end, output_file, file);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/cli/cli_copy.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |             generate_substrings(p, o);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 277 |             let _ = generate_substrings(p, o);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/cli/cli_copy.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 |             rearrange(p, o);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 305 |             let _ = rearrange(p, o);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 01s
[INFO] running `Command { std: "docker" "inspect" "9ab41348b81fd35485808b8a99ccf77cd6bd8624ec5655df063d2e80ce8adb13", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9ab41348b81fd35485808b8a99ccf77cd6bd8624ec5655df063d2e80ce8adb13", kill_on_drop: false }`
[INFO] [stdout] 9ab41348b81fd35485808b8a99ccf77cd6bd8624ec5655df063d2e80ce8adb13
