[INFO] cloning repository https://github.com/zhanif3/701
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zhanif3/701" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhanif3%2F701", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhanif3%2F701'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 04144afb7cf245596996350a6d5f8fa6eed1b886
[INFO] checking zhanif3/701 against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhanif3%2F701" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/zhanif3/701 on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/zhanif3/701
[INFO] finished tweaking git repo https://github.com/zhanif3/701
[INFO] tweaked toml for git repo https://github.com/zhanif3/701 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/zhanif3/701 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rayon v1.0.3
[INFO] [stderr]   Downloaded rayon-core v1.4.1
[INFO] [stderr]   Downloaded tinytemplate v1.0.1
[INFO] [stderr]   Downloaded libc v0.2.53
[INFO] [stderr]   Downloaded bincode v1.1.3
[INFO] [stderr]   Downloaded bio v0.25.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 02e5a024b526857dc08ea1a7fb75c9cbe88a2c68bd14be93be4d738b3a90f036
[INFO] running `Command { std: "docker" "start" "-a" "02e5a024b526857dc08ea1a7fb75c9cbe88a2c68bd14be93be4d738b3a90f036", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "02e5a024b526857dc08ea1a7fb75c9cbe88a2c68bd14be93be4d738b3a90f036", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02e5a024b526857dc08ea1a7fb75c9cbe88a2c68bd14be93be4d738b3a90f036", kill_on_drop: false }`
[INFO] [stdout] 02e5a024b526857dc08ea1a7fb75c9cbe88a2c68bd14be93be4d738b3a90f036
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a2fad6bc752a3f37366dba2dbc760d4c295a0cbe1451676a642f6ffd052a54e8
[INFO] running `Command { std: "docker" "start" "-a" "a2fad6bc752a3f37366dba2dbc760d4c295a0cbe1451676a642f6ffd052a54e8", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.53
[INFO] [stderr]    Compiling proc-macro2 v0.4.28
[INFO] [stderr]    Compiling syn v0.15.33
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stderr]     Checking cfg-if v0.1.7
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]    Compiling num-complex v0.2.1
[INFO] [stderr]    Compiling feature-probe v0.1.1
[INFO] [stderr]    Compiling matrixmultiply v0.1.15
[INFO] [stderr]     Checking rawpointer v0.1.0
[INFO] [stderr]    Compiling ndarray v0.12.1
[INFO] [stderr]    Compiling rayon v1.0.3
[INFO] [stderr]     Checking crossbeam-utils v0.2.2
[INFO] [stderr]    Compiling bincode v1.1.3
[INFO] [stderr]    Compiling bv v0.10.0
[INFO] [stderr]     Checking crossbeam-epoch v0.3.1
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]     Checking itertools v0.7.11
[INFO] [stderr]     Checking bit-vec v0.5.1
[INFO] [stderr]    Compiling bio v0.25.0
[INFO] [stderr]     Checking itertools-num v0.1.3
[INFO] [stderr]     Checking ordered-float v1.0.2
[INFO] [stderr]     Checking crossbeam-deque v0.2.0
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking bytecount v0.3.2
[INFO] [stderr]     Checking custom_derive v0.1.7
[INFO] [stderr]     Checking itertools v0.8.0
[INFO] [stderr]    Compiling newtype_derive v0.1.6
[INFO] [stderr]     Checking cast v0.2.2
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking bit-set v0.5.1
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking rand_xoshiro v0.1.0
[INFO] [stderr]     Checking num_cpus v1.10.0
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking aho-corasick v0.7.3
[INFO] [stderr]     Checking csv-core v0.1.5
[INFO] [stderr]     Checking criterion-plot v0.3.1
[INFO] [stderr]     Checking regex v1.1.6
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking statrs v0.9.0
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stderr]     Checking csv v1.0.7
[INFO] [stderr]     Checking bio-types v0.5.1
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking multimap v0.4.0
[INFO] [stderr]     Checking serde_json v1.0.39
[INFO] [stderr]     Checking tinytemplate v1.0.1
[INFO] [stderr]     Checking criterion v0.2.11
[INFO] [stderr]     Checking bwt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::types::Suffix`
[INFO] [stdout]  --> src/common/search.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::types::Suffix;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::suffix_array`
[INFO] [stdout]  --> src/common/search.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::suffix_array;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/common/search.rs:36:31
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let offset_char = ((first_rows.first().unwrap().1).0);
[INFO] [stdout]    |                               ^                                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 36 -             let offset_char = ((first_rows.first().unwrap().1).0);
[INFO] [stdout] 36 +             let offset_char = (first_rows.first().unwrap().1).0;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::IntoParallelRefIterator`
[INFO] [stdout]  --> src/common/suffix_array.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rayon::iter::IntoParallelRefIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `Result`
[INFO] [stdout]   --> src/common/suffix_array.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{BufRead, BufReader, Result};
[INFO] [stdout]    |               ^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/common/suffix_array.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/common/suffix_array.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut s: Vec<(Suffix)> = (0 .. t.len()).map(|x: usize| {
[INFO] [stdout]    |                    ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 45 -     let mut s: Vec<(Suffix)> = (0 .. t.len()).map(|x: usize| {
[INFO] [stdout] 45 +     let mut s: Vec<Suffix> = (0 .. t.len()).map(|x: usize| {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules
[INFO] [stdout]  --> src/common/search.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::Suffix`
[INFO] [stdout]  --> src/common/search.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::types::Suffix;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::suffix_array`
[INFO] [stdout]  --> src/common/search.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::suffix_array;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/common/search.rs:36:31
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let offset_char = ((first_rows.first().unwrap().1).0);
[INFO] [stdout]    |                               ^                                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 36 -             let offset_char = ((first_rows.first().unwrap().1).0);
[INFO] [stdout] 36 +             let offset_char = (first_rows.first().unwrap().1).0;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::IntoParallelRefIterator`
[INFO] [stdout]  --> src/common/suffix_array.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rayon::iter::IntoParallelRefIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `Result`
[INFO] [stdout]   --> src/common/suffix_array.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{BufRead, BufReader, Result};
[INFO] [stdout]    |               ^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/common/suffix_array.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/common/suffix_array.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut s: Vec<(Suffix)> = (0 .. t.len()).map(|x: usize| {
[INFO] [stdout]    |                    ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 45 -     let mut s: Vec<(Suffix)> = (0 .. t.len()).map(|x: usize| {
[INFO] [stdout] 45 +     let mut s: Vec<Suffix> = (0 .. t.len()).map(|x: usize| {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules
[INFO] [stdout]  --> src/common/search.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/common/search.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut start: usize;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]   --> src/common/search.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut end: usize;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/common/search.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |             Some(x) => (),
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/common/search.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |                     Some(c) => (),
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]   --> src/common/suffix_array.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |         Ok(elapsed) => {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/common/suffix_array.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]   --> src/common/suffix_array.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Ok(elapsed) => {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/common/suffix_array.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/common/suffix_array.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     for i in 0 .. index.len() {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]    --> src/common/suffix_array.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 130 |         Ok(elapsed) => {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/common/suffix_array.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]    --> src/common/suffix_array.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 |         Ok(elapsed) => {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/common/suffix_array.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]    --> src/common/suffix_array.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 |         Ok(elapsed) => {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/common/suffix_array.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/common/search.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut start: usize;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]   --> src/common/search.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut end: usize;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/common/search.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |             Some(x) => (),
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/common/search.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |                     Some(c) => (),
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Counts` should have a snake case name
[INFO] [stdout]   --> src/common/search.rs:43:70
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn search(query: &str, zipped: &Vec<(&Nucleotide, &Nucleotide)>, Counts: &HashMap<u8, usize>) -> Option<(usize, usize)> {
[INFO] [stdout]    |                                                                      ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `counts`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Counts` should have a snake case name
[INFO] [stdout]    --> src/common/search.rs:103:68
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn get_pos_from_vec(rows: &Vec<&(&(char, usize), &(char, usize))>, Counts: &HashMap<u8, usize>) -> Option<(usize, usize)> {
[INFO] [stdout]     |                                                                    ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `counts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `L` should have a snake case name
[INFO] [stdout]   --> src/common/suffix_array.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub L: Vec<Nucleotide>,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `F` should have a snake case name
[INFO] [stdout]   --> src/common/suffix_array.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub F: Vec<Nucleotide>, // Character,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Index` should have a snake case name
[INFO] [stdout]   --> src/common/suffix_array.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub Index: HashMap<Nucleotide, Nucleotide>,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `FCounts` should have a snake case name
[INFO] [stdout]   --> src/common/suffix_array.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub FCounts: HashMap<u8, usize>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `fcounts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `F` should have a snake case name
[INFO] [stdout]    --> src/common/suffix_array.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let F: Vec<Nucleotide> = sa.iter().enumerate().map(|suffix| {
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/common/suffix_array.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let L: Vec<Nucleotide> = sa.iter().map(|suffix| {
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Index` should have a snake case name
[INFO] [stdout]    --> src/common/suffix_array.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let Index: HashMap<Nucleotide, Nucleotide> = (0 .. t.len()).into_par_iter().map(|i| {
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]   --> src/common/suffix_array.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |         Ok(elapsed) => {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/common/suffix_array.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]   --> src/common/suffix_array.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Ok(elapsed) => {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/common/suffix_array.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/common/suffix_array.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     for i in 0 .. index.len() {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]    --> src/common/suffix_array.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 130 |         Ok(elapsed) => {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/common/suffix_array.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]    --> src/common/suffix_array.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 |         Ok(elapsed) => {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/common/suffix_array.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]    --> src/common/suffix_array.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 |         Ok(elapsed) => {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/common/suffix_array.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_search_capabilities_partial` is never used
[INFO] [stdout]    --> src/common/search.rs:189:8
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn test_search_capabilities_partial() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Counts` should have a snake case name
[INFO] [stdout]   --> src/common/search.rs:43:70
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn search(query: &str, zipped: &Vec<(&Nucleotide, &Nucleotide)>, Counts: &HashMap<u8, usize>) -> Option<(usize, usize)> {
[INFO] [stdout]    |                                                                      ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `counts`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Counts` should have a snake case name
[INFO] [stdout]    --> src/common/search.rs:103:68
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn get_pos_from_vec(rows: &Vec<&(&(char, usize), &(char, usize))>, Counts: &HashMap<u8, usize>) -> Option<(usize, usize)> {
[INFO] [stdout]     |                                                                    ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `counts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]    --> src/common/search.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let T = "ABAABA$";
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]    --> src/common/search.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let T = "ABAABA$";
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]    --> src/common/search.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let T = "ABAABA$";
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]    --> src/common/search.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let T = "ABAABA$";
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]    --> src/common/search.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let T = "ABAABA$";
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]    --> src/common/search.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let T = "ABAABA$";
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `L` should have a snake case name
[INFO] [stdout]   --> src/common/suffix_array.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub L: Vec<Nucleotide>,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `F` should have a snake case name
[INFO] [stdout]   --> src/common/suffix_array.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub F: Vec<Nucleotide>, // Character,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Index` should have a snake case name
[INFO] [stdout]   --> src/common/suffix_array.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub Index: HashMap<Nucleotide, Nucleotide>,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `FCounts` should have a snake case name
[INFO] [stdout]   --> src/common/suffix_array.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub FCounts: HashMap<u8, usize>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `fcounts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `F` should have a snake case name
[INFO] [stdout]    --> src/common/suffix_array.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let F: Vec<Nucleotide> = sa.iter().enumerate().map(|suffix| {
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/common/suffix_array.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let L: Vec<Nucleotide> = sa.iter().map(|suffix| {
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Index` should have a snake case name
[INFO] [stdout]    --> src/common/suffix_array.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let Index: HashMap<Nucleotide, Nucleotide> = (0 .. t.len()).into_par_iter().map(|i| {
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]    --> src/common/suffix_array.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let T = "ABAABA$";
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]    --> src/common/suffix_array.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let T = "ABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABA$";
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 41 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/bin/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> src/bin/main.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Serialize, Deserialize};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/bin/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/bin/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::repeat`
[INFO] [stdout]   --> src/bin/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::iter::repeat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/bin/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/bin/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/bin/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoParallelRefMutIterator`
[INFO] [stdout]   --> src/bin/main.rs:20:44
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rayon::iter::{IntoParallelRefIterator, IntoParallelRefMutIterator};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/bin/main.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `original_string`
[INFO] [stdout]   --> src/bin/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let original_string = common::suffix_array::reverse_bwt(&lf.Index);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/bin/main.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let g = bincode::serialize_into(&mut lf_buffer, &lf);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix_strings`
[INFO] [stdout]    --> src/bin/main.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let suffix_strings: Vec<&str> = (positions.1).iter().map(|x| {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix_strings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/bin/main.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let T = file_contents.as_str();
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/bin/search_client.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/bin/search_client.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/bin/search_client.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/bin/search_client.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/bin/search_client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::repeat`
[INFO] [stdout]  --> src/bin/search_client.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::iter::repeat;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bin/search_client.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/bin/search_client.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/main.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     lf_buffer.flush();
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let _ = lf_buffer.flush();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/bin/search_client.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoParallelRefMutIterator`
[INFO] [stdout]   --> src/bin/search_client.rs:16:44
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rayon::iter::{IntoParallelRefIterator, IntoParallelRefMutIterator};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::repeat`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::iter::repeat;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/bin/all_in_one.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/bin/all_in_one.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/bin/all_in_one.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/bin/all_in_one.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]   --> src/bin/all_in_one.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::repeat`
[INFO] [stdout]   --> src/bin/all_in_one.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::iter::repeat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/bin/all_in_one.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/bin/all_in_one.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/bin/all_in_one.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/bin/all_in_one.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoParallelRefMutIterator`
[INFO] [stdout]   --> src/bin/all_in_one.rs:20:44
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rayon::iter::{IntoParallelRefIterator, IntoParallelRefMutIterator};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/bin/all_in_one.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoParallelRefMutIterator`
[INFO] [stdout]  --> src/benches/my_benchmark.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rayon::iter::{IntoParallelRefIterator, IntoParallelRefMutIterator};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/benches/my_benchmark.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/all_in_one.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/all_in_one.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `original_string`
[INFO] [stdout]   --> src/bin/all_in_one.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let original_string = common::suffix_array::reverse_bwt(&lf.Index);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/all_in_one.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/bin/search_client.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/bin/search_client.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/bin/search_client.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let T = file_contents.as_str();
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/bin/search_client.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/bin/search_client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::repeat`
[INFO] [stdout]  --> src/bin/search_client.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::iter::repeat;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bin/search_client.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/bin/search_client.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/bin/search_client.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoParallelRefMutIterator`
[INFO] [stdout]   --> src/bin/search_client.rs:16:44
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rayon::iter::{IntoParallelRefIterator, IntoParallelRefMutIterator};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/bin/all_in_one.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let T = file_contents.as_str();
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/search_client.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut lf_buffer = fs::read("lf.bincode")?;
[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: unused `#[macro_use]` import
[INFO] [stdout]  --> src/bin/bwt_rosalind.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/bin/bwt_rosalind.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::repeat`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::iter::repeat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntoParallelRefIterator`, `IntoParallelRefMutIterator`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rayon::iter::{IntoParallelRefIterator, IntoParallelRefMutIterator};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `SystemTime`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/search_client.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut lf_buffer = fs::read("lf.bincode")?;
[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: function `fibonacci` is never used
[INFO] [stdout]   --> src/benches/my_benchmark.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn fibonacci(n: u64) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `criterion_benchmark` is never used
[INFO] [stdout]   --> src/benches/my_benchmark.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn criterion_benchmark(c: &mut Criterion) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sa_benchmark` is never used
[INFO] [stdout]   --> src/benches/my_benchmark.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn sa_benchmark(c: &mut Criterion) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reverse_benchmark` is never used
[INFO] [stdout]   --> src/benches/my_benchmark.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn reverse_benchmark(c: &mut Criterion) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parallel_search_benchmark` is never used
[INFO] [stdout]   --> src/benches/my_benchmark.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn parallel_search_benchmark(c: &mut Criterion) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sarr_benchmark` is never used
[INFO] [stdout]    --> src/benches/my_benchmark.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn sarr_benchmark(c: &mut Criterion) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/bin/bwt_rosalind.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/bin/bwt_rosalind.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/benches/my_benchmark.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let T = file_contents.as_str();
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::repeat`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::iter::repeat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/benches/my_benchmark.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let T = file_contents.as_str();
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntoParallelRefIterator`, `IntoParallelRefMutIterator`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rayon::iter::{IntoParallelRefIterator, IntoParallelRefMutIterator};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `SystemTime`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/bin/all_in_one.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/bin/all_in_one.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/bin/all_in_one.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/bin/all_in_one.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]   --> src/bin/all_in_one.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::repeat`
[INFO] [stdout]   --> src/bin/all_in_one.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::iter::repeat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/bin/all_in_one.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/bin/all_in_one.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/bin/all_in_one.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/bin/all_in_one.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoParallelRefMutIterator`
[INFO] [stdout]   --> src/bin/all_in_one.rs:20:44
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rayon::iter::{IntoParallelRefIterator, IntoParallelRefMutIterator};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/bin/all_in_one.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::IndexedParallelIterator`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use rayon::iter::IndexedParallelIterator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::ParallelIterator`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use rayon::iter::ParallelIterator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     for i in 0 .. index.len() {
[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 `#[macro_use]` import
[INFO] [stdout]  --> src/bin/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> src/bin/main.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Serialize, Deserialize};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/bin/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/bin/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::repeat`
[INFO] [stdout]   --> src/bin/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::iter::repeat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/bin/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/bin/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/bin/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoParallelRefMutIterator`
[INFO] [stdout]   --> src/bin/main.rs:20:44
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rayon::iter::{IntoParallelRefIterator, IntoParallelRefMutIterator};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/bin/main.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_char`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let final_char = stripped.chars().last().expect("Something went wrong when getting the last character. Does the file have contents?");
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_char`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut stripped = contents.replace('\n', "");
[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: unused import: `rayon::iter::IndexedParallelIterator`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use rayon::iter::IndexedParallelIterator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::ParallelIterator`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use rayon::iter::ParallelIterator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/all_in_one.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/all_in_one.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `original_string`
[INFO] [stdout]   --> src/bin/all_in_one.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let original_string = common::suffix_array::reverse_bwt(&lf.Index);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/all_in_one.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:70:19
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn generate_l(T: &str) -> Vec<Nuc> {
[INFO] [stdout]    |                   ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let L: Vec<Nucleotide> = T.as_bytes().iter().map(|c| {
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn generate_f(T: &str) -> Vec<Nuc> {
[INFO] [stdout]    |                   ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `F` should have a snake case name
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let mut F: Vec<Nucleotide> = T.as_bytes().iter().map(|c| {
[INFO] [stdout]    |             ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]    --> src/bin/bwt_rosalind.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let T = file_contents.as_str();
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/bin/bwt_rosalind.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let L = generate_l(&T);
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `F` should have a snake case name
[INFO] [stdout]    --> src/bin/bwt_rosalind.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let F = generate_f(&T);
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Index` should have a snake case name
[INFO] [stdout]    --> src/bin/bwt_rosalind.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let Index: HashMap<Nucleotide, Nucleotide> = (0..T.len()).map(|i| {
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::repeat`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::iter::repeat;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     for i in 0 .. index.len() {
[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 import: `std::collections::HashSet`
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/bin/all_in_one.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let T = file_contents.as_str();
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_char`
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let final_char = stripped.chars().last().expect("Something went wrong when getting the last character. Does the file have contents?");
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_char`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut stripped = contents.replace('\n', "");
[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: 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules
[INFO] [stdout]  --> src/bin/comparative_benchmark.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:70:19
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn generate_l(T: &str) -> Vec<Nuc> {
[INFO] [stdout]    |                   ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let L: Vec<Nucleotide> = T.as_bytes().iter().map(|c| {
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn generate_f(T: &str) -> Vec<Nuc> {
[INFO] [stdout]    |                   ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `F` should have a snake case name
[INFO] [stdout]   --> src/bin/bwt_rosalind.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let mut F: Vec<Nucleotide> = T.as_bytes().iter().map(|c| {
[INFO] [stdout]    |             ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]    --> src/bin/bwt_rosalind.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let T = file_contents.as_str();
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/bin/bwt_rosalind.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let L = generate_l(&T);
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `F` should have a snake case name
[INFO] [stdout]    --> src/bin/bwt_rosalind.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let F = generate_f(&T);
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Index` should have a snake case name
[INFO] [stdout]    --> src/bin/bwt_rosalind.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let Index: HashMap<Nucleotide, Nucleotide> = (0..T.len()).map(|i| {
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ROSALIND_TEST_TRUE` should have a snake case name
[INFO] [stdout]    --> src/bin/bwt_rosalind.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn ROSALIND_TEST_TRUE() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rosalind_test_true`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]    --> src/bin/bwt_rosalind.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let T = "TTCCTAACG$A";
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/bin/bwt_rosalind.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let L = generate_l(&T);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `F` should have a snake case name
[INFO] [stdout]    --> src/bin/bwt_rosalind.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let F = generate_f(&T);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Index` should have a snake case name
[INFO] [stdout]    --> src/bin/bwt_rosalind.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let Index: HashMap<Nucleotide, Nucleotide> = (0..T.len()).map(|i| {
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `original_string`
[INFO] [stdout]   --> src/bin/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let original_string = common::suffix_array::reverse_bwt(&lf.Index);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/bin/main.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let g = bincode::serialize_into(&mut lf_buffer, &lf);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix_strings`
[INFO] [stdout]    --> src/bin/main.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let suffix_strings: Vec<&str> = (positions.1).iter().map(|x| {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix_strings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/bin/comparative_benchmark.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let T = file_contents.as_str();
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/bin/main.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let T = file_contents.as_str();
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/main.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     lf_buffer.flush();
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let _ = lf_buffer.flush();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 17.98s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.2.11
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] running `Command { std: "docker" "inspect" "a2fad6bc752a3f37366dba2dbc760d4c295a0cbe1451676a642f6ffd052a54e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a2fad6bc752a3f37366dba2dbc760d4c295a0cbe1451676a642f6ffd052a54e8", kill_on_drop: false }`
[INFO] [stdout] a2fad6bc752a3f37366dba2dbc760d4c295a0cbe1451676a642f6ffd052a54e8
