[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] testing zhanif3/701 against beta-2021-08-01 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhanif3%2F701" "/workspace/builds/worker-7/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/zhanif3/701 on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "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-7/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: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bit-set v0.5.1
[INFO] [stderr]   Downloaded bv v0.10.0
[INFO] [stderr]   Downloaded newtype_derive v0.1.6
[INFO] [stderr]   Downloaded bincode v1.1.3
[INFO] [stderr]   Downloaded itertools-num v0.1.3
[INFO] [stderr]   Downloaded bio-types v0.5.1
[INFO] [stderr]   Downloaded num-complex v0.2.1
[INFO] [stderr]   Downloaded ndarray v0.12.1
[INFO] [stderr]   Downloaded feature-probe v0.1.1
[INFO] [stderr]   Downloaded itertools v0.7.11
[INFO] [stderr]   Downloaded statrs v0.9.0
[INFO] [stderr]   Downloaded bio v0.25.0
[INFO] [stderr]   Downloaded bytecount v0.3.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 74f0a073a36c36ea254eed192b4b3c9264108753399803d3241fc0a97ebe7b99
[INFO] running `Command { std: "docker" "start" "-a" "74f0a073a36c36ea254eed192b4b3c9264108753399803d3241fc0a97ebe7b99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "74f0a073a36c36ea254eed192b4b3c9264108753399803d3241fc0a97ebe7b99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74f0a073a36c36ea254eed192b4b3c9264108753399803d3241fc0a97ebe7b99", kill_on_drop: false }`
[INFO] [stdout] 74f0a073a36c36ea254eed192b4b3c9264108753399803d3241fc0a97ebe7b99
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c4965cd709ee11801a6aa75b5dc880392333d710a2a1b5224a23cbbf39858648
[INFO] running `Command { std: "docker" "start" "-a" "c4965cd709ee11801a6aa75b5dc880392333d710a2a1b5224a23cbbf39858648", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling libc v0.2.53
[INFO] [stderr]    Compiling proc-macro2 v0.4.28
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v0.15.33
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling cfg-if v0.1.7
[INFO] [stderr]    Compiling nodrop v0.1.13
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling scopeguard v0.3.3
[INFO] [stderr]    Compiling ucd-util v0.1.3
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stderr]    Compiling feature-probe v0.1.1
[INFO] [stderr]    Compiling regex v1.1.6
[INFO] [stderr]    Compiling memoffset v0.2.1
[INFO] [stderr]    Compiling either v1.5.2
[INFO] [stderr]    Compiling matrixmultiply v0.1.15
[INFO] [stderr]    Compiling num-complex v0.2.1
[INFO] [stderr]    Compiling ndarray v0.12.1
[INFO] [stderr]    Compiling rawpointer v0.1.0
[INFO] [stderr]    Compiling autocfg v0.1.2
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling itoa v0.4.3
[INFO] [stderr]    Compiling bio v0.25.0
[INFO] [stderr]    Compiling quick-error v1.2.2
[INFO] [stderr]    Compiling bit-vec v0.5.1
[INFO] [stderr]    Compiling rayon v1.0.3
[INFO] [stderr]    Compiling bytecount v0.3.2
[INFO] [stderr]    Compiling custom_derive v0.1.7
[INFO] [stderr]    Compiling regex-syntax v0.6.6
[INFO] [stderr]    Compiling crossbeam-utils v0.2.2
[INFO] [stderr]    Compiling bit-set v0.5.1
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]    Compiling itertools v0.7.11
[INFO] [stderr]    Compiling bincode v1.1.3
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling bv v0.10.0
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling num_cpus v1.10.0
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling aho-corasick v0.7.3
[INFO] [stderr]    Compiling csv-core v0.1.5
[INFO] [stderr]    Compiling newtype_derive v0.1.6
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling approx v0.3.2
[INFO] [stderr]    Compiling itertools-num v0.1.3
[INFO] [stderr]    Compiling ordered-float v1.0.2
[INFO] [stderr]    Compiling statrs v0.9.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.3.1
[INFO] [stderr]    Compiling crossbeam-deque v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stderr]    Compiling csv v1.0.7
[INFO] [stderr]    Compiling bio-types v0.5.1
[INFO] [stderr]    Compiling vec_map v0.8.1
[INFO] [stderr]    Compiling multimap v0.4.0
[INFO] [stderr]    Compiling 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]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[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]    |                    ^^^^^^^^ help: remove these parentheses
[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 attribute
[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: 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 `#[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 `#[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/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::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::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::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::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 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 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 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 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: 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 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: 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: 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 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 `#[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 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 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: `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 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: 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: 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 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: unused attribute
[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/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: 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: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 21 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: 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 39.87s
[INFO] running `Command { std: "docker" "inspect" "c4965cd709ee11801a6aa75b5dc880392333d710a2a1b5224a23cbbf39858648", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4965cd709ee11801a6aa75b5dc880392333d710a2a1b5224a23cbbf39858648", kill_on_drop: false }`
[INFO] [stdout] c4965cd709ee11801a6aa75b5dc880392333d710a2a1b5224a23cbbf39858648
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5e177fd9894fa25e187d41587260125bb1349d83b9650e37c7aa8902013d0d8d
[INFO] running `Command { std: "docker" "start" "-a" "5e177fd9894fa25e187d41587260125bb1349d83b9650e37c7aa8902013d0d8d", kill_on_drop: false }`
[INFO] [stderr]    Compiling rand_core v0.4.0
[INFO] [stderr]    Compiling cast v0.2.2
[INFO] [stderr]    Compiling itertools v0.8.0
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling walkdir v2.2.7
[INFO] [stderr]    Compiling atty v0.2.11
[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]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[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]    |                    ^^^^^^^^ help: remove these parentheses
[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] [stderr]    Compiling serde_json v1.0.39
[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 attribute
[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: 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] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling clap v2.33.0
[INFO] [stderr]    Compiling rand_xoshiro v0.1.0
[INFO] [stderr]    Compiling criterion-plot v0.3.1
[INFO] [stderr]    Compiling tinytemplate v1.0.1
[INFO] [stderr]    Compiling criterion v0.2.11
[INFO] [stderr]    Compiling bwt v0.1.0 (/opt/rustwide/workdir)
[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 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/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: `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: `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: `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: 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: 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]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[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 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: `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: 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]    |                    ^^^^^^^^ help: remove these parentheses
[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: `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 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/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: `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 attribute
[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 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: `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: 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: 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 `#[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 `#[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 `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: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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 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`
[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/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::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/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::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/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::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::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/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::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/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::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/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::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: `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/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: `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 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/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: 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 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: function is never used: `test_search_capabilities_partial`
[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: unused attribute
[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: 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: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[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] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 41 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 13.61s
[INFO] running `Command { std: "docker" "inspect" "5e177fd9894fa25e187d41587260125bb1349d83b9650e37c7aa8902013d0d8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e177fd9894fa25e187d41587260125bb1349d83b9650e37c7aa8902013d0d8d", kill_on_drop: false }`
[INFO] [stdout] 5e177fd9894fa25e187d41587260125bb1349d83b9650e37c7aa8902013d0d8d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d58c8721bde48e9d23a16fcb7e2d551903fe1859e8313595ddbefe6c25ba0480
[INFO] running `Command { std: "docker" "start" "-a" "d58c8721bde48e9d23a16fcb7e2d551903fe1859e8313595ddbefe6c25ba0480", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr] warning: unused import: `crate::types::Suffix`
[INFO] [stderr]  --> src/common/search.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::types::Suffix;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::suffix_array`
[INFO] [stderr]  --> src/common/search.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::suffix_array;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/common/search.rs:36:31
[INFO] [stderr]    |
[INFO] [stderr] 36 |             let offset_char = ((first_rows.first().unwrap().1).0);
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rayon::iter::IntoParallelRefIterator`
[INFO] [stderr]  --> src/common/suffix_array.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rayon::iter::IntoParallelRefIterator;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, `Result`
[INFO] [stderr]   --> src/common/suffix_array.rs:12:15
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::io::{BufRead, BufReader, Result};
[INFO] [stderr]    |               ^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]   --> src/common/suffix_array.rs:14:17
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::time::{Duration, SystemTime};
[INFO] [stderr]    |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/common/suffix_array.rs:45:20
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let mut s: Vec<(Suffix)> = (0 .. t.len()).map(|x: usize| {
[INFO] [stderr]    |                    ^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start`
[INFO] [stderr]   --> src/common/search.rs:45:13
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let mut start: usize;
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `end`
[INFO] [stderr]   --> src/common/search.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |     let mut end: usize;
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/common/search.rs:58:18
[INFO] [stderr]    |
[INFO] [stderr] 58 |             Some(x) => (),
[INFO] [stderr]    |                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]   --> src/common/search.rs:64:26
[INFO] [stderr]    |
[INFO] [stderr] 64 |                     Some(c) => (),
[INFO] [stderr]    |                          ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elapsed`
[INFO] [stderr]   --> src/common/suffix_array.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 49 |         Ok(elapsed) => {
[INFO] [stderr]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/common/suffix_array.rs:53:13
[INFO] [stderr]    |
[INFO] [stderr] 53 |         Err(e) => {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elapsed`
[INFO] [stderr]   --> src/common/suffix_array.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 |         Ok(elapsed) => {
[INFO] [stderr]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/common/suffix_array.rs:67:13
[INFO] [stderr]    |
[INFO] [stderr] 67 |         Err(e) => {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/common/suffix_array.rs:82:9
[INFO] [stderr]    |
[INFO] [stderr] 82 |     for i in 0 .. index.len() {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elapsed`
[INFO] [stderr]    --> src/common/suffix_array.rs:130:12
[INFO] [stderr]     |
[INFO] [stderr] 130 |         Ok(elapsed) => {
[INFO] [stderr]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/common/suffix_array.rs:134:13
[INFO] [stderr]     |
[INFO] [stderr] 134 |         Err(e) => {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elapsed`
[INFO] [stderr]    --> src/common/suffix_array.rs:154:12
[INFO] [stderr]     |
[INFO] [stderr] 154 |         Ok(elapsed) => {
[INFO] [stderr]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/common/suffix_array.rs:158:13
[INFO] [stderr]     |
[INFO] [stderr] 158 |         Err(e) => {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elapsed`
[INFO] [stderr]    --> src/common/suffix_array.rs:169:12
[INFO] [stderr]     |
[INFO] [stderr] 169 |         Ok(elapsed) => {
[INFO] [stderr]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/common/suffix_array.rs:173:13
[INFO] [stderr]     |
[INFO] [stderr] 173 |         Err(e) => {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused attribute
[INFO] [stderr]  --> src/common/search.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Counts` should have a snake case name
[INFO] [stderr]   --> src/common/search.rs:43:70
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub fn search(query: &str, zipped: &Vec<(&Nucleotide, &Nucleotide)>, Counts: &HashMap<u8, usize>) -> Option<(usize, usize)> {
[INFO] [stderr]    |                                                                      ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `counts`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Counts` should have a snake case name
[INFO] [stderr]    --> src/common/search.rs:103:68
[INFO] [stderr]     |
[INFO] [stderr] 103 | fn get_pos_from_vec(rows: &Vec<&(&(char, usize), &(char, usize))>, Counts: &HashMap<u8, usize>) -> Option<(usize, usize)> {
[INFO] [stderr]     |                                                                    ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `counts`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `L` should have a snake case name
[INFO] [stderr]   --> src/common/suffix_array.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 20 |     pub L: Vec<Nucleotide>,
[INFO] [stderr]    |         ^ help: convert the identifier to snake case: `l`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `F` should have a snake case name
[INFO] [stderr]   --> src/common/suffix_array.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub F: Vec<Nucleotide>, // Character,
[INFO] [stderr]    |         ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Index` should have a snake case name
[INFO] [stderr]   --> src/common/suffix_array.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub Index: HashMap<Nucleotide, Nucleotide>,
[INFO] [stderr]    |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `index`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `FCounts` should have a snake case name
[INFO] [stderr]   --> src/common/suffix_array.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub FCounts: HashMap<u8, usize>,
[INFO] [stderr]    |         ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `fcounts`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `F` should have a snake case name
[INFO] [stderr]    --> src/common/suffix_array.rs:121:9
[INFO] [stderr]     |
[INFO] [stderr] 121 |     let F: Vec<Nucleotide> = sa.iter().enumerate().map(|suffix| {
[INFO] [stderr]     |         ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `L` should have a snake case name
[INFO] [stderr]    --> src/common/suffix_array.rs:141:9
[INFO] [stderr]     |
[INFO] [stderr] 141 |     let L: Vec<Nucleotide> = sa.iter().map(|suffix| {
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Index` should have a snake case name
[INFO] [stderr]    --> src/common/suffix_array.rs:165:9
[INFO] [stderr]     |
[INFO] [stderr] 165 |     let Index: HashMap<Nucleotide, Nucleotide> = (0 .. t.len()).into_par_iter().map(|i| {
[INFO] [stderr]     |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `index`
[INFO] [stderr] 
[INFO] [stderr] warning: `bwt` (lib) generated 32 warnings
[INFO] [stderr] warning: function is never used: `test_search_capabilities_partial`
[INFO] [stderr]    --> src/common/search.rs:189:8
[INFO] [stderr]     |
[INFO] [stderr] 189 |     fn test_search_capabilities_partial() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]    --> src/common/search.rs:134:13
[INFO] [stderr]     |
[INFO] [stderr] 134 |         let T = "ABAABA$";
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]    --> src/common/search.rs:146:13
[INFO] [stderr]     |
[INFO] [stderr] 146 |         let T = "ABAABA$";
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]    --> src/common/search.rs:158:13
[INFO] [stderr]     |
[INFO] [stderr] 158 |         let T = "ABAABA$";
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]    --> src/common/search.rs:169:13
[INFO] [stderr]     |
[INFO] [stderr] 169 |         let T = "ABAABA$";
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]    --> src/common/search.rs:180:13
[INFO] [stderr]     |
[INFO] [stderr] 180 |         let T = "ABAABA$";
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]    --> src/common/search.rs:190:13
[INFO] [stderr]     |
[INFO] [stderr] 190 |         let T = "ABAABA$";
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]    --> src/common/suffix_array.rs:200:13
[INFO] [stderr]     |
[INFO] [stderr] 200 |         let T = "ABAABA$";
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]    --> src/common/suffix_array.rs:210:13
[INFO] [stderr]     |
[INFO] [stderr] 210 |         let T = "ABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABAABA$";
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/bin/search_client.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> src/bin/search_client.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> src/bin/search_client.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/bin/search_client.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::prelude::*`
[INFO] [stderr]  --> src/bin/search_client.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::io::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::repeat`
[INFO] [stderr]  --> src/bin/search_client.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::iter::repeat;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/bin/search_client.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]   --> src/bin/search_client.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::collections::HashSet;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/bin/search_client.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `IntoParallelRefMutIterator`
[INFO] [stderr]   --> src/bin/search_client.rs:16:44
[INFO] [stderr]    |
[INFO] [stderr] 16 | use rayon::iter::{IntoParallelRefIterator, IntoParallelRefMutIterator};
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/search_client.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 24 |     let mut lf_buffer = fs::read("lf.bincode")?;
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/bin/all_in_one.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> src/bin/all_in_one.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]   --> src/bin/all_in_one.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::io::Read;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]   --> src/bin/all_in_one.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::fs::File;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::prelude::*`
[INFO] [stderr]   --> src/bin/all_in_one.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::io::prelude::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::repeat`
[INFO] [stderr]   --> src/bin/all_in_one.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::iter::repeat;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/bin/all_in_one.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]   --> src/bin/all_in_one.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::collections::HashSet;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/bin/all_in_one.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]   --> src/bin/all_in_one.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use std::mem;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `IntoParallelRefMutIterator`
[INFO] [stderr]   --> src/bin/all_in_one.rs:20:44
[INFO] [stderr]    |
[INFO] [stderr] 20 | use rayon::iter::{IntoParallelRefIterator, IntoParallelRefMutIterator};
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]   --> src/bin/all_in_one.rs:23:17
[INFO] [stderr]    |
[INFO] [stderr] 23 | use std::time::{Duration, SystemTime};
[INFO] [stderr]    |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/bin/all_in_one.rs:45:13
[INFO] [stderr]    |
[INFO] [stderr] 45 |         Err(e) => {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/bin/all_in_one.rs:58:13
[INFO] [stderr]    |
[INFO] [stderr] 58 |         Err(e) => {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `original_string`
[INFO] [stderr]   --> src/bin/all_in_one.rs:64:9
[INFO] [stderr]    |
[INFO] [stderr] 64 |     let original_string = common::suffix_array::reverse_bwt(&lf.Index);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_string`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/bin/all_in_one.rs:75:13
[INFO] [stderr]    |
[INFO] [stderr] 75 |         Err(e) => {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]   --> src/bin/all_in_one.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |     let T = file_contents.as_str();
[INFO] [stderr]    |         ^ help: convert the identifier to snake case: `t`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> src/bin/comparative_benchmark.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> src/bin/comparative_benchmark.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/bin/comparative_benchmark.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::prelude::*`
[INFO] [stderr]  --> src/bin/comparative_benchmark.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::repeat`
[INFO] [stderr]  --> src/bin/comparative_benchmark.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::iter::repeat;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/bin/comparative_benchmark.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]  --> src/bin/comparative_benchmark.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::collections::HashSet;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/bin/comparative_benchmark.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]   --> src/bin/comparative_benchmark.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::mem;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::borrow::Borrow`
[INFO] [stderr]   --> src/bin/comparative_benchmark.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::borrow::Borrow;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]   --> src/bin/comparative_benchmark.rs:15:17
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::time::{Duration, SystemTime};
[INFO] [stderr]    |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/bin/comparative_benchmark.rs:57:13
[INFO] [stderr]    |
[INFO] [stderr] 57 |         Err(e) => {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/bin/comparative_benchmark.rs:74:13
[INFO] [stderr]    |
[INFO] [stderr] 74 |         Err(e) => {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused attribute
[INFO] [stderr]  --> src/bin/comparative_benchmark.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]   --> src/bin/comparative_benchmark.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let T = file_contents.as_str();
[INFO] [stderr]    |         ^ help: convert the identifier to snake case: `t`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/bin/bwt_rosalind.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> src/bin/bwt_rosalind.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::prelude::*`
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::io::prelude::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::repeat`
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::iter::repeat;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::collections::HashSet;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use std::mem;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `IntoParallelRefIterator`, `IntoParallelRefMutIterator`
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:20:19
[INFO] [stderr]    |
[INFO] [stderr] 20 | use rayon::iter::{IntoParallelRefIterator, IntoParallelRefMutIterator};
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Duration`, `SystemTime`
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:23:17
[INFO] [stderr]    |
[INFO] [stderr] 23 | use std::time::{Duration, SystemTime};
[INFO] [stderr]    |                 ^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rayon::iter::IndexedParallelIterator`
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use rayon::iter::IndexedParallelIterator;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rayon::iter::ParallelIterator`
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use rayon::iter::ParallelIterator;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 39 |     for i in 0 .. index.len() {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `final_char`
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:64:9
[INFO] [stderr]    |
[INFO] [stderr] 64 |     let final_char = stripped.chars().last().expect("Something went wrong when getting the last character. Does the file have contents?");
[INFO] [stderr]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_char`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 63 |     let mut stripped = contents.replace('\n', "");
[INFO] [stderr]    |         ----^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:70:19
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub fn generate_l(T: &str) -> Vec<Nuc> {
[INFO] [stderr]    |                   ^ help: convert the identifier to snake case: `t`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `L` should have a snake case name
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:73:9
[INFO] [stderr]    |
[INFO] [stderr] 73 |     let L: Vec<Nucleotide> = T.as_bytes().iter().map(|c| {
[INFO] [stderr]    |         ^ help: convert the identifier to snake case: `l`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:80:19
[INFO] [stderr]    |
[INFO] [stderr] 80 | pub fn generate_f(T: &str) -> Vec<Nuc> {
[INFO] [stderr]    |                   ^ help: convert the identifier to snake case: `t`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `F` should have a snake case name
[INFO] [stderr]   --> src/bin/bwt_rosalind.rs:83:13
[INFO] [stderr]    |
[INFO] [stderr] 83 |     let mut F: Vec<Nucleotide> = T.as_bytes().iter().map(|c| {
[INFO] [stderr]    |             ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]    --> src/bin/bwt_rosalind.rs:101:9
[INFO] [stderr]     |
[INFO] [stderr] 101 |     let T = file_contents.as_str();
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `t`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `L` should have a snake case name
[INFO] [stderr]    --> src/bin/bwt_rosalind.rs:103:9
[INFO] [stderr]     |
[INFO] [stderr] 103 |     let L = generate_l(&T);
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `F` should have a snake case name
[INFO] [stderr]    --> src/bin/bwt_rosalind.rs:104:9
[INFO] [stderr]     |
[INFO] [stderr] 104 |     let F = generate_f(&T);
[INFO] [stderr]     |         ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Index` should have a snake case name
[INFO] [stderr]    --> src/bin/bwt_rosalind.rs:106:9
[INFO] [stderr]     |
[INFO] [stderr] 106 |     let Index: HashMap<Nucleotide, Nucleotide> = (0..T.len()).map(|i| {
[INFO] [stderr]     |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `index`
[INFO] [stderr] 
[INFO] [stderr] warning: function `ROSALIND_TEST_TRUE` should have a snake case name
[INFO] [stderr]    --> src/bin/bwt_rosalind.rs:125:8
[INFO] [stderr]     |
[INFO] [stderr] 125 |     fn ROSALIND_TEST_TRUE() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rosalind_test_true`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]    --> src/bin/bwt_rosalind.rs:126:13
[INFO] [stderr]     |
[INFO] [stderr] 126 |         let T = "TTCCTAACG$A";
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `t`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `L` should have a snake case name
[INFO] [stderr]    --> src/bin/bwt_rosalind.rs:127:13
[INFO] [stderr]     |
[INFO] [stderr] 127 |         let L = generate_l(&T);
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `l`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `F` should have a snake case name
[INFO] [stderr]    --> src/bin/bwt_rosalind.rs:128:13
[INFO] [stderr]     |
[INFO] [stderr] 128 |         let F = generate_f(&T);
[INFO] [stderr]     |             ^ help: convert the identifier to snake case (notice the capitalization): `f`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Index` should have a snake case name
[INFO] [stderr]    --> src/bin/bwt_rosalind.rs:129:13
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let Index: HashMap<Nucleotide, Nucleotide> = (0..T.len()).map(|i| {
[INFO] [stderr]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/bin/main.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stderr]  --> src/bin/main.rs:5:13
[INFO] [stderr]   |
[INFO] [stderr] 5 | use serde::{Serialize, Deserialize};
[INFO] [stderr]   |             ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> src/bin/main.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]   --> src/bin/main.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::io::Read;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::repeat`
[INFO] [stderr]   --> src/bin/main.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::iter::repeat;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/bin/main.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]   --> src/bin/main.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::collections::HashSet;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]   --> src/bin/main.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use std::mem;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `IntoParallelRefMutIterator`
[INFO] [stderr]   --> src/bin/main.rs:20:44
[INFO] [stderr]    |
[INFO] [stderr] 20 | use rayon::iter::{IntoParallelRefIterator, IntoParallelRefMutIterator};
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]   --> src/bin/main.rs:23:17
[INFO] [stderr]    |
[INFO] [stderr] 23 | use std::time::{Duration, SystemTime};
[INFO] [stderr]    |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `original_string`
[INFO] [stderr]   --> src/bin/main.rs:80:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |     let original_string = common::suffix_array::reverse_bwt(&lf.Index);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_string`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `g`
[INFO] [stderr]    --> src/bin/main.rs:108:9
[INFO] [stderr]     |
[INFO] [stderr] 108 |     let g = bincode::serialize_into(&mut lf_buffer, &lf);
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `suffix_strings`
[INFO] [stderr]    --> src/bin/main.rs:131:9
[INFO] [stderr]     |
[INFO] [stderr] 131 |     let suffix_strings: Vec<&str> = (positions.1).iter().map(|x| {
[INFO] [stderr]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix_strings`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `T` should have a snake case name
[INFO] [stderr]   --> src/bin/main.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |     let T = file_contents.as_str();
[INFO] [stderr]    |         ^ help: convert the identifier to snake case: `t`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/bin/main.rs:109:5
[INFO] [stderr]     |
[INFO] [stderr] 109 |     lf_buffer.flush();
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: `bwt` (lib test) generated 41 warnings (32 duplicates)
[INFO] [stderr] warning: `bwt` (bin "client" test) generated 11 warnings
[INFO] [stderr] warning: `bwt` (bin "all_in_one" test) generated 17 warnings
[INFO] [stderr] warning: `bwt` (bin "comparative_benchmark" test) generated 15 warnings
[INFO] [stderr] warning: `bwt` (bin "bwt_rosalind" test) generated 26 warnings
[INFO] [stderr] warning: `bwt` (bin "generator" test) generated 15 warnings
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.60s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/common-1e33345d0737e86c)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test suffix_array::tests::get_suffixes_by_pos_test ... ok
[INFO] [stderr] error: test failed, to rerun pass '--lib'
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/common-1e33345d0737e86c` (signal: 11, SIGSEGV: invalid memory reference)
[INFO] running `Command { std: "docker" "inspect" "d58c8721bde48e9d23a16fcb7e2d551903fe1859e8313595ddbefe6c25ba0480", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d58c8721bde48e9d23a16fcb7e2d551903fe1859e8313595ddbefe6c25ba0480", kill_on_drop: false }`
[INFO] [stdout] d58c8721bde48e9d23a16fcb7e2d551903fe1859e8313595ddbefe6c25ba0480
