[INFO] cloning repository https://github.com/Changissnz/impliar
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Changissnz/impliar" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChangissnz%2Fimpliar", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChangissnz%2Fimpliar'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7efcf765a4cb90437c037143be74a869e69c1b68
[INFO] checking Changissnz/impliar against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChangissnz%2Fimpliar" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Changissnz/impliar on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Changissnz/impliar
[INFO] finished tweaking git repo https://github.com/Changissnz/impliar
[INFO] tweaked toml for git repo https://github.com/Changissnz/impliar written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded round v0.1.2
[INFO] [stderr]   Downloaded factorial v0.2.1
[INFO] [stderr]   Downloaded savefile-derive v0.10.1
[INFO] [stderr]   Downloaded modulo v0.1.2
[INFO] [stderr]   Downloaded savefile v0.10.1
[INFO] [stderr]   Downloaded asciis v0.1.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] daaef900137476778bdaccfd5941f198e0383f7f15dad598334b422a80b6db25
[INFO] running `Command { std: "docker" "start" "-a" "daaef900137476778bdaccfd5941f198e0383f7f15dad598334b422a80b6db25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "daaef900137476778bdaccfd5941f198e0383f7f15dad598334b422a80b6db25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "daaef900137476778bdaccfd5941f198e0383f7f15dad598334b422a80b6db25", kill_on_drop: false }`
[INFO] [stdout] daaef900137476778bdaccfd5941f198e0383f7f15dad598334b422a80b6db25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ec04766b976fd2e7ba00be853436d28cab76435838933cd0342c875bb6236357
[INFO] running `Command { std: "docker" "start" "-a" "ec04766b976fd2e7ba00be853436d28cab76435838933cd0342c875bb6236357", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling savefile v0.10.1
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling substring v1.4.5
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking round v0.1.2
[INFO] [stderr]     Checking asciis v0.1.3
[INFO] [stderr]     Checking modulo v0.1.2
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking parking_lot_core v0.9.9
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]     Checking factorial v0.2.1
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]    Compiling savefile-derive v0.10.1
[INFO] [stderr]     Checking impliar v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/setti/setf.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/setti/setf.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     while true {
[INFO] [stdout]     |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Eq`
[INFO] [stdout]  --> src/setti/set_gen.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use std::cmp::Eq;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/setti/set_gen.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use std::hash::Hash;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/setti/set_gen.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use std::borrow::Borrow;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `Array2`, `Dim`, `arr2`, `array`, `s`
[INFO] [stdout]   --> src/setti/set_gen.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ndarray::{Dim,Array,Array1,Array2,array,arr2,s};
[INFO] [stdout]    |               ^^^       ^^^^^^ ^^^^^^ ^^^^^ ^^^^ ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/setti/setc.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::strng_srt`
[INFO] [stdout]  --> src/setti/set_imp.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::setti::strng_srt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/setti/set_imp.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]   --> src/setti/set_imp.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::cmp::Ordering;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array2`
[INFO] [stdout]   --> src/setti/set_imp.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ndarray::Array2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf`
[INFO] [stdout]  --> src/setti/selection_rule.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::setti::setf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array`, `arr2`, `array`
[INFO] [stdout]  --> src/setti/selection_rule.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray::{Dim,Array,Array1,Array2,array,arr2,s};
[INFO] [stdout]   |                   ^^^^^               ^^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `arr2`, `array`
[INFO] [stdout]  --> src/setti/matrixf.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::{Array1,Array2, array,arr1,arr2,s};
[INFO] [stdout]   |                              ^^^^^      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/setti/vecf.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/setti/ds_fob_c.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `arr1`
[INFO] [stdout]   --> src/setti/ds_fob_c.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ndarray::{Array1,arr1};
[INFO] [stdout]    |               ^^^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::vs`
[INFO] [stdout]  --> src/setti/uvs.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::setti::vs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `Axis`, `arr1`
[INFO] [stdout]  --> src/setti/uvs.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{Array1,arr1,Axis};
[INFO] [stdout]   |               ^^^^^^ ^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2`, `Array`, `arr1`, `arr2`
[INFO] [stdout]  --> src/setti/hashfit.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{Array,Array1,Array2,arr1,arr2};
[INFO] [stdout]   |               ^^^^^        ^^^^^^ ^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf`
[INFO] [stdout]  --> src/setti/fs.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::setti::setf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arr1`
[INFO] [stdout]  --> src/setti/fs.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::{arr1,Array1};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `arr1`
[INFO] [stdout]  --> src/setti/bfngsrch.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{Array1,Array2,arr1};
[INFO] [stdout]   |               ^^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arr1`
[INFO] [stdout]  --> src/setti/dessi.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{arr1,Array1};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::sets`
[INFO] [stdout]  --> src/setti/impli.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::setti::sets;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf`
[INFO] [stdout]  --> src/setti/impli.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::setti::setf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf::Count`
[INFO] [stdout]  --> src/setti/impli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::setti::setf::Count;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/setti/impli.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::{HashMap,HashSet};
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metrice::vcsv`
[INFO] [stdout]   --> src/setti/impli.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::metrice::vcsv;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array1`
[INFO] [stdout]   --> src/setti/impli.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ndarray::Array1;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metrice::vcsv`
[INFO] [stdout]  --> src/setti/impf.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::metrice::vcsv; 
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array1`
[INFO] [stdout]  --> src/setti/impf.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::Array1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `round`
[INFO] [stdout]  --> src/setti/impf.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use round::{round};
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `savefile::prelude::*`
[INFO] [stdout]  --> src/setti/implif.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use savefile::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::arr1`
[INFO] [stdout]  --> src/enci/seq_encoder.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::arr1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Dim`
[INFO] [stdout]  --> src/enci/seq_encoder.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ndarray::Dim;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array`, `arr1`
[INFO] [stdout]  --> src/enci/skew.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::{Array,Array1,arr1};
[INFO] [stdout]   |               ^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/enci/seqe.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::{Array,Array1,arr1};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/enci/seqe.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/enci/seqe.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Eq`
[INFO] [stdout]  --> src/enci/seqe.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::Eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/enci/fatorx.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray::{Array,Array1,arr1};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/enci/fatorx.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/enci/ohop.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::parentnot`
[INFO] [stdout]  --> src/enci/ohop.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::enci::parentnot;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array1`
[INFO] [stdout]  --> src/enci/ohop.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ndarray::Array1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/enci/ohop.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         while true {
[INFO] [stdout]    |         ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/enci/mat2sort.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{Array,Array1,Array2,arr1,arr2};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::s`
[INFO] [stdout]  --> src/enci/mat2sort.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ndarray::s;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/enci/mat2sort.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Dim`
[INFO] [stdout]  --> src/enci/mat2sort.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::Dim;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/enci/be_int.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ndarray::{Array,Array1,Array2,arr1,arr2,s};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]   --> src/enci/be_int.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/enci/be_int.rs:526:9
[INFO] [stdout]     |
[INFO] [stdout] 526 |         while true {
[INFO] [stdout]     |         ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array`, `arr1`, `arr2`, `s`
[INFO] [stdout]  --> src/enci/i_mem.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{Array,Array1,Array2,arr1,arr2,s};
[INFO] [stdout]   |               ^^^^^               ^^^^ ^^^^ ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/enci/i_mem.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap,HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arr1`
[INFO] [stdout]  --> src/enci/skewf32.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{arr1,Array1};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `round_up`
[INFO] [stdout]   --> src/enci/demo_rng.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use round::{round_up};
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sub`
[INFO] [stdout]   --> src/enci/implie.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::ops::{Add, Sub};
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::vs`
[INFO] [stdout]  --> src/metrice/gorillasf.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::setti::vs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::vs::VSelect`
[INFO] [stdout]  --> src/metrice/gorillasf.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::setti::vs::VSelect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::set_gen`
[INFO] [stdout]  --> src/metrice/gorillasf.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::setti::set_gen;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf`
[INFO] [stdout]  --> src/metrice/gorillasf.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::setti::setf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::disinc`
[INFO] [stdout]  --> src/metrice/gorillasf.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::setti::disinc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]   --> src/metrice/gorillasf.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::str::FromStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/metrice/gorillasf.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `round::round`
[INFO] [stdout]  --> src/metrice/bmeas.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use round::round;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `round_down`, `round_up`, `round`
[INFO] [stdout]  --> src/metrice/brp.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use round::{round, round_up, round_down};
[INFO] [stdout]   |             ^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2`, `arr1`, `arr2`
[INFO] [stdout]  --> src/metrice/vcsv.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ndarray::{Array1,arr1,Array2,arr2};
[INFO] [stdout]   |                      ^^^^ ^^^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::type_name`
[INFO] [stdout]  --> src/metrice/vcsv.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::any::type_name;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/metrice/vcsv.rs:7:46
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{Read,Write, BufReader, BufRead,Error};
[INFO] [stdout]   |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::dessi`
[INFO] [stdout]  --> src/metrice/vreducer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::setti::dessi;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metrice::vcsv`
[INFO] [stdout]  --> src/metrice/gorillains.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::metrice::vcsv;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::skew`
[INFO] [stdout]  --> src/metrice/gorillains.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::enci::skew;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::skewf32`
[INFO] [stdout]  --> src/metrice/gorillains.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::enci::skewf32;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arr1`
[INFO] [stdout]   --> src/metrice/gorillains.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ndarray::{arr1,Array1};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arr1`
[INFO] [stdout]  --> src/metrice/arp.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ndarray::{Array1,arr1};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metrice::bmeas`
[INFO] [stdout]  --> src/metrice/skewcorrctr.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::metrice::bmeas;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::dessi`
[INFO] [stdout]  --> src/metrice/skewcorrctr.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::setti::dessi;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arr1`
[INFO] [stdout]  --> src/metrice/skewcorrctr.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::{arr1,Array1};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `round::round`
[INFO] [stdout]  --> src/metrice/skewcorrctr.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use round::round;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `round::round`
[INFO] [stdout]  --> src/metrice/btchcorrctrc.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use round::round;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metrice::btchcorrctr_tc`
[INFO] [stdout]   --> src/metrice/btchcorrctrc.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::metrice::btchcorrctr_tc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `btchcorrctr_tc`
[INFO] [stdout]  --> src/metrice/btchcorrctr.rs:2:35
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::metrice::{btchcorrctrc,btchcorrctr_tc,vreducer};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arr1`
[INFO] [stdout]  --> src/metrice/btchcorrctr.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{arr1,Array1};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/metrice/btchcorrctr.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 |         for i in (l1..l2) {
[INFO] [stdout]    |                  ^      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 21 -         for i in (l1..l2) {
[INFO] [stdout] 21 +         for i in l1..l2 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::skew`
[INFO] [stdout]  --> src/metrice/gorillaj.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::enci::skew;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::skewf32`
[INFO] [stdout]  --> src/metrice/gorillaj.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::enci::skewf32;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/metrice/gorillaj.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/metrice/gorillaj.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         /// get new skew scores
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |         let x1 = mat2sort::abs_sum_arr1_f32(q.clone());
[INFO] [stdout]    |         ----------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arr1`
[INFO] [stdout]  --> src/metrice/gorillajh.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::{Array1,arr1};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::vec`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::vec;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::type_name`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::any::type_name;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `setti::setf::Count`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use setti::setf::Count;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `substring::Substring`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use substring::Substring;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `factorial::Factorial`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use factorial::Factorial;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `asciis::asc::Asciis`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use asciis::asc::Asciis;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::array`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ndarray::array;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `Array2`, `Axis`, `Dim`, `arr1`, `arr2`, `arr3`, `s`, `stack`
[INFO] [stdout]   --> src/main.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ndarray::{Array2, Array1,arr1,arr2,arr3, stack,s,Axis,Dim};
[INFO] [stdout]    |               ^^^^^^  ^^^^^^ ^^^^ ^^^^ ^^^^  ^^^^^ ^ ^^^^ ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::selection_rule`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::setti::selection_rule;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::selection_rule::Requirement`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::setti::selection_rule::Requirement;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::selection_rule::Restriction`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::setti::selection_rule::Restriction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::vs`
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::setti::vs;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::uvs`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::setti::uvs;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::ds_fob_c`
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::setti::ds_fob_c;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::ds_fob_c::NE`
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::setti::ds_fob_c::NE;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::be_int`
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::enci::be_int;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::disinc`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::setti::disinc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `setti::selection_rule::std_collision_score`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use setti::selection_rule::std_collision_score;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `setti::selection_rule::SelectionRule`
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use setti::selection_rule::SelectionRule;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Skew`, `build_skew`
[INFO] [stdout]   --> src/main.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 | use enci::skew::{build_skew,Skew};
[INFO] [stdout]    |                  ^^^^^^^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `enci::skewf32`
[INFO] [stdout]   --> src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use enci::skewf32;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use std::str::FromStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `round_down`, `round_up`, `round`
[INFO] [stdout]   --> src/main.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 | use round::{round, round_up, round_down};
[INFO] [stdout]    |             ^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `Error`, `Write`
[INFO] [stdout]   --> src/main.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 | use std::io::{Write, BufReader, BufRead, Error};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]   --> src/main.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use std::fs::OpenOptions;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `Once`
[INFO] [stdout]   --> src/main.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 | use std::sync::{Arc, Mutex, Once};
[INFO] [stdout]    |                 ^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/main.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]   --> src/main.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | use rand::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::ns::RN`
[INFO] [stdout]   --> src/main.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | use crate::enci::ns::RN;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `savefile::prelude::*`
[INFO] [stdout]   --> src/main.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | use savefile::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/setti/setf.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/setti/setf.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     while true {
[INFO] [stdout]     |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Eq`
[INFO] [stdout]  --> src/setti/set_gen.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use std::cmp::Eq;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/setti/set_gen.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use std::hash::Hash;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/setti/set_gen.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use std::borrow::Borrow;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `Array2`, `Dim`, `arr2`, `array`, `s`
[INFO] [stdout]   --> src/setti/set_gen.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ndarray::{Dim,Array,Array1,Array2,array,arr2,s};
[INFO] [stdout]    |               ^^^       ^^^^^^ ^^^^^^ ^^^^^ ^^^^ ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/setti/set_gen.rs:474:9
[INFO] [stdout]     |
[INFO] [stdout] 474 |         while true {
[INFO] [stdout]     |         ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/setti/setc.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::strng_srt`
[INFO] [stdout]  --> src/setti/set_imp.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::setti::strng_srt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/setti/set_imp.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]   --> src/setti/set_imp.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::cmp::Ordering;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array2`
[INFO] [stdout]   --> src/setti/set_imp.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ndarray::Array2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf`
[INFO] [stdout]  --> src/setti/selection_rule.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::setti::setf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/setti/selection_rule.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray::{Dim,Array,Array1,Array2,array,arr2,s};
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/setti/vecf.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/setti/ds_fob_c.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `arr1`
[INFO] [stdout]   --> src/setti/ds_fob_c.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ndarray::{Array1,arr1};
[INFO] [stdout]    |               ^^^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `Axis`, `arr1`
[INFO] [stdout]  --> src/setti/uvs.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{Array1,arr1,Axis};
[INFO] [stdout]   |               ^^^^^^ ^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2`, `Array`, `arr2`
[INFO] [stdout]  --> src/setti/hashfit.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{Array,Array1,Array2,arr1,arr2};
[INFO] [stdout]   |               ^^^^^        ^^^^^^      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf`
[INFO] [stdout]  --> src/setti/fs.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::setti::setf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `arr1`
[INFO] [stdout]  --> src/setti/bfngsrch.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{Array1,Array2,arr1};
[INFO] [stdout]   |               ^^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::sets`
[INFO] [stdout]  --> src/setti/impli.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::setti::sets;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf`
[INFO] [stdout]  --> src/setti/impli.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::setti::setf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf::Count`
[INFO] [stdout]  --> src/setti/impli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::setti::setf::Count;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/setti/impli.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::{HashMap,HashSet};
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metrice::vcsv`
[INFO] [stdout]   --> src/setti/impli.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::metrice::vcsv;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array1`
[INFO] [stdout]   --> src/setti/impli.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ndarray::Array1;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metrice::vcsv`
[INFO] [stdout]  --> src/setti/impf.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::metrice::vcsv; 
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array1`
[INFO] [stdout]  --> src/setti/impf.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::Array1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `round`
[INFO] [stdout]  --> src/setti/impf.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use round::{round};
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `savefile::prelude::*`
[INFO] [stdout]  --> src/setti/implif.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use savefile::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Dim`
[INFO] [stdout]  --> src/enci/seq_encoder.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ndarray::Dim;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/enci/skew.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::{Array,Array1,arr1};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/enci/seqe.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::{Array,Array1,arr1};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/enci/seqe.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/enci/seqe.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Eq`
[INFO] [stdout]  --> src/enci/seqe.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::Eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/enci/fatorx.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray::{Array,Array1,arr1};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/enci/ohop.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::parentnot`
[INFO] [stdout]  --> src/enci/ohop.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::enci::parentnot;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array1`
[INFO] [stdout]  --> src/enci/ohop.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ndarray::Array1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> src/enci/ohop.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         while true {
[INFO] [stdout]    |         ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/enci/mat2sort.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{Array,Array1,Array2,arr1,arr2};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::s`
[INFO] [stdout]  --> src/enci/mat2sort.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ndarray::s;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/enci/mat2sort.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Dim`
[INFO] [stdout]  --> src/enci/mat2sort.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::Dim;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/enci/be_int.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ndarray::{Array,Array1,Array2,arr1,arr2,s};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]   --> src/enci/be_int.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/enci/be_int.rs:526:9
[INFO] [stdout]     |
[INFO] [stdout] 526 |         while true {
[INFO] [stdout]     |         ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array`, `arr1`, `arr2`, `s`
[INFO] [stdout]  --> src/enci/i_mem.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{Array,Array1,Array2,arr1,arr2,s};
[INFO] [stdout]   |               ^^^^^               ^^^^ ^^^^ ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/enci/i_mem.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap,HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `round_up`
[INFO] [stdout]   --> src/enci/demo_rng.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use round::{round_up};
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sub`
[INFO] [stdout]   --> src/enci/implie.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::ops::{Add, Sub};
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::vs`
[INFO] [stdout]  --> src/metrice/gorillasf.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::setti::vs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::vs::VSelect`
[INFO] [stdout]  --> src/metrice/gorillasf.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::setti::vs::VSelect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::set_gen`
[INFO] [stdout]  --> src/metrice/gorillasf.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::setti::set_gen;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf`
[INFO] [stdout]  --> src/metrice/gorillasf.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::setti::setf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::disinc`
[INFO] [stdout]  --> src/metrice/gorillasf.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::setti::disinc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]   --> src/metrice/gorillasf.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::str::FromStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/metrice/gorillasf.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `round_down`, `round_up`, `round`
[INFO] [stdout]  --> src/metrice/brp.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use round::{round, round_up, round_down};
[INFO] [stdout]   |             ^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2`, `arr1`, `arr2`
[INFO] [stdout]  --> src/metrice/vcsv.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ndarray::{Array1,arr1,Array2,arr2};
[INFO] [stdout]   |                      ^^^^ ^^^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::type_name`
[INFO] [stdout]  --> src/metrice/vcsv.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::any::type_name;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/metrice/vcsv.rs:7:46
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{Read,Write, BufReader, BufRead,Error};
[INFO] [stdout]   |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::dessi`
[INFO] [stdout]  --> src/metrice/vreducer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::setti::dessi;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::skew`
[INFO] [stdout]  --> src/metrice/gorillains.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::enci::skew;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::skewf32`
[INFO] [stdout]  --> src/metrice/gorillains.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::enci::skewf32;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metrice::bmeas`
[INFO] [stdout]  --> src/metrice/skewcorrctr.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::metrice::bmeas;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::dessi`
[INFO] [stdout]  --> src/metrice/skewcorrctr.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::setti::dessi;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `round::round`
[INFO] [stdout]  --> src/metrice/skewcorrctr.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use round::round;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `round::round`
[INFO] [stdout]  --> src/metrice/btchcorrctrc.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use round::round;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arr1`
[INFO] [stdout]  --> src/metrice/btchcorrctr.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{arr1,Array1};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/metrice/btchcorrctr.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 |         for i in (l1..l2) {
[INFO] [stdout]    |                  ^      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 21 -         for i in (l1..l2) {
[INFO] [stdout] 21 +         for i in l1..l2 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:507:9
[INFO] [stdout]     |
[INFO] [stdout] 507 |         /// check for correct a-factor and m-factor keys
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 508 |         let q:HashSet<i32> = gbc.a_candidate_scores.into_keys().collect();
[INFO] [stdout]     |         ------------------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::skew`
[INFO] [stdout]  --> src/metrice/gorillaj.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::enci::skew;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::skewf32`
[INFO] [stdout]  --> src/metrice/gorillaj.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::enci::skewf32;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/metrice/gorillaj.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/metrice/gorillaj.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         /// get new skew scores
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |         let x1 = mat2sort::abs_sum_arr1_f32(q.clone());
[INFO] [stdout]    |         ----------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arr1`
[INFO] [stdout]  --> src/metrice/gorillajh.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::{Array1,arr1};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::vec`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::vec;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::type_name`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::any::type_name;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `setti::setf::Count`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use setti::setf::Count;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `substring::Substring`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use substring::Substring;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `factorial::Factorial`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use factorial::Factorial;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `asciis::asc::Asciis`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use asciis::asc::Asciis;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::array`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ndarray::array;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `Array2`, `Axis`, `Dim`, `arr1`, `arr2`, `arr3`, `s`, `stack`
[INFO] [stdout]   --> src/main.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ndarray::{Array2, Array1,arr1,arr2,arr3, stack,s,Axis,Dim};
[INFO] [stdout]    |               ^^^^^^  ^^^^^^ ^^^^ ^^^^ ^^^^  ^^^^^ ^ ^^^^ ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::selection_rule`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::setti::selection_rule;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::selection_rule::Requirement`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::setti::selection_rule::Requirement;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::selection_rule::Restriction`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::setti::selection_rule::Restriction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::vs`
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::setti::vs;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::uvs`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::setti::uvs;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::ds_fob_c`
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::setti::ds_fob_c;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::ds_fob_c::NE`
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::setti::ds_fob_c::NE;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::be_int`
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::enci::be_int;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::disinc`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::setti::disinc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `setti::selection_rule::std_collision_score`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use setti::selection_rule::std_collision_score;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `setti::selection_rule::SelectionRule`
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use setti::selection_rule::SelectionRule;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Skew`, `build_skew`
[INFO] [stdout]   --> src/main.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 | use enci::skew::{build_skew,Skew};
[INFO] [stdout]    |                  ^^^^^^^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `enci::skewf32`
[INFO] [stdout]   --> src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use enci::skewf32;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use std::str::FromStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `round_down`, `round_up`, `round`
[INFO] [stdout]   --> src/main.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 | use round::{round, round_up, round_down};
[INFO] [stdout]    |             ^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `Error`, `Write`
[INFO] [stdout]   --> src/main.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 | use std::io::{Write, BufReader, BufRead, Error};
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]   --> src/main.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use std::fs::OpenOptions;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `Once`
[INFO] [stdout]   --> src/main.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 | use std::sync::{Arc, Mutex, Once};
[INFO] [stdout]    |                 ^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/main.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]   --> src/main.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | use rand::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::enci::ns::RN`
[INFO] [stdout]   --> src/main.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | use crate::enci::ns::RN;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `savefile::prelude::*`
[INFO] [stdout]   --> src/main.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | use savefile::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/setf.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let mut k2:Vec<String> = other.data.clone().into_keys().into_iter().collect();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/strng_srt.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut x2: Vec<i32> = (65..91).into_iter().collect();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/strng_srt.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut x3: Vec<i32> = (97..122).into_iter().collect();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/strng_srt.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut j = i % 61;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/strng_srt.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let mut s = u.to_string(); 
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/strng_srt.rs:306:14
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let (mut x1,mut x2):(T,T2) = (h.0.clone(),h.1.clone());
[INFO] [stdout]     |              ----^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/strng_srt.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let (mut x1,mut x2):(T,T2) = (h.0.clone(),h.1.clone());
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/selection_rule.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let mut k:usize = self.data.raw_dim()[1];
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut k:usize = self.data.raw_dim()[1];
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/setti/selection_rule.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut s:String = strng_srt::stringized_srted_vec(&mut w_);
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/setti/selection_rule.rs:204:17
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut s:String = strng_srt::stringized_srted_vec(&mut cw_);
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut l:usize = choice.len();
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut ix: usize = l - i;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let mut c2: Vec<usize> = choice[0..choice.len() - i].to_vec().clone();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut s:String = strng_srt::stringized_srted_vec(&mut w_);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:204:13
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut s:String = strng_srt::stringized_srted_vec(&mut cw_);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `y` is never read
[INFO] [stdout]    --> src/setti/selection_rule.rs:256:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let mut y:i32 = -1;
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/matrixf.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut c = if is_row {a.slice_mut(s![i,..])} else {a.slice_mut(s![..,i])};
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/matrixf.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |             let mut l = h.get_mut(&v_).unwrap();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/vecf.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut q:Vec<T> = si.clone();
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut c: Vec<(usize,usize)> = Vec::new();
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut vs: VSelect = vs::build_vselect(c);
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut cache: Vec<VSelect> = vec![vs];
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |             let mut r = self.results[0].clone();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut vs2 = self.cache[0].clone();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut r = self.results[0].clone();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |             let mut u:Option<VSelect> = self.next_element();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut r = self.k - vs.size();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let mut stat:bool = true;
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let mut u:Option<VSelect> = dsfg.next_element();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let mut v:VSelect = vs::build_vselect(Vec::new());
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let mut uvs: UVSelect = uvs::build_uvselect(v,Vec::new());
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:321:17
[INFO] [stdout]     |
[INFO] [stdout] 321 |             let mut u:Option<UVSelect> = self.next_element();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/vs.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut d = data[0].clone();
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/vs.rs:123:21
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let (mut x1,mut x2) = (self.data[0..l].to_vec(), self.data[l..l2].to_vec());
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `e` is never read
[INFO] [stdout]    --> src/setti/vs.rs:187:30
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let (mut i,mut s,mut e): (usize,usize,usize) = (0,0,0);
[INFO] [stdout]     |                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/vs.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |         let mut vs2 = self.complement(n,d);
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/vs.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let mut vs2 = self.complement(n,d);
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/uvs.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let mut c = self.v.complement(n,d);
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sol`
[INFO] [stdout]   --> src/setti/hashfit.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let sol:Vec<Array1<usize>> = Vec::new();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_sol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sf` is never read
[INFO] [stdout]   --> src/setti/hashfit.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut sf:f32 = 0.0;
[INFO] [stdout]    |                 ^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/setti/hashfit.rs:6:50
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn fcollect_max_proper_hashfit_wrt_reference(mut d:Vec<Array1<usize>>,r:Array1<usize>,g:fn(Vec<Array1<usize>>,Array1<usize>) -> f32,v...
[INFO] [stdout]   |                                                  ----^
[INFO] [stdout]   |                                                  |
[INFO] [stdout]   |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/hashfit.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 | ...   let mut f: Vec<HashSet<String>> = f_.clone().into_iter().map(|x| HashSet::<String>::from_iter((HashSet::<usize>::from_iter(x.into_i...
[INFO] [stdout]    |           ----^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/hashfit.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let mut hr:HashSet<usize> = HashSet::<usize>::from_iter(r.clone().into_iter());
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/hashfit.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let mut hr:HashSet<usize> = HashSet::<usize>::from_iter(r.clone().into_iter());
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/hashfit.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let mut ws = checker.len() + (*q).len();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/disinc.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut h2: HashSet<String> = v2.into_iter().collect();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/disinc.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let mut d1:HashSet<T> = vk.difference(&vk2).into_iter().map(|x| (*x).clone()).collect();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/disinc.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let mut d2:HashSet<T> = vk2.difference(&vk).into_iter().map(|x| (*x).clone()).collect();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/disinc.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let mut i2:HashSet<T> = vk.intersection(&vk2).into_iter().map(|x| (*x).clone()).collect();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/disinc.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let mut vk2:HashSet<String> = vc.data.clone().into_keys().collect();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/disinc.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut vk:HashSet<String> = self.vcproc.data.clone().into_keys().collect();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q`
[INFO] [stdout]   --> src/setti/fs.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut q = self.meen.clone() * self.frequency as f32;
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/fs.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut q = self.meen.clone() * self.frequency as f32;
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `om`
[INFO] [stdout]   --> src/setti/fs.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let om: HashSet<String> = HashSet::from_iter(["basic".to_string(), "fm".to_string()]);
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_om`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `md`
[INFO] [stdout]   --> src/setti/fs.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut md: f32 = f32::MAX;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_md`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `md1`
[INFO] [stdout]   --> src/setti/fs.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut md1: f32 = f32::MIN;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_md1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/fs.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut md: f32 = f32::MAX;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/fs.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut md1: f32 = f32::MIN;
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/setti/impli.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         for i in 0..n {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/setti/impli.rs:196:33
[INFO] [stdout]     |
[INFO] [stdout] 196 |         (0..n).into_iter().map(|x| self.kstatement_fn.0.next()).collect()
[INFO] [stdout]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/setti/impli.rs:202:33
[INFO] [stdout]     |
[INFO] [stdout] 202 |         (0..n).into_iter().map(|x| self.options_ratio_fn.0.next()).collect()
[INFO] [stdout]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/setti/impli.rs:208:33
[INFO] [stdout]     |
[INFO] [stdout] 208 |         (0..n).into_iter().map(|x| self.closure_ratio_fn.0.next()).collect() 
[INFO] [stdout]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]   --> src/setti/impf.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let l = self.m.len();
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seq_encoder.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut q = self.t.unwrap();
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seq_encoder.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let mut q = &format!("* floor div: {:?} | {} | {} ",self.t,self.b,self.m);
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xx`
[INFO] [stdout]    --> src/enci/seq_encoder.rs:107:21
[INFO] [stdout]     |
[INFO] [stdout] 107 |             let mut xx = if (*q).t.is_none() {01} else {(*q).t.unwrap()};
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_xx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seq_encoder.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |             let mut xx = if (*q).t.is_none() {01} else {(*q).t.unwrap()};
[INFO] [stdout]     |                 ----^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sg`
[INFO] [stdout]   --> src/enci/skew.rs:29:71
[INFO] [stdout]    |
[INFO] [stdout] 29 |         ad: Option<Array1<i32>>, am: Option<Array1<i32>>,o:Vec<usize>,sg:Option<Vec<Vec<usize>>>) -> Skew {
[INFO] [stdout]    |                                                                       ^^ help: if this is intentional, prefix it with an underscore: `_sg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/enci/skew.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let x:usize = self.ordering[i];
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/skew.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |             let mut r:&Array1<i32> = self.addit.as_ref().unwrap();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/skew.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 135 |             let mut r:&Array1<i32> = self.multit.as_ref().unwrap();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let (mut s1,mut s2):(Option<Skew>,Option<Skew>) = skews_special_case(v1.clone(),v2.clone(),si.clone());
[INFO] [stdout]    |              ----^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let (mut s1,mut s2):(Option<Skew>,Option<Skew>) = skews_special_case(v1.clone(),v2.clone(),si.clone());
[INFO] [stdout]    |                     ----^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]   --> src/enci/seqe.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let (mut s1, mut s2): (Option<Skew>,Option<Skew>) = (None,None);
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]   --> src/enci/seqe.rs:58:22
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let (mut s1, mut s2): (Option<Skew>,Option<Skew>) = (None,None);
[INFO] [stdout]    |                      ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let (mut s1, mut s2): (Option<Skew>,Option<Skew>) = (None,None);
[INFO] [stdout]    |          ----^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let (mut s1, mut s2): (Option<Skew>,Option<Skew>) = (None,None);
[INFO] [stdout]    |                  ----^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let (mut vx1,mut vx2):(i32,i32) = (fatorx::max_satisfying_mult_additive_for_vec(v2.clone(),v1_1.clone()),
[INFO] [stdout]    |                  ----^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let (mut vx1,mut vx2):(i32,i32) = (fatorx::max_satisfying_mult_additive_for_vec(v2.clone(),v1_1.clone()),
[INFO] [stdout]    |                          ----^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |             let (mut vx1,mut vx2):(i32,i32) = (fatorx::cheapest_multiple(v1_1.clone(),v2.clone()),
[INFO] [stdout]    |                  ----^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:80:26
[INFO] [stdout]    |
[INFO] [stdout] 80 |             let (mut vx1,mut vx2):(i32,i32) = (fatorx::cheapest_multiple(v1_1.clone(),v2.clone()),
[INFO] [stdout]    |                          ----^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:89:18
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let (mut vx1_,mut vx2_):(Array1<i32>,Array1<i32>) = (fatorx::cheapest_add_vec(v1_1.clone(),v2.clone()),
[INFO] [stdout]    |                  ----^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:89:27
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let (mut vx1_,mut vx2_):(Array1<i32>,Array1<i32>) = (fatorx::cheapest_add_vec(v1_1.clone(),v2.clone()),
[INFO] [stdout]    |                           ----^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:94:18
[INFO] [stdout]    |
[INFO] [stdout] 94 |             let (mut vx1_,mut vx2_):(Array1<i32>,Array1<i32>) = (fatorx::cheapest_multiple_vec(v1_1.clone(),v2.clone()),
[INFO] [stdout]    |                  ----^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |             let (mut vx1_,mut vx2_):(Array1<i32>,Array1<i32>) = (fatorx::cheapest_multiple_vec(v1_1.clone(),v2.clone()),
[INFO] [stdout]    |                           ----^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut sm: i32 = s.adder.unwrap().abs();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut sm: i32 = s.multer.unwrap().abs();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let mut sm2: Array1<i32> = s.addit.unwrap().into_iter().map(|x| x.abs()).collect();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut sm2: Array1<i32> = s.multit.unwrap().into_iter().map(|x| x.abs()).collect();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:163:10
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let (mut v1,mut v2) = skew_vector_pair_case_1();
[INFO] [stdout]     |          ----^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let (mut v1,mut v2) = skew_vector_pair_case_1();
[INFO] [stdout]     |                 ----^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/fatorx.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut cap = v / 2;
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let mut v2_:Vec<i32> = v2.into_iter().collect();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lb`
[INFO] [stdout]   --> src/enci/ohop.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let lb = self.branches.len();
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_lb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/setf.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let mut k2:Vec<String> = other.data.clone().into_keys().into_iter().collect();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/ohop.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let mut q = setf::str_to_vec(s_.clone(),',');
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/ohop.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let mut b = (*o).branch_identifiers.get_mut(&v[p.unwrap()].clone()).unwrap().clone();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/ohop.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut v3 = v[p.unwrap() + 1..l].to_vec(); 
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/enci/parentnot.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 |     for (i,c_) in c.iter().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/enci/mat2sort.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 |     for (i,s_) in s.into_iter().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/setf.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let mut s = "lasjdflsadjfsal;fjsald;fjsadl;_flsakdjflas;dfjls;adkjf";
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/setf.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut s2 = "lasjdflsadjfsal;fjsald;fjsadl;";
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/setf.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let mut s = "arbitrox_bartinuell_radinox".to_string();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/setf.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut s2 = str_to_vec(s,'_');
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/setf.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let mut s = vec!["lasjdflsadjfsal;fjsald;fjsadl;"];
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/setf.rs:270:13
[INFO] [stdout]     |
[INFO] [stdout] 270 |         let mut s2 = vec!["one","two","2","three"];
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/setf.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let mut y1 = vec![1,2,3];
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/setf.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |         let mut y2 = vec![2,3,7];
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/setf.rs:284:13
[INFO] [stdout]     |
[INFO] [stdout] 284 |         let mut ans = (x.data.get_mut("1").unwrap()).clone();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/setf.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let mut ans = (x.data.get_mut("2").unwrap()).clone();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/setf.rs:290:13
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let mut ans = (x.data.get_mut("3").unwrap()).clone();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/setf.rs:293:13
[INFO] [stdout]     |
[INFO] [stdout] 293 |         let mut ans = (x.data.get_mut("7").unwrap()).clone();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_`
[INFO] [stdout]    --> src/enci/mat2sort.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let a_: Array2<f32> = a.clone();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_a_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/enci/mat2sort.rs:181:61
[INFO] [stdout]     |
[INFO] [stdout] 181 |             {f(a.clone().into_iter().enumerate().filter(|(i,x)| !ignore_col.clone().unwrap().contains(&i)).map(|(i,x)| x).collect() )};
[INFO] [stdout]     |                                                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/enci/mat2sort.rs:181:114
[INFO] [stdout]     |
[INFO] [stdout] 181 |             {f(a.clone().into_iter().enumerate().filter(|(i,x)| !ignore_col.clone().unwrap().contains(&i)).map(|(i,x)| x).collect() )};
[INFO] [stdout]     |                                                                                                                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/enci/mat2sort.rs:183:128
[INFO] [stdout]     |
[INFO] [stdout] 183 | ...nto_iter().enumerate().filter(|(i,x)| !ignore_col.clone().unwrap().contains(&i)).map(|(i,x)| x).collect() )};
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/enci/mat2sort.rs:183:181
[INFO] [stdout]     |
[INFO] [stdout] 183 | ...ne().unwrap().contains(&i)).map(|(i,x)| x).collect() )};
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/enci/mat2sort.rs:227:41
[INFO] [stdout]     |
[INFO] [stdout] 227 |     v3.into_iter().enumerate().filter(|(i,x)| *x != 0.0).map(|(i,x)| i).collect()
[INFO] [stdout]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/enci/mat2sort.rs:227:66
[INFO] [stdout]     |
[INFO] [stdout] 227 |     v3.into_iter().enumerate().filter(|(i,x)| *x != 0.0).map(|(i,x)| i).collect()
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/enci/mat2sort.rs:264:68
[INFO] [stdout]     |
[INFO] [stdout] 264 |     let v4: Vec<(usize,f32)> = v3.into_iter().enumerate().filter(|(i,x)| *x != 0.0).collect();
[INFO] [stdout]     |                                                                    ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x2`
[INFO] [stdout]    --> src/enci/mat2sort.rs:265:28
[INFO] [stdout]     |
[INFO] [stdout] 265 |     v4.into_iter().map(|(x,x2)| x).collect()
[INFO] [stdout]     |                            ^^ help: if this is intentional, prefix it with an underscore: `_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/mat2sort.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |     let mut v3 = v - v2.clone();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/enci/mat2sort.rs:293:13
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let mut d:usize = 0;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/mat2sort.rs:293:9
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let mut d:usize = 0;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/enci/mat2sort.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 306 |     for i in 0..s {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x2`
[INFO] [stdout]    --> src/enci/be_int.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let (x1,x2) = mat2sort::sort_arr2_tie_breakers(d,ic,pr,mat2sort::active_size_of_vec);
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c2` is never read
[INFO] [stdout]    --> src/enci/be_int.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut c2:usize = c.clone();
[INFO] [stdout]     |                 ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |         let mut y = strng_srt::stringized_srted_vec(&mut x);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:419:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let mut s = fcollect(x,0,3);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sm` is never read
[INFO] [stdout]    --> src/enci/be_int.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let mut sm : HashMap<usize,Array1<f32>> = HashMap::new();
[INFO] [stdout]     |                 ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `score`
[INFO] [stdout]    --> src/enci/be_int.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let (sc,score) = self.substitute_solve_chain(acc.clone(),sm.clone(),stat);
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:427:13
[INFO] [stdout]     |
[INFO] [stdout] 427 |         let mut value = vec!["arbitrox".to_string(), "bartinuell".to_string(),
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:437:17
[INFO] [stdout]     |
[INFO] [stdout] 437 |             let mut v2 = strng_srt::stringized_srted_vec(&mut v);
[INFO] [stdout]     |                 ----^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cs`
[INFO] [stdout]    --> src/enci/be_int.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let cs: Vec<i_mem::ContraStruct> = Vec::new();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_cs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let mut x1: Vec<i32> = vec![120,140,3000,34,54,61,1,31,-2];
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:454:13
[INFO] [stdout]     |
[INFO] [stdout] 454 |         let mut x2: Vec<i32> = vec![-2,1,31,54,34];
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:455:13
[INFO] [stdout]     |
[INFO] [stdout] 455 |         let mut s1 = ordered_vec_by_reference(x1,x2.clone());
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:457:13
[INFO] [stdout]     |
[INFO] [stdout] 457 |         let mut qsw = vec![-2,1,31,54,34,61,140,120,3000];
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 |         let mut sol = setf::vec_to_str(qsw,'_');
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:459:13
[INFO] [stdout]     |
[INFO] [stdout] 459 |         let mut s1s = setf::vec_to_str(s1,'_');
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:462:13
[INFO] [stdout]     |
[INFO] [stdout] 462 |         let mut x1_: Vec<i32> = vec![120,140,31,3000,34,-2,54,61,1,31,-2];
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:463:13
[INFO] [stdout]     |
[INFO] [stdout] 463 |         let mut s2 = ordered_vec_by_reference(x1_,x2);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:464:13
[INFO] [stdout]     |
[INFO] [stdout] 464 |         let mut s2s = setf::vec_to_str(s2,'_');
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:465:13
[INFO] [stdout]     |
[INFO] [stdout] 465 |         let mut sol2 = "-2_-2_1_31_31_54_34_61_140_120_3000".to_string();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:471:14
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let (mut rs,mut rq) = selection_rule::test_rule_contents_2();
[INFO] [stdout]     |              ----^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:471:21
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let (mut rs,mut rq) = selection_rule::test_rule_contents_2();
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:475:18
[INFO] [stdout]     |
[INFO] [stdout] 475 |             let (mut x1,mut x2) = sr_op(&mut sr,c);
[INFO] [stdout]     |                  ----^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/set_gen.rs:475:25
[INFO] [stdout]     |
[INFO] [stdout] 475 |             let (mut x1,mut x2) = sr_op(&mut sr,c);
[INFO] [stdout]     |                         ----^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/strng_srt.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut x2: Vec<i32> = (65..91).into_iter().collect();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/strng_srt.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut x3: Vec<i32> = (97..122).into_iter().collect();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/strng_srt.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut j = i % 61;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/enci/be_int.rs:276:13
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let j = 0;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sz3`
[INFO] [stdout]    --> src/enci/be_int.rs:333:17
[INFO] [stdout]     |
[INFO] [stdout] 333 |             let sz3:usize = related_indices.len();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sz3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/strng_srt.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let mut s = u.to_string(); 
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dummy`
[INFO] [stdout]    --> src/enci/be_int.rs:414:13
[INFO] [stdout]     |
[INFO] [stdout] 414 |         let dummy:Array1<f32> = Array1::zeros(s.len());
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_dummy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/strng_srt.rs:306:14
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let (mut x1,mut x2):(T,T2) = (h.0.clone(),h.1.clone());
[INFO] [stdout]     |              ----^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/strng_srt.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let (mut x1,mut x2):(T,T2) = (h.0.clone(),h.1.clone());
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sol`
[INFO] [stdout]    --> src/enci/be_int.rs:522:13
[INFO] [stdout]     |
[INFO] [stdout] 522 |         let sol:Array1<f32> = Array1::default(expr.len());
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_sol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l2`
[INFO] [stdout]    --> src/enci/be_int.rs:523:13
[INFO] [stdout]     |
[INFO] [stdout] 523 |         let l2 = expr.len() - 2;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_l2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/enci/be_int.rs:548:17
[INFO] [stdout]     |
[INFO] [stdout] 548 |             let x = expr[i].clone();
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_rsoln`
[INFO] [stdout]    --> src/enci/be_int.rs:637:13
[INFO] [stdout]     |
[INFO] [stdout] 637 |         let new_rsoln = self.r_soln.clone();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_rsoln`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stat_solved`
[INFO] [stdout]    --> src/enci/be_int.rs:638:13
[INFO] [stdout]     |
[INFO] [stdout] 638 |         let stat_solved:bool = true;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stat_solved`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/strng_srt.rs:363:13
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let mut v3 = vec!["ant".to_string(),"balkans".to_string(),"blacks".to_string()];
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/strng_srt.rs:364:13
[INFO] [stdout]     |
[INFO] [stdout] 364 |         let mut s3 = inc1string_vector_max(v3);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/strng_srt.rs:373:13
[INFO] [stdout]     |
[INFO] [stdout] 373 |         let mut sol = vec!["a".to_string(),"c".to_string(),"za".to_string(),
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/strng_srt.rs:381:13
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let mut y = stringized_srted_vec(&mut x);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/setc.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut value = vec!["arbitrox".to_string(), "bartinuell".to_string(),
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/setti/inc.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         for i in 0..5 {
[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 does not need to be mutable
[INFO] [stdout]    --> src/setti/inc.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut q = Inc1{value:3};
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/inc.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut q = Inc1String{value:"a".to_string()};
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/enci/be_int.rs:936:16
[INFO] [stdout]     |
[INFO] [stdout] 936 |         for (k,v) in sm.clone().iter() {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k2`
[INFO] [stdout]     --> src/enci/be_int.rs:1037:13
[INFO] [stdout]      |
[INFO] [stdout] 1037 |         let k2 = keys.clone();
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_k2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k2`
[INFO] [stdout]     --> src/enci/be_int.rs:1074:13
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         let k2: HashSet<usize> = key_indices.clone().into_iter().collect();
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_k2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/selection_rule.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let mut k:usize = self.data.raw_dim()[1];
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut k:usize = self.data.raw_dim()[1];
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/setti/selection_rule.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut s:String = strng_srt::stringized_srted_vec(&mut w_);
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/setti/selection_rule.rs:204:17
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut s:String = strng_srt::stringized_srted_vec(&mut cw_);
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q`
[INFO] [stdout]     --> src/enci/be_int.rs:1195:13
[INFO] [stdout]      |
[INFO] [stdout] 1195 |         let q = cache.clone();
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sm`
[INFO] [stdout]     --> src/enci/be_int.rs:1196:13
[INFO] [stdout]      |
[INFO] [stdout] 1196 |         let sm: HashMap<usize,Array1<f32>> = HashMap::new();
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_sm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut l:usize = choice.len();
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut ix: usize = l - i;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let mut c2: Vec<usize> = choice[0..choice.len() - i].to_vec().clone();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut s:String = strng_srt::stringized_srted_vec(&mut w_);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:204:13
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut s:String = strng_srt::stringized_srted_vec(&mut cw_);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `y` is never read
[INFO] [stdout]    --> src/setti/selection_rule.rs:256:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let mut y:i32 = -1;
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rs`
[INFO] [stdout]     --> src/enci/be_int.rs:1361:13
[INFO] [stdout]      |
[INFO] [stdout] 1361 |         let rs = self.relevance_submatrix(ui_.clone());
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:421:13
[INFO] [stdout]     |
[INFO] [stdout] 421 |         let mut sol = build_restriction_matrix(rs,rest,k);
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:423:13
[INFO] [stdout]     |
[INFO] [stdout] 423 |         let mut a2 = array![[1, 0, 0, 0, 0, 0],
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xx`
[INFO] [stdout]    --> src/setti/selection_rule.rs:447:17
[INFO] [stdout]     |
[INFO] [stdout] 447 |         let mut xx = build_rmatrix(rs,-1,rest.clone(),k);
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_xx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xy`
[INFO] [stdout]    --> src/setti/selection_rule.rs:448:17
[INFO] [stdout]     |
[INFO] [stdout] 448 |         let mut xy = build_restriction(rs,rest,k);
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_xy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:447:13
[INFO] [stdout]     |
[INFO] [stdout] 447 |         let mut xx = build_rmatrix(rs,-1,rest.clone(),k);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:448:13
[INFO] [stdout]     |
[INFO] [stdout] 448 |         let mut xy = build_restriction(rs,rest,k);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let mut x = test_rule_contents();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 |         let mut x = test_rule_contents();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:461:13
[INFO] [stdout]     |
[INFO] [stdout] 461 |         let mut x3 = x.0.data * x.1.data;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:462:13
[INFO] [stdout]     |
[INFO] [stdout] 462 |         let mut nx = collision_score(x3.clone(),std_collision_score);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res_req` is never read
[INFO] [stdout]    --> src/setti/selection_rule.rs:470:17
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let mut res_req = res.data.clone() * req.data.clone();
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/setti/selection_rule.rs:481:13
[INFO] [stdout]     |
[INFO] [stdout] 481 |         let b = fix_rule_contents_1(&mut res, &mut req, preference);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let mut preference:Array1<i32> = array![0,0,0,0,
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sr`
[INFO] [stdout]    --> src/setti/selection_rule.rs:517:17
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let mut sr = SelectionRule{res:res,req:req,choice:Vec::new()};
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_sr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:515:14
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let (mut res,mut req) = test_rule_contents_2();
[INFO] [stdout]     |              ----^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:515:22
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let (mut res,mut req) = test_rule_contents_2();
[INFO] [stdout]     |                      ----^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:517:13
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let mut sr = SelectionRule{res:res,req:req,choice:Vec::new()};
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cached_values`
[INFO] [stdout]    --> src/enci/pf_op.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let cached_values:Vec<f32> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cached_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:522:14
[INFO] [stdout]     |
[INFO] [stdout] 522 |         let (mut res,mut req) = test_rule_contents_2();
[INFO] [stdout]     |              ----^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:522:22
[INFO] [stdout]     |
[INFO] [stdout] 522 |         let (mut res,mut req) = test_rule_contents_2();
[INFO] [stdout]     |                      ----^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:540:14
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let (mut res,mut req) = test_rule_contents_2();
[INFO] [stdout]     |              ----^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:540:22
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let (mut res,mut req) = test_rule_contents_2();
[INFO] [stdout]     |                      ----^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:543:13
[INFO] [stdout]     |
[INFO] [stdout] 543 |         let mut sol :Vec<String> = vec!["0_5_7".to_string(),"0_1_2_3_4_5_6_7_8_9".to_string(),
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:548:17
[INFO] [stdout]     |
[INFO] [stdout] 548 |             let mut c = sr.choices_at_col_index(i);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:549:17
[INFO] [stdout]     |
[INFO] [stdout] 549 |             let mut ch: HashSet<String>  = c.iter().map(|x| (*x).to_string()).collect();
[INFO] [stdout]     |                 ----^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:559:13
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let mut tt = arr2(&[[-1, 0, 0, 0, 0, 0],
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:571:13
[INFO] [stdout]     |
[INFO] [stdout] 571 |         let mut tt2 = arr2(&[[0, 0, 1, 1, 0, 0],
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:595:13
[INFO] [stdout]     |
[INFO] [stdout] 595 |         let mut w: Option<Vec<usize>> = next_available_forward(c1,8,1);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:596:13
[INFO] [stdout]     |
[INFO] [stdout] 596 |         let mut w_: Vec<usize> = w.unwrap();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:598:13
[INFO] [stdout]     |
[INFO] [stdout] 598 |         let mut s:String = strng_srt::stringized_srted_vec(&mut w__);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:601:13
[INFO] [stdout]     |
[INFO] [stdout] 601 |         let mut w2: Option<Vec<usize>> = next_available_forward(c2,8,1);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:602:13
[INFO] [stdout]     |
[INFO] [stdout] 602 |         let mut w2_: Vec<usize> = w2.unwrap();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:604:13
[INFO] [stdout]     |
[INFO] [stdout] 604 |         let mut s:String = strng_srt::stringized_srted_vec(&mut w2__);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:607:13
[INFO] [stdout]     |
[INFO] [stdout] 607 |         let mut w3: Option<Vec<usize>> = next_available_forward(c3,8,1);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:610:13
[INFO] [stdout]     |
[INFO] [stdout] 610 |         let mut w4: Option<Vec<usize>> = next_available_forward(c4,8,1);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:611:13
[INFO] [stdout]     |
[INFO] [stdout] 611 |         let mut w4_: Vec<usize> = w4.unwrap();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:613:13
[INFO] [stdout]     |
[INFO] [stdout] 613 |         let mut s:String = strng_srt::stringized_srted_vec(&mut w4__);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:616:13
[INFO] [stdout]     |
[INFO] [stdout] 616 |         let mut w5: Option<Vec<usize>> = next_available_forward(c5,8,1);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:617:13
[INFO] [stdout]     |
[INFO] [stdout] 617 |         let mut w5_: Vec<usize> = w5.unwrap();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:619:13
[INFO] [stdout]     |
[INFO] [stdout] 619 |         let mut s:String = strng_srt::stringized_srted_vec(&mut w5__);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:622:13
[INFO] [stdout]     |
[INFO] [stdout] 622 |         let mut w6: Option<Vec<usize>> = next_available_forward(c6,8,1);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:623:13
[INFO] [stdout]     |
[INFO] [stdout] 623 |         let mut w6_: Vec<usize> = w6.unwrap();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/selection_rule.rs:625:13
[INFO] [stdout]     |
[INFO] [stdout] 625 |         let mut s:String = strng_srt::stringized_srted_vec(&mut w6__);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `si`
[INFO] [stdout]   --> src/enci/demo_rng.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let si:Vec<usize> = Array1::zeros(n).into_iter().collect();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_si`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/demo_rng.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut d:Array2<f32> = Array2::default((n,n));
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/enci/demo_rng.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         for i in 0..self.n {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/matrixf.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut c = if is_row {a.slice_mut(s![i,..])} else {a.slice_mut(s![..,i])};
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/implie.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let mut q1 = self.idn.clone();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/implie.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut q2 = other.idn.clone();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/matrixf.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |             let mut l = h.get_mut(&v_).unwrap();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c` is never read
[INFO] [stdout]    --> src/metrice/gorillasf.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let mut c:Vec<Array1<i32>> = Vec::new();
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `a` is never read
[INFO] [stdout]    --> src/metrice/gorillasf.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let mut a:Vec<Array1<i32>> = Vec::new();
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q`
[INFO] [stdout]    --> src/setti/matrixf.rs:207:17
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let mut q = map_function_on_subvector(&mut axx,|x| x + 3 + 3 * x ,modI,true);
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/matrixf.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut modI:Vec<usize> = vec![0,2];
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/matrixf.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let mut q = map_function_on_subvector(&mut axx,|x| x + 3 + 3 * x ,modI,true);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/matrixf.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let mut aRow = ax1.slice_mut(s![0, ..]);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/matrixf.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let mut sol1 = anyat_vec_in_vec_of_arr2(&mut x1,b.clone(),0,false);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/matrixf.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let mut sol2 = anyat_vec_in_vec_of_arr2(&mut x1,b.clone(),1,false);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/matrixf.rs:253:13
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let mut sol3 = anyat_vec_in_vec_of_arr2(&mut x1,b.clone(),3,false);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/matrixf.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut c = anyat_arr2(&mut x1,b.clone());
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/matrixf.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let mut d = arr2(&[[1, 1, 1, 0],
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/vecf.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut q:Vec<T> = si.clone();
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut c: Vec<(usize,usize)> = Vec::new();
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut vs: VSelect = vs::build_vselect(c);
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut cache: Vec<VSelect> = vec![vs];
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |             let mut r = self.results[0].clone();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut vs2 = self.cache[0].clone();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut r = self.results[0].clone();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |             let mut u:Option<VSelect> = self.next_element();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut r = self.k - vs.size();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/metrice/brp.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let d = bmeas::closest_distance_to_subbound((0.,1.),b.clone(),f2);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label_mode_majority`
[INFO] [stdout]    --> src/metrice/brp.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         label_mode_majority:bool) -> ((f32,f32),usize) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_label_mode_majority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let mut stat:bool = true;
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let mut u:Option<VSelect> = dsfg.next_element();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let mut v:VSelect = vs::build_vselect(Vec::new());
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let mut uvs: UVSelect = uvs::build_uvselect(v,Vec::new());
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:321:17
[INFO] [stdout]     |
[INFO] [stdout] 321 |             let mut u:Option<UVSelect> = self.next_element();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bi`
[INFO] [stdout]    --> src/metrice/brp.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let bi = self.fselect.index_of_f32(self.f32_vec[i].clone());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_bi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:408:13
[INFO] [stdout]     |
[INFO] [stdout] 408 |         let mut vs = vs::build_vselect(vec![(0,3)]);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:452:17
[INFO] [stdout]     |
[INFO] [stdout] 452 |             let mut x = dsbg0.next();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/ds_fob_c.rs:465:17
[INFO] [stdout]     |
[INFO] [stdout] 465 |             let mut x = dsbg.next();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/vs.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut d = data[0].clone();
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/vcsv.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut x = file_read_obj(fp.as_str());
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/vs.rs:123:21
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let (mut x1,mut x2) = (self.data[0..l].to_vec(), self.data[l..l2].to_vec());
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `e` is never read
[INFO] [stdout]    --> src/setti/vs.rs:187:30
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let (mut i,mut s,mut e): (usize,usize,usize) = (0,0,0);
[INFO] [stdout]     |                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/vs.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |         let mut vs2 = self.complement(n,d);
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/vs.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let mut vs2 = self.complement(n,d);
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/metrice/vreducer.rs:125:21
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 for j in 0..d {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/metrice/vreducer.rs:131:21
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 for j in 0..d {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/metrice/vreducer.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |             for i in self.fi..l {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/metrice/vreducer.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |             for i in self.si..l {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/uvs.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let mut c = self.v.complement(n,d);
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/metrice/vreducer.rs:340:24
[INFO] [stdout]     |
[INFO] [stdout] 340 |     s.into_iter().map(|x| 0.01).collect()
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/uvs.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut vsel = vs::build_vselect(data);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/gorillains.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut sol: (usize,f32) = (0,(label_intervals[0].clone()).abs());
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sol`
[INFO] [stdout]   --> src/setti/hashfit.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let sol:Vec<Array1<usize>> = Vec::new();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_sol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sf` is never read
[INFO] [stdout]   --> src/setti/hashfit.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut sf:f32 = 0.0;
[INFO] [stdout]    |                 ^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/gorillains.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let mut x1 = self.approach.apply(v.clone(),self.tail_mode).1.unwrap();
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillains.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut x1 = self.approach.apply(v.clone(),self.tail_mode).0.unwrap();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/setti/hashfit.rs:6:50
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn fcollect_max_proper_hashfit_wrt_reference(mut d:Vec<Array1<usize>>,r:Array1<usize>,g:fn(Vec<Array1<usize>>,Array1<usize>) -> f32,v...
[INFO] [stdout]   |                                                  ----^
[INFO] [stdout]   |                                                  |
[INFO] [stdout]   |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/hashfit.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 | ...   let mut f: Vec<HashSet<String>> = f_.clone().into_iter().map(|x| HashSet::<String>::from_iter((HashSet::<usize>::from_iter(x.into_i...
[INFO] [stdout]    |           ----^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/hashfit.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let mut hr:HashSet<usize> = HashSet::<usize>::from_iter(r.clone().into_iter());
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/hashfit.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let mut hr:HashSet<usize> = HashSet::<usize>::from_iter(r.clone().into_iter());
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/hashfit.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let mut ws = checker.len() + (*q).len();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v1`
[INFO] [stdout]   --> src/metrice/btchcorrctrc.rs:80:14
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let (v1,v2) = m_refactor_skew_batch_type_a(sb.clone(),reference.clone(),m);
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/btchcorrctrc.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut vm: Vec<i32> = vm_.into_iter().collect();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/setti/hashfit.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let r:Array1<usize> = arr1(&[1,2]);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r3`
[INFO] [stdout]    --> src/setti/hashfit.rs:276:13
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let r3:Array1<usize> = arr1(&[0,1,5,6]);
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_r3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m1`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:135:10
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let (m1,m4,mn) = min_max_mean_of_skew_batch_type_a(ta2.clone());
[INFO] [stdout]     |          ^^ help: if this is intentional, prefix it with an underscore: `_m1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m4`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let (m1,m4,mn) = min_max_mean_of_skew_batch_type_a(ta2.clone());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_m4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mn`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:135:16
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let (m1,m4,mn) = min_max_mean_of_skew_batch_type_a(ta2.clone());
[INFO] [stdout]     |                ^^ help: if this is intentional, prefix it with an underscore: `_mn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vh1`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:142:10
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let (vh1,vm1,s1) = a_refactor_skewf32_batch_type_a(ta2.clone(),k,m1);
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_vh1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm1`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:142:14
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let (vh1,vm1,s1) = a_refactor_skewf32_batch_type_a(ta2.clone(),k,m1);
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_vm1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vh2`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let (vh2,vm4,s2) = a_refactor_skewf32_batch_type_a(ta2.clone(),k,m4);
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_vh2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm4`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:143:14
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let (vh2,vm4,s2) = a_refactor_skewf32_batch_type_a(ta2.clone(),k,m4);
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_vm4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vh3`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:144:10
[INFO] [stdout]     |
[INFO] [stdout] 144 |     let (vh3,vmn,s3) = a_refactor_skewf32_batch_type_a(ta2.clone(),k,mn);
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_vh3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vmn`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:144:14
[INFO] [stdout]     |
[INFO] [stdout] 144 |     let (vh3,vmn,s3) = a_refactor_skewf32_batch_type_a(ta2.clone(),k,mn);
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_vmn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let (mut ta2,mut k) = scale_skewf32_batch_type_a(sb.clone());
[INFO] [stdout]     |          ----^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:134:18
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let (mut ta2,mut k) = scale_skewf32_batch_type_a(sb.clone());
[INFO] [stdout]     |                  ----^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 |     let (q,k) = adder_score_pair_vec_on_skew_batch_type_a(sb.clone());
[INFO] [stdout]     |            ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let (m,s) = q[index].clone();
[INFO] [stdout]     |            ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:162:10
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let (mut ta2,mut k) = scale_skewf32_batch_type_a(sb.clone());
[INFO] [stdout]     |          ----^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:162:18
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let (mut ta2,mut k) = scale_skewf32_batch_type_a(sb.clone());
[INFO] [stdout]     |                  ----^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut h1 = skewf32::SkewF32{sk:h1_.clone(),s:k};
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut sfv = skew_to_skewf32_batch_type_a(vsk, k);
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:185:10
[INFO] [stdout]     |
[INFO] [stdout] 185 |     for (i,s) in sk.into_iter().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/disinc.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut h2: HashSet<String> = v2.into_iter().collect();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let mut s2 = s.clone();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:204:13
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut sk2 = skew::build_skew(None,None,Some(a2),None,vec![2],None);
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let mut k:usize =  (0..l).into_iter().map(|x| sb[x].s.clone()).into_iter().max().unwrap();
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut x:i32 = i32::pow(10,d as u32);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let mut r2:Array1<i32> = sb[i].sk.addit.clone().unwrap() * x;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/disinc.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let mut d1:HashSet<T> = vk.difference(&vk2).into_iter().map(|x| (*x).clone()).collect();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/disinc.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let mut d2:HashSet<T> = vk2.difference(&vk).into_iter().map(|x| (*x).clone()).collect();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/disinc.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let mut i2:HashSet<T> = vk.intersection(&vk2).into_iter().map(|x| (*x).clone()).collect();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/disinc.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let mut vk2:HashSet<String> = vc.data.clone().into_keys().collect();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/disinc.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut vk:HashSet<String> = self.vcproc.data.clone().into_keys().collect();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/setti/disinc.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |         let mut dif = build_DisIncForwardChainHead(idn,rv,dsr);
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/btchcorrctr.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut v2:Array1<f32> = (0..l1).into_iter().map(|x| v[x].clone()).collect();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/btchcorrctr.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut v2:Array1<f32> = (0..l2).into_iter().map(|x| s2[x].clone()).collect();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q`
[INFO] [stdout]   --> src/setti/fs.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut q = self.meen.clone() * self.frequency as f32;
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/fs.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut q = self.meen.clone() * self.frequency as f32;
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `om`
[INFO] [stdout]   --> src/setti/fs.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let om: HashSet<String> = HashSet::from_iter(["basic".to_string(), "fm".to_string()]);
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_om`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `md`
[INFO] [stdout]   --> src/setti/fs.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut md: f32 = f32::MAX;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_md`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `md1`
[INFO] [stdout]   --> src/setti/fs.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut md1: f32 = f32::MIN;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_md1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let mut q: Vec<skewf32::SkewF32> = if is_batch {self.b.clone()} else {self.sb.clone()};
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/fs.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut md: f32 = f32::MAX;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/setti/fs.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut md1: f32 = f32::MIN;
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:162:13
[INFO] [stdout]     |
[INFO] [stdout] 162 |         for i in 0..l {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:200:18
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let (s1,s2,s3) = btchcorrctrc::a_refactor_skewf32_batch_type_a(self.bare_skew(true),self.k,c);
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:200:21
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let (s1,s2,s3) = btchcorrctrc::a_refactor_skewf32_batch_type_a(self.bare_skew(true),self.k,c);
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 |             let c_: f32 = (c as f32) / f32::powf(10.,self.k as f32);
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_c_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:207:18
[INFO] [stdout]     |
[INFO] [stdout] 207 |             let (s1,s2,s3) = btchcorrctrc::a_refactor_skewf32_batch_type_a(self.bare_skew(false),self.k,c);
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |             let (s1,s2,s3) = btchcorrctrc::a_refactor_skewf32_batch_type_a(self.bare_skew(false),self.k,c);
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let c_:f32 = c as f32 / f32::powf(10.,self.k as f32);
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_c_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h1`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let (h1,sb1) = btchcorrctrc::m_refactor_skew_batch_type_a(skv,av,c);
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_h1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h1`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 235 |             let (h1,sb1) = btchcorrctrc::m_refactor_skew_batch_type_a(skv,av,c);
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_h1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:249:39
[INFO] [stdout]     |
[INFO] [stdout] 249 |     pub fn mfactor_on_batch(&mut self,b:bool,verbose:bool) -> (Option<i32>,Option<f32>) {
[INFO] [stdout]     |                                       ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v1` is never read
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:293:17
[INFO] [stdout]     |
[INFO] [stdout] 293 |         let mut v1: HashMap<i32,f32> = HashMap::new();        
[INFO] [stdout]     |                 ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:337:14
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let (mut bf1, mut bf2, mut bf3) = self.best_refactor.clone();  
[INFO] [stdout]     |              ----^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:337:23
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let (mut bf1, mut bf2, mut bf3) = self.best_refactor.clone();  
[INFO] [stdout]     |                       ----^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:337:32
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let (mut bf1, mut bf2, mut bf3) = self.best_refactor.clone();  
[INFO] [stdout]     |                                ----^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let mut wanted_values: Vec<Array1<f32>> = self.refn.clone().into_iter().enumerate().map(|(i,y)| self.sb[i].skew_value(y)).collect();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:439:33
[INFO] [stdout]     |
[INFO] [stdout] 439 |     pub fn scale_data(&mut self,scale:Option<usize>,is_batch:bool) -> (Vec<skew::Skew>,Vec<Array1<i32>>) {//(Vec<skew::Skew>,Vec<Array1<i...
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x2`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:461:16
[INFO] [stdout]     |
[INFO] [stdout] 461 |         let (x,x2):(usize,&Array1<f32>) = self.refn.iter().enumerate().fold(default,
[INFO] [stdout]     |                ^^ help: if this is intentional, prefix it with an underscore: `_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 |         let mut default:(usize,&Array1<f32>) = (0,&self.refn[0].clone()); 
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/setti/impli.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         for i in 0..n {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let mut brx = vcsv::build_BatchReader(fp,bs,false,'_');
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut brx2: Option<vcsv::BatchReader> = if fp2.is_none() {None} else 
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let mut gbc = btchcorrctr::empty_GBatchCorrector(base_vr.clone(),k);
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let mut gbc2 = btchcorrctr::empty_GBatchCorrector(base_vr.clone(),k);
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/setti/impli.rs:196:33
[INFO] [stdout]     |
[INFO] [stdout] 196 |         (0..n).into_iter().map(|x| self.kstatement_fn.0.next()).collect()
[INFO] [stdout]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/setti/impli.rs:202:33
[INFO] [stdout]     |
[INFO] [stdout] 202 |         (0..n).into_iter().map(|x| self.options_ratio_fn.0.next()).collect()
[INFO] [stdout]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/setti/impli.rs:208:33
[INFO] [stdout]     |
[INFO] [stdout] 208 |         (0..n).into_iter().map(|x| self.closure_ratio_fn.0.next()).collect() 
[INFO] [stdout]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x2`
[INFO] [stdout]    --> src/metrice/gorillaj.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let (x1,x2) = (*gi).improve_approach__labels(self.is_tailn);
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let mut y = self.label_load1.as_ref().unwrap()[i].clone() as usize;
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x2` is never read
[INFO] [stdout]    --> src/metrice/gorillaj.rs:231:17
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let mut x2:Array1<f32> = x.clone();
[INFO] [stdout]     |                 ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let mut x = self.data_load[i].clone();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let mut y:Array1<usize> = self.label_loadn.as_ref().unwrap()[i].clone().into_iter().map(|x| x as usize).collect();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:258:13
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let mut x: Array1<f32> = self.data_load[i].clone();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let mut q_ = self.bc.map_sample(x.clone());
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:354:13
[INFO] [stdout]     |
[INFO] [stdout] 354 |         let mut q2_ = self.bc2.map_sample(x.clone());    
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/gessir.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let mut arc_clone = unsafe { ARCMUT[0].clone() };
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/metrice/gessir.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     for i in 0..sz {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/gessir.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut arc_clone = unsafe { ARCMUT_F32[i].clone() };
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/gessir.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let mut arc_clone = unsafe { ARCMUT_F32[i].clone() };
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]   --> src/setti/impf.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let l = self.m.len();
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/metrice/fc.rs:69:48
[INFO] [stdout]    |
[INFO] [stdout] 69 |         self.pc = (0..self.p).into_iter().map(|x| 0).collect();
[INFO] [stdout]    |                                                ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seq_encoder.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut q = self.t.unwrap();
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seq_encoder.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let mut q = &format!("* floor div: {:?} | {} | {} ",self.t,self.b,self.m);
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xx`
[INFO] [stdout]    --> src/enci/seq_encoder.rs:107:21
[INFO] [stdout]     |
[INFO] [stdout] 107 |             let mut xx = if (*q).t.is_none() {01} else {(*q).t.unwrap()};
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_xx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seq_encoder.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |             let mut xx = if (*q).t.is_none() {01} else {(*q).t.unwrap()};
[INFO] [stdout]     |                 ----^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `value` and `clone` are never used
[INFO] [stdout]   --> src/enci/seq_encoder.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl FloorDiv {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn value(&mut self, i: i32) ->i32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn clone(&mut self) -> FloorDiv {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexFractionNotation` is never constructed
[INFO] [stdout]   --> src/enci/seq_encoder.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct IndexFractionNotation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_index_fraction_notation` is never used
[INFO] [stdout]   --> src/enci/seq_encoder.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn build_index_fraction_notation(v_: Array1<i32>) -> IndexFractionNotation {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `process`, `get_floordiv`, and `output` are never used
[INFO] [stdout]    --> src/enci/seq_encoder.rs:64:12
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl IndexFractionNotation {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64  |     pub fn process(&mut self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |     pub fn get_floordiv(&mut self, i:i32,y:i32) -> Option<FloorDiv> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn output(&mut self, i: i32) -> i32 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `active`, `skew_value`, and `apply_at` are never used
[INFO] [stdout]    --> src/enci/skew.rs:86:12
[INFO] [stdout]     |
[INFO] [stdout] 82  | impl Skew {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86  |     pub fn active(&mut self) -> HashSet<usize> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn skew_value(&mut self, mut v : Array1<i32>) -> Array1<i32> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn apply_at(&mut self, v:Array1<i32>, i:usize) -> Array1<i32> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skew_search_ordering` is never used
[INFO] [stdout]   --> src/enci/seqe.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn skew_search_ordering() -> Vec<Vec<usize>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_cheapest_skew` is never used
[INFO] [stdout]   --> src/enci/seqe.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn find_cheapest_skew(v1:Array1<i32>,v2:Array1<i32>) -> Skew {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skews_special_case` is never used
[INFO] [stdout]   --> src/enci/seqe.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn skews_special_case(v1:Array1<i32>,v2:Array1<i32>,skewInst:Vec<usize>) -> (Option<Skew>,Option<Skew>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_skew` is never used
[INFO] [stdout]    --> src/enci/seqe.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn check_skew(mut s:Skew,v1:Array1<i32>,v2:Array1<i32>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cheapest_skew_cost_function` is never used
[INFO] [stdout]    --> src/enci/seqe.rs:119:8
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn cheapest_skew_cost_function(s:Skew) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkewEncoder` is never constructed
[INFO] [stdout]    --> src/enci/seqe.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct SkewEncoder {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skew_vector_pair_case_1` is never used
[INFO] [stdout]    --> src/enci/seqe.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn skew_vector_pair_case_1() -> (Array1<i32>,Array1<i32>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skew_vector_pair_case_2` is never used
[INFO] [stdout]    --> src/enci/seqe.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub fn skew_vector_pair_case_2() -> (Array1<i32>,Array1<i32>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skew_test_case_1` is never used
[INFO] [stdout]    --> src/enci/seqe.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn skew_test_case_1() -> (Option<Skew>,Option<Skew>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seq_encoder.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |             let mut j = ifn.output(i);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `factors_of_usize` is never used
[INFO] [stdout]   --> src/enci/fatorx.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn factors_of_usize(v:usize) -> HashSet<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `factors_of_i32` is never used
[INFO] [stdout]   --> src/enci/fatorx.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn factors_of_i32(v:i32) -> HashSet<i32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gcd_of_i32_pair` is never used
[INFO] [stdout]   --> src/enci/fatorx.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn gcd_of_i32_pair(i1:i32,i2:i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `closest_multiple_i32_pair` is never used
[INFO] [stdout]   --> src/enci/fatorx.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn closest_multiple_i32_pair(u: i32, v: i32, direction:String) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `factors_for_vec` is never used
[INFO] [stdout]   --> src/enci/fatorx.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn factors_for_vec(v1:Vec<i32>) -> Vec<HashSet<i32>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_factor_for_vec` is never used
[INFO] [stdout]   --> src/enci/fatorx.rs:99:8
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub fn is_factor_for_vec(v1:Vec<i32>,f:i32) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seq_encoder.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |             let mut g = q[i as usize];
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mean_multiple` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn mean_multiple(v1:Array1<i32>,v2:Array1<i32>) ->i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gcf_for_vec` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn gcf_for_vec(v1:Vec<i32>) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gcf_add4mult_vec` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub fn gcf_add4mult_vec(v1:Array1<i32>,v2:Array1<i32>) -> Array1<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cheapest_multiple_vec` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub fn cheapest_multiple_vec(v1:Array1<i32>,v2:Array1<i32>) ->Array1<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seq_encoder.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |             let mut j = ifn3.output(i);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cheapest_multiple` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub fn cheapest_multiple(v1:Array1<i32>,v2:Array1<i32>) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cheapest_add` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub fn cheapest_add(v1:Array1<i32>,v2:Array1<i32>) ->i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seq_encoder.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 |             let mut g = ans3[i as usize];
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cheapest_add_vec` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub fn cheapest_add_vec(v1:Array1<i32>,v2:Array1<i32>) ->Array1<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `median_of_iterable` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub fn median_of_iterable<T>(v:Vec<T>) -> (T,Option<T>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `median_of_iterable_` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub fn median_of_iterable_<T>(v:Vec<T>) -> (usize,Option<usize>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_by_distance_to_median` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub fn sort_by_distance_to_median<T>(v:Vec<T>) -> Vec<T>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `neg_double_vec` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:269:8
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub fn neg_double_vec(v:Vec<usize>) -> Vec<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ranked_mult_additives_for_i32` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:284:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub fn ranked_mult_additives_for_i32(v:i32,v2:i32) -> Vec<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ranked_mult_additive_for_vec` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:297:8
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub fn ranked_mult_additive_for_vec(v:Array1<i32>,v2:Array1<i32>) -> Vec<Vec<i32>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_satisfying_mult_additive_for_vec` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn max_satisfying_mult_additive_for_vec(v:Array1<i32>,v2:Array1<i32>) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `closest_i32_to_mean` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:324:8
[INFO] [stdout]     |
[INFO] [stdout] 324 | pub fn closest_i32_to_mean(v:Array1<i32>) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `closest_i32_to_median` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:334:8
[INFO] [stdout]     |
[INFO] [stdout] 334 | pub fn closest_i32_to_median(v:Array1<i32>) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `intersection_set_for_hashsetvec` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:346:8
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub fn intersection_set_for_hashsetvec<T>(v:Vec<HashSet<T>>) ->HashSet<T>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr1_safe_divide` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:367:8
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn arr1_safe_divide(v1:Array1<f32>,v2:Array1<f32>,n:f32) -> Array1<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_arr1_pair_1` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub fn sample_arr1_pair_1() -> (Array1<i32>,Array1<i32>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_arr1_pair_2` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:388:8
[INFO] [stdout]     |
[INFO] [stdout] 388 | pub fn sample_arr1_pair_2() -> (Array1<i32>,Array1<i32>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_arr1_pair_3` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub fn sample_arr1_pair_3() -> (Array1<i32>,Array1<i32>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_function_identifier_seed` is never used
[INFO] [stdout]   --> src/enci/ohop.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn default_function_identifier_seed() -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_OrderOfOperator_soln1` is never used
[INFO] [stdout]    --> src/enci/ohop.rs:284:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub fn sample_OrderOfOperator_soln1() -> (Vec<String>,HashMap<String,String>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_OrderOfOperator_soln2` is never used
[INFO] [stdout]    --> src/enci/ohop.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub fn sample_OrderOfOperator_soln2() -> (Vec<String>,HashMap<String,String>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_OrderOfOperator_soln3` is never used
[INFO] [stdout]    --> src/enci/ohop.rs:301:8
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub fn sample_OrderOfOperator_soln3() -> (Vec<String>,HashMap<String,String>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `usize_to_choice_vector` is never used
[INFO] [stdout]  --> src/enci/parentnot.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn usize_to_choice_vector(v:usize) -> Vec<String> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rangevec_to_parenthetical_string` is never used
[INFO] [stdout]   --> src/enci/parentnot.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn rangevec_to_parenthetical_string(c: Vec<usize>, q: Vec<(usize,usize)>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decisionvec_to_rangevec` is never used
[INFO] [stdout]   --> src/enci/parentnot.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn decisionvec_to_rangevec(v:Vec<String>) -> Vec<(usize,usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stringvec_to_usizevec` is never used
[INFO] [stdout]   --> src/enci/parentnot.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn stringvec_to_usizevec(v:Vec<String>) -> Vec<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `continuous_subvectors` is never used
[INFO] [stdout]   --> src/enci/parentnot.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn continuous_subvectors(v:Vec<usize>) -> Vec<(usize,usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_contiguous` is never used
[INFO] [stdout]    --> src/enci/parentnot.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn is_contiguous(v:Vec<usize>,i:usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest_continuous_f_subvector_from_index` is never used
[INFO] [stdout]    --> src/enci/parentnot.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn longest_continuous_f_subvector_from_index<T>(v:Vec<T>,i:usize,x:fn(Vec<T>,usize) -> bool) -> (Vec<T>,usize)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_decision_vec_1` is never used
[INFO] [stdout]    --> src/enci/parentnot.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn sample_decision_vec_1() -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sg`
[INFO] [stdout]   --> src/enci/skew.rs:29:71
[INFO] [stdout]    |
[INFO] [stdout] 29 |         ad: Option<Array1<i32>>, am: Option<Array1<i32>>,o:Vec<usize>,sg:Option<Vec<Vec<usize>>>) -> Skew {
[INFO] [stdout]    |                                                                       ^^ help: if this is intentional, prefix it with an underscore: `_sg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_shuffle_map_arr1` is never used
[INFO] [stdout]   --> src/enci/mat2sort.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn apply_shuffle_map_arr1<T>(a: Array1<T>,s:Array1<usize>) -> Array1<T>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_shuffle_map_arr2` is never used
[INFO] [stdout]   --> src/enci/mat2sort.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn apply_shuffle_map_arr2<T>(a: Array2<T>,s:Array1<usize>,is_row:bool) -> Array2<T>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr2_shuffle_map` is never used
[INFO] [stdout]   --> src/enci/mat2sort.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn arr2_shuffle_map<T>(a:Array2<T>,a2:Array2<T>) -> Array1<usize>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_in_arr2` is never used
[INFO] [stdout]   --> src/enci/mat2sort.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn vec_in_arr2<T>(a:Array2<T>,a2: Array1<T>,is_row:bool) -> Option<usize>
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f32_cmp1` is never used
[INFO] [stdout]   --> src/enci/mat2sort.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn f32_cmp1(s1: &f32, s2: &f32) -> std::cmp::Ordering {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_arr1` is never used
[INFO] [stdout]   --> src/enci/mat2sort.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn sort_arr1(a: Array1<f32>,f: fn(&f32,&f32) -> std::cmp::Ordering) -> Array1<f32> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_arr2` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn sort_arr2(mut a:Array2<f32>,f: fn(&Array1<f32>,&Array1<f32>) -> std::cmp::Ordering) -> Array2<f32> {//f: fn(&Array1<f32>,&Array1<f...
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_arr2_tie_breakers` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn sort_arr2_tie_breakers(a:Array2<f32>,ignore_col: Option<HashSet<usize>>, pr:Array1<f32>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_to_arr2` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn vec_to_arr2<T>(v: Vec<Array1<T>>) -> Option<Array2<T>>
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_insert_in_vec_tie_breakers` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub fn sort_insert_in_vec_tie_breakers(v: &mut Vec<Array1<f32>>,a:Array1<f32>,ignore_col: Option<HashSet<usize>>, pr:Array1<f32>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_size_of_vec` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn active_size_of_vec(v: Array1<f32>) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_indices` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn active_indices(v:Array1<f32>) -> Array1<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_size_distance` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn active_size_distance(v:Array1<f32>,v2:Array1<f32>) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_size_intersection` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn active_size_intersection(v: Array1<f32>, v2:Array1<f32>) -> Array1<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_positive_intersection` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn is_positive_intersection(x1:f32,x2:f32) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr1_intersection_indices` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub fn arr1_intersection_indices(v1:Array1<f32>,v2:Array1<f32>,f: fn(f32,f32) ->bool) -> Array1<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `intersection_difference_measure` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn intersection_difference_measure(v1:Array1<f32>,v2:Array1<f32>) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr1_intersection` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub fn arr1_intersection(v:Array1<f32>,v2:Array1<f32>) -> Vec<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr1_cmp1` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub fn arr1_cmp1(v:&Array1<f32>,v2:&Array1<f32>) -> std::cmp::Ordering {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs_sum_arr1_f32` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub fn abs_sum_arr1_f32(v:Array1<f32>) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `euclidean_distance` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:284:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub fn euclidean_distance(v:Array1<f32>,v2:Array1<f32>) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `euclidean_distance_variable_size` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn euclidean_distance_variable_size(v:Array1<f32>,v2:Array1<f32>,f:f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extend_arr1_w_filler` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:304:8
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub fn extend_arr1_w_filler(v:Array1<f32>,s:usize,f:f32) -> Array1<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_arr2_sort1` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:314:8
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub fn sample_arr2_sort1() -> Array2<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_arr2_sort2` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:323:8
[INFO] [stdout]     |
[INFO] [stdout] 323 | pub fn sample_arr2_sort2() -> Array2<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_pr_sort11` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:332:8
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub fn sample_pr_sort11() -> Array1<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_pr_sort12` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:336:8
[INFO] [stdout]     |
[INFO] [stdout] 336 | pub fn sample_pr_sort12() -> Array1<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `equal_dist_soln_for_f32` is never used
[INFO] [stdout]   --> src/enci/be_int.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn equal_dist_soln_for_f32(bv:Array1<f32>, f:f32) -> Array1<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unknown_size_of_vec` is never used
[INFO] [stdout]   --> src/enci/be_int.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn unknown_size_of_vec(v: Array1<Option<f32>>) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_BEInt` is never used
[INFO] [stdout]   --> src/enci/be_int.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn build_BEInt(data:Array2<f32>,e_soln:Array1<f32>) -> BEInt {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/enci/skew.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let x:usize = self.ordering[i];
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/enci/be_int.rs:100:12
[INFO] [stdout]      |
[INFO] [stdout] 95   | impl BEInt {
[INFO] [stdout]      | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100  |     pub fn initiaado(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106  |     pub fn error_term(&mut self, deflt: f32) -> f32 {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114  |     pub fn ds_arr2(&mut self) -> Array2<f32> {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128  |     pub fn order_bfs(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145  |     pub fn solve_at(&mut self,i:usize,verbose:bool,solve_mode:usize) -> bool {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172  |     pub fn solve_contradiction(&mut self,i:usize,stat:bool,solve_mode:usize) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210  |     pub fn save_to_imem(&mut self,i:usize) {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234  |     pub fn deduce_smap_keys_from_rsoln(&mut self, sm: HashMap<usize,Array1<f32>>) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274  |     pub fn accumulate(&mut self, si:usize,ei:usize) -> Array1<f32> {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297  |     pub fn apply_running_soln_to_expr(&mut self, expr:Array1<f32>,rs:Array1<f32>) -> Array1<f32> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315  |     pub fn check_varsub_contradiction(&mut self, k:usize, substitution_map:HashMap<usize,Array1<f32>>) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323  |     pub fn bfs_sub_on_var(&mut self,k:usize,substitution_map:HashMap<usize,Array1<f32>>,save_data:bool) -> HashSet<usize> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373  |     pub fn substitute_solve_chain(&mut self,expr:Array1<f32>,substitution_map:HashMap<usize,Array1<f32>>,verbose:bool) -> (Array1<Option<...
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 408  |     pub fn substitution_repr(&mut self,s: Array1<f32>, start_ref:usize,end_ref:usize,verbose:bool) -> HashMap<usize,Array1<f32>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 516  |     pub fn conduct_substitution(&mut self,expr:Array1<f32>, substitution_map:HashMap<usize,Array1<f32>>,verbose:bool) -> Array1<f32> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542  |     pub fn conduct_substitution_(&mut self,expr:Array1<f32>, substitution_map:HashMap<usize,Array1<f32>>) -> Array1<f32> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 579  |     pub fn solve_by_unknown_vars(&mut self,unknown_vec:Array1<f32>,rs:Array1<f32>,wanted_value:f32) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602  |     pub fn save_sol_to_rsoln(&mut self,soln:Array1<f32>) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622  |     pub fn deduce_elements_from_rsoln(&mut self,si:usize,ei:usize,verbose:bool) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 692  |     pub fn rsoln_output(&mut self,si:usize,ei:usize) -> Array1<f32> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 708  |     pub fn contradictions_in_range(&mut self,si:usize,ei:usize,absolut:bool,verbose:bool) -> HashSet<usize> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 746  |     pub fn var_repr(&mut self,si:usize,vi:usize) -> Option<Array1<f32>> {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 777  |     pub fn var_reprs_in_range(&mut self, vi:usize,si:usize,ei:usize) -> Vec<Array1<f32>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 793  |     pub fn var_reprs_in_range_filtered(&mut self,vi:usize,si:usize,ei:usize,excluded_vars:HashSet<usize>) -> Vec<Array1<f32>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 820  |     pub fn is_contradictory_substitution_map(&mut self, substitution_map:HashMap<usize,Array1<f32>>) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 837  |     pub fn running_soln_of_sample(&mut self,v:Array1<f32>) -> Array1<f32> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 856  |     pub fn active_size_of_expr(&mut self, expr: Array1<f32>) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 864  |     pub fn active_size_of_soln(&mut self,soln:Array1<Option<f32>>) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 872  |     pub fn active_indices_of_expr(&mut self, expr: Array1<f32>) -> HashSet<usize> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 879  |     pub fn active_indices_of_soln(&mut self, soln: Array1<Option<f32>>) -> HashSet<usize> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 885  |     pub fn representative_indices_of_expr(&mut self, expr: Array1<f32>,sm: HashMap<usize,Array1<f32>>) -> HashSet<usize> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 896  |     pub fn representative_indices_of_smap(&mut self, sm: HashMap<usize,Array1<f32>>) -> HashSet<usize> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 915  |     pub fn remaining_unknown_of_sample(&mut self, s: Array1<f32>, r:Array1<f32>) -> Array1<f32> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 933  |     pub fn submap_var_frequency(&mut self,sm:HashMap<usize,Array1<f32>>) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 945  |     pub fn representative_table(&mut self) -> HashMap<usize,Array1<f32>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 974  |     pub fn relevant_vars_of_var_in_relevance_table(&mut self,rt:HashMap<usize,Array1<f32>>,i:usize) -> Array1<f32> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 985  |     pub fn relevant_vars_structure_of_var_in_relevance_table(&mut self,mut rt:HashMap<usize,Array1<f32>>,i:usize) -> Vec<HashSet<usize>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1035 |     pub fn representative_relevance_table(&mut self,mut rt:HashMap<usize,Array1<f32>>,index_order:Array1<usize>) -> Array2<f32> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1065 |     pub fn representative_analysis_(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1072 |     pub fn relevance_submatrix(&mut self,key_indices:Array1<usize>) -> HashMap<usize,Array1<f32>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1087 |     pub fn rr_submatrix(&mut self,key_indices:Array1<usize>) -> Array2<f32> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1095 |     pub fn representative_analysis(&mut self,rrm:Array2<f32>, index_keys:Array1<usize>) -> Vec<(usize,f32)> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1120 |     pub fn select_var_repr_by_max_candidates(&mut self,i:usize, excluded_vars: HashSet<usize>) -> Option<Array1<f32>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1143 |     pub fn substitutions_at_forward(&mut self, sm: HashMap<usize,Array1<f32>>, ordering: Vec<usize>) -> Option<Vec<(HashMap<usize,Array1<...
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1191 |     pub fn cover_vars_by_substitution(&mut self,rep_analysis:Vec<(usize,f32)>) -> HashMap<usize,Array1<f32>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1255 |     pub fn brute_force_cover_vars_by_substitution(&mut self,expr:Array1<f32>,rep_analysis:Vec<(usize,f32)>, verbose:bool) -> HashMap<usiz...
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1313 |     pub fn parent_vars_of_var_in_map(&mut self,mut hm: HashMap<usize,Array1<f32>>, vi: usize) -> HashSet<usize> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1350 |     pub fn representative_decision_smap(&mut self,expr:Array1<f32>,verbose:bool) -> HashMap<usize,Array1<f32>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_BEInt_1` is never used
[INFO] [stdout]     --> src/enci/be_int.rs:1379:8
[INFO] [stdout]      |
[INFO] [stdout] 1379 | pub fn test_sample_BEInt_1() -> (Array2<f32>,Array1<f32>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_BEInt_2` is never used
[INFO] [stdout]     --> src/enci/be_int.rs:1389:8
[INFO] [stdout]      |
[INFO] [stdout] 1389 | pub fn test_sample_BEInt_2() -> (Array2<f32>,Array1<f32>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_BEInt_3` is never used
[INFO] [stdout]     --> src/enci/be_int.rs:1395:8
[INFO] [stdout]      |
[INFO] [stdout] 1395 | pub fn test_sample_BEInt_3() -> (Array2<f32>,Array1<f32>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_BEInt_4` is never used
[INFO] [stdout]     --> src/enci/be_int.rs:1409:8
[INFO] [stdout]      |
[INFO] [stdout] 1409 | pub fn test_sample_BEInt_4() -> (Array2<f32>,Array1<f32>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_BEInt_5` is never used
[INFO] [stdout]     --> src/enci/be_int.rs:1419:8
[INFO] [stdout]      |
[INFO] [stdout] 1419 | pub fn test_sample_BEInt_5() -> (Array2<f32>,Array1<f32>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_BEInt_6` is never used
[INFO] [stdout]     --> src/enci/be_int.rs:1430:8
[INFO] [stdout]      |
[INFO] [stdout] 1430 | pub fn test_sample_BEInt_6() -> (Array2<f32>,Array1<f32>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_BEInt_7` is never used
[INFO] [stdout]     --> src/enci/be_int.rs:1436:8
[INFO] [stdout]      |
[INFO] [stdout] 1436 | pub fn test_sample_BEInt_7() -> (Array2<f32>,Array1<f32>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_contrastruct` is never used
[INFO] [stdout]   --> src/enci/i_mem.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn build_contrastruct(index_identifier:Vec<usize>,expected:Option<f32>,got:Option<f32>) -> ContraStruct {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_one_imem` is never used
[INFO] [stdout]   --> src/enci/i_mem.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn build_one_imem() -> IMem {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `timestamp_differences`, `add_soln`, `add_contradiction`, `contrastructs_at_ii`, and `add_contradicted_sequence` are never used
[INFO] [stdout]   --> src/enci/i_mem.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl IMem {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn timestamp_differences(&mut self,t1:usize,t2:usize,f: fn(&Array1<Option<f32>>) -> HashSet<usize>) -> (HashSet<usize>,HashSet<us...
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn add_soln(&mut self,soln: Array1<Option<f32>>) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn add_contradiction(&mut self,c: ContraStruct) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn contrastructs_at_ii(&mut self,ii: Vec<Option<usize>>) -> Vec<ContraStruct> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn add_contradicted_sequence(&mut self,ieg: Array2<Option<f32>>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OperatorSequence` is never constructed
[INFO] [stdout]   --> src/enci/pf_op.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct OperatorSequence {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_operator_sequence` is never used
[INFO] [stdout]   --> src/enci/pf_op.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn build_operator_sequence(s: Vec<fn(f32,f32) -> f32>) -> OperatorSequence {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PFOperator` is never constructed
[INFO] [stdout]   --> src/enci/pf_op.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct PFOperator {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_PFOperator` is never used
[INFO] [stdout]   --> src/enci/pf_op.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn build_PFOperator(oo: ohop::OrderOfOperator,os: OperatorSequence,hm: HashMap<String,f32>,) -> PFOperator {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/enci/pf_op.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl PFOperator {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65  |     pub fn is_unknown(&mut self,k:String) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69  |     pub fn try_solving_key(&mut self,k:String) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81  |     pub fn fetch_value(&mut self,identifier:String) -> Option<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn solve_pexpr_if_known(&mut self,pexpr:String) -> Option<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn process_one_branch(&mut self) -> Option<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn process(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn process_solved(&mut self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub fn output(&mut self) -> Option<f32> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_PFOperator_1` is never used
[INFO] [stdout]    --> src/enci/pf_op.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn test_sample_PFOperator_1() -> PFOperator {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `skew_value` and `skew_size` are never used
[INFO] [stdout]   --> src/enci/skewf32.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl SkewF32 {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn skew_value(&mut self, v : Array1<f32>) -> Array1<f32> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn skew_size(&mut self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_char_in_range` is never used
[INFO] [stdout]   --> src/enci/std_rng.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn random_char_in_range() -> char {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/skew.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |             let mut r:&Array1<i32> = self.addit.as_ref().unwrap();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_FrqncCl` is never used
[INFO] [stdout]   --> src/enci/demo_rng.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn default_FrqncCl(v:Vec<f32>,r:(f32,f32)) -> fc::FrqncCl {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/skew.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 135 |             let mut r:&Array1<i32> = self.multit.as_ref().unwrap();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTest1` is never constructed
[INFO] [stdout]   --> src/enci/demo_rng.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct RTest1<T>{
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_RTest1` is never used
[INFO] [stdout]   --> src/enci/demo_rng.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn build_RTest1<T>(s: Box<dyn ns::RN<T>>,r:(f32,f32),n:usize,slide_rate:usize,ar:(f32,f32))
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/enci/demo_rng.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout] 54  | / impl<T> RTest1<T>
[INFO] [stdout] 55  | | where T: Into<f64>{
[INFO] [stdout]     | |__________________- methods in this implementation
[INFO] [stdout] 56  |
[INFO] [stdout] 57  |       pub fn run(&mut self) {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62  |       pub fn one_sample(&mut self) -> Vec<f64> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71  |       pub fn add_one_sample(&mut self,i:usize) -> f32 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81  |       pub fn initial_data_load(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88  |       pub fn full_config_scan(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99  |       pub fn column_scan(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |       pub fn increment_si(&mut self) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |       pub fn mod_config(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |       pub fn alert_on_random(&mut self,f:f32,r:Option<usize>,c:Option<usize>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merged_elements_string` is never used
[INFO] [stdout]   --> src/enci/implie.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn merged_elements_string(s: Vec<String>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cmp_arr1_pair_1` is never used
[INFO] [stdout]   --> src/metrice/deviance.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn cmp_arr1_pair_1(a1:Array1<i32>,a2:Array1<i32>,existence_weight:f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `std_dev_arr1_f32` is never used
[INFO] [stdout]   --> src/metrice/deviance.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn std_dev_arr1_f32(a1:Array1<f32>) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_cmp_arr1_pair1` is never used
[INFO] [stdout]   --> src/metrice/deviance.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn test_cmp_arr1_pair1() -> (Array1<i32>,Array1<i32>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_cmp_arr1_pair2` is never used
[INFO] [stdout]   --> src/metrice/deviance.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn test_cmp_arr1_pair2() -> (Array1<i32>,Array1<i32>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_cmp_arr1_pair3` is never used
[INFO] [stdout]   --> src/metrice/deviance.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn test_cmp_arr1_pair3() -> (Array1<i32>,Array1<i32>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_cmp_arr1_pair4` is never used
[INFO] [stdout]   --> src/metrice/deviance.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn test_cmp_arr1_pair4() -> (Array1<i32>,Array1<i32>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_cmp_arr1_pair5` is never used
[INFO] [stdout]   --> src/metrice/deviance.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn test_cmp_arr1_pair5() -> (Array1<i32>,Array1<i32>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `euclids_sequence` is never used
[INFO] [stdout]   --> src/metrice/gorillasf.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn euclids_sequence(u:i32,v:i32) -> (Array1<i32>,Array1<i32>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `euclids_sequence_` is never used
[INFO] [stdout]   --> src/metrice/gorillasf.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn euclids_sequence_(v: Array1<i32>) -> Vec<Array1<i32>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normal_measure_of_sequence` is never used
[INFO] [stdout]   --> src/metrice/gorillasf.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn normal_measure_of_sequence(a:Vec<Array1<i32>>,i:usize,existence_weight:f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sequence_analysis_` is never used
[INFO] [stdout]   --> src/metrice/gorillasf.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn sequence_analysis_(a:Vec<Array1<i32>>,existence_weight:f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gorilla_touch_arr1_basic` is never used
[INFO] [stdout]    --> src/metrice/gorillasf.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn gorilla_touch_arr1_basic(s: Array1<i32>, existence_weight:f32) -> (Array1<f32>,Array1<f32>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gorilla_touch_arr1_gcd` is never used
[INFO] [stdout]    --> src/metrice/gorillasf.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn gorilla_touch_arr1_gcd(s: Array1<i32>, existence_weight:f32) -> Array1<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_gorilla_touch_arr1_1` is never used
[INFO] [stdout]    --> src/metrice/gorillasf.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn test_sample_gorilla_touch_arr1_1() -> Array1<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_gorilla_touch_arr1_2` is never used
[INFO] [stdout]    --> src/metrice/gorillasf.rs:189:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub fn test_sample_gorilla_touch_arr1_2() -> Array1<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_subbound` is never used
[INFO] [stdout]   --> src/metrice/bmeas.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn is_subbound(b:(f32,f32),b2:(f32,f32)) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bounds_intersect` is never used
[INFO] [stdout]   --> src/metrice/bmeas.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn bounds_intersect(b1:(f32,f32),b2:(f32,f32)) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calibrate_in_bounds` is never used
[INFO] [stdout]   --> src/metrice/bmeas.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn calibrate_in_bounds(b:(f32,f32),f:f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `additive_in_bounds` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub fn additive_in_bounds(b:(f32,f32),f:f32,a:f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_proper_bounds_vec` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn is_proper_bounds_vec(bv: Vec<(f32,f32)>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/skew.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let mut v: Array1<i32> = arr1(&[0,1,2,5]);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `intersecting_bounds_to_bound` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn intersecting_bounds_to_bound(bv: Vec<(f32,f32)>, v: (f32,f32)) -> Vec<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/skew.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let mut r: Array1<i32> = s.skew_value(v);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge_bounds` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub fn merge_bounds(bv: Vec<(f32,f32)>) -> (f32,f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/skew.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let mut v2: Array1<i32> = arr1(&[8, 12, 16, 28]);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bound_01_to_subbound_f32` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub fn bound_01_to_subbound_f32(refb:(f32,f32),b:(f32,f32)) -> (f32,f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subbound_f32_to_bound_01` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn subbound_f32_to_bound_01(b1:(f32,f32),b2:(f32,f32)) -> (f32,f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bounds_of_bv` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub fn bounds_of_bv(bv: Vec<(f32,f32)>) -> (f32,f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bvec_f32_to_bvec_01` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn bvec_f32_to_bvec_01(fv:Vec<(f32,f32)>) -> Vec<(f32,f32)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bvec_01_to_bvec_f32` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub fn bvec_01_to_bvec_f32(bv:Vec<(f32,f32)>,refb:(f32,f32)) -> Vec<(f32,f32)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pos_neg_add_vecs_target_i32` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:255:8
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub fn pos_neg_add_vecs_target_i32(v1:Array1<i32>,b:(i32,i32),li:i32) -> (Array1<i32>,Array1<i32>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bounded_cheapest_add_target_i32_` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub fn bounded_cheapest_add_target_i32_(v1:Array1<i32>,b:(i32,i32),li:i32) -> Array1<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calibrate_arr1_i32_in_bounds` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:295:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub fn calibrate_arr1_i32_in_bounds(v1:Array1<i32>,b:(i32,i32)) -> Array1<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs_arr1_bdistance` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:308:8
[INFO] [stdout]     |
[INFO] [stdout] 308 | pub fn abs_arr1_bdistance(v1:Array1<i32>, f:i32, b:(i32,i32)) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_bmeas_info` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:315:8
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub fn test_sample_bmeas_info() -> ((f32,f32),(f32,f32),(f32,f32)) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_bmeas_info_2` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:322:8
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub fn test_sample_bmeas_info_2() -> (Array1<i32>,(i32,i32),i32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RangePartitionGF2` is never constructed
[INFO] [stdout]   --> src/metrice/brp.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct RangePartitionGF2 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_range_partition_gf2` is never used
[INFO] [stdout]   --> src/metrice/brp.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn build_range_partition_gf2(f32_vec: Array1<f32>,binary_labels: Array1<usize>,szt:usize,c_type:String) ->RangePartitionGF2 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/metrice/brp.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout] 43  | impl RangePartitionGF2 {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47  |     pub fn output(&mut self,f:f32) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61  |     pub fn is_contra_value(&mut self,f:f32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73  |     pub fn best_label_for_bounds(&mut self,b:(f32,f32),r:(usize,usize)) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn label_fm(&mut self,f: &mut fs::FSelect,f2:f32) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn modify_and_merge_fselect_bounds(&mut self,f: &mut fs::FSelect,bi:usize,f2:f32,r:(usize,usize),
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn brute_force_search__decision(&mut self) -> Option<fs::FSelect> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn update_cache_fselect_scores(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn brute_force_search__decision_at_index(&mut self,i:usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn choices_at_index(&mut self,f:fs::FSelect,i:usize) -> Vec<fs::FSelect> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn score_fselect_(&mut self,f:&mut fs::FSelect,r:(usize,usize),save_contra:bool) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub fn score_fselect_fm(&mut self,f:&mut fs::FSelect,r:(usize,usize)) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn score_fselect(&mut self,f:&mut fs::FSelect,r:(usize,usize),save_contra:bool) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub fn greedy_search__decision(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     pub fn greedy_search__decision_for_f32(&mut self,i:usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_rpgf2_1` is never used
[INFO] [stdout]    --> src/metrice/brp.rs:405:8
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn test_sample_rpgf2_1() -> RangePartitionGF2 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_type_of` is never used
[INFO] [stdout]   --> src/metrice/vcsv.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn print_type_of<T>(_: &T) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr1_seq_to_csv` is never used
[INFO] [stdout]   --> src/metrice/vcsv.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn arr1_seq_to_csv(a:Vec<Array1<f32>>,filename: &str,file_mode:&str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `csv_to_arr1_seq` is never used
[INFO] [stdout]   --> src/metrice/vcsv.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn csv_to_arr1_seq(filepath: &str) -> Result<Vec<Array1<f32>>, Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr1_to_csv` is never used
[INFO] [stdout]   --> src/metrice/vcsv.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn arr1_to_csv(a:Array1<f32>,filename: &str,file_mode:&str) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `csv_to_arr1` is never used
[INFO] [stdout]   --> src/metrice/vcsv.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn csv_to_arr1(filepath: &str) -> Result<Array1<f32>, Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `file_read_obj` is never used
[INFO] [stdout]   --> src/metrice/vcsv.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn file_read_obj(filepath: &str) -> Result<BufReader<File>,Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatchReader` is never constructed
[INFO] [stdout]   --> src/metrice/vcsv.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct BatchReader {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_BatchReader` is never used
[INFO] [stdout]    --> src/metrice/vcsv.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn build_BatchReader(fp: String, bs: usize,singleton: bool,s: char) -> BatchReader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_batch`, `read_numerical_sample_multi`, `read_numerical_sample_singleton`, and `read_batch_numerical` are never used
[INFO] [stdout]    --> src/metrice/vcsv.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl BatchReader {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 107 |
[INFO] [stdout] 108 |     pub fn read_batch(&mut self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn read_numerical_sample_multi(&mut self,t:String) -> Array1<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn read_numerical_sample_singleton(&mut self, t:String) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn read_batch_numerical(&mut self) -> (Option<Vec<f32>>,Option<Vec<Array1<f32>>>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `apply` is never used
[INFO] [stdout]   --> src/metrice/vreducer.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl FCast {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 27 |
[INFO] [stdout] 28 |     pub fn apply(&mut self,a:Array1<f32>) -> Array1<f32> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `apply` is never used
[INFO] [stdout]   --> src/metrice/vreducer.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl FCastF32 {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 34 |
[INFO] [stdout] 35 |     pub fn apply(&mut self,a:Array1<f32>) -> f32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_VRed` is never used
[INFO] [stdout]   --> src/metrice/vreducer.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn build_VRed(fv:Vec<FCast>,sv:Vec<skewf32::SkewF32>,
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:86:12
[INFO] [stdout]     |
[INFO] [stdout] 82  | impl VRed {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86  |     pub fn apply(&mut self,a:Array1<f32>,tail_type:usize) -> (Option<f32>,Option<Array1<f32>>) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn apply_body(&mut self,a:Array1<f32>) -> Array1<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn check_directions(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn reset_i(&mut self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn size_fs(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn current_switch(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn add_f(&mut self,a: FCast) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn add_s(&mut self,a: skewf32::SkewF32) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn mod_tailn(&mut self,nt:skewf32::SkewF32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn mod_tailn_(&mut self,nt:skewf32::SkewF32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn mod_tail1(&mut self,nt:FCastF32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn add_tail1_skew(&mut self,f:f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub fn tail1_skew_sum(&mut self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_vred_euclids_reducer` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:253:8
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub fn sample_vred_euclids_reducer() -> VRed {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_vred_euclids_reducer_tail1` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:258:8
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub fn sample_vred_euclids_reducer_tail1() -> VRed {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_vred_addit_skew` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub fn sample_vred_addit_skew(a:Array1<f32>,t:usize) -> skewf32::SkewF32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_vred_adder_skew` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:273:8
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub fn sample_vred_adder_skew(a:i32,t:usize) -> skewf32::SkewF32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_vred_multer_skew` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:280:8
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub fn sample_vred_multer_skew(m:i32) -> skewf32::SkewF32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let (mut s1,mut s2):(Option<Skew>,Option<Skew>) = skews_special_case(v1.clone(),v2.clone(),si.clone());
[INFO] [stdout]    |              ----^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_fsvecs` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:289:8
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub fn sample_fsvecs() -> (Vec<FCast>,Vec<skewf32::SkewF32>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `std_euclids_reducer` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:319:8
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub fn std_euclids_reducer(s:Array1<f32>) -> Array1<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let (mut s1,mut s2):(Option<Skew>,Option<Skew>) = skews_special_case(v1.clone(),v2.clone(),si.clone());
[INFO] [stdout]    |                     ----^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `std_gcd_reducer` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:327:8
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn std_gcd_reducer(s:Array1<f32>) -> Array1<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `one_reducer` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:339:8
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub fn one_reducer(s:Array1<f32>) -> Array1<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identity_reducer` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:347:8
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub fn identity_reducer(s: Array1<f32>) -> Array1<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f9` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:353:8
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub fn f9(x:Array1<f32>) -> f32 {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `label_of_f32` is never used
[INFO] [stdout]   --> src/metrice/gorillains.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn label_of_f32(f:f32,label_intervals: Array1<f32>) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]   --> src/enci/seqe.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let (mut s1, mut s2): (Option<Skew>,Option<Skew>) = (None,None);
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GorillaIns` is never constructed
[INFO] [stdout]   --> src/metrice/gorillains.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct GorillaIns {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_GorillaIns` is never used
[INFO] [stdout]   --> src/metrice/gorillains.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn build_GorillaIns(sequence:Array1<f32>,k:usize,l:usize,approach:vreducer::VRed,wanted_normaln:Option<Array1<usize>>,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]   --> src/enci/seqe.rs:58:22
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let (mut s1, mut s2): (Option<Skew>,Option<Skew>) = (None,None);
[INFO] [stdout]    |                      ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `predict_sequence`, `approach_on_sequence`, `process_tail1`, `brute_process_tailn`, `improve_approach__labels`, and `improve_vred__tailn` are never used
[INFO] [stdout]    --> src/metrice/gorillains.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout] 86  | impl GorillaIns {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 95  |     pub fn predict_sequence(&mut self,v: Array1<f32>) -> (Option<usize>,Option<Array1<usize>>)  {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn approach_on_sequence(&mut self) -> (Option<f32>,Option<Array1<f32>>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn process_tail1(&mut self) -> (usize,Option<f32>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn brute_process_tailn(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn improve_approach__labels(&mut self,is_multi:bool) -> (Option<f32>,Option<Array1<f32>>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn improve_vred__tailn(&mut self,v:Array1<f32>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr1_f32_to_arr1_01` is never used
[INFO] [stdout]   --> src/metrice/arp.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn arr1_f32_to_arr1_01(f:Array1<f32>) -> Array1<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr1_01_to_arr1_f32` is never used
[INFO] [stdout]   --> src/metrice/arp.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn arr1_01_to_arr1_f32(f:Array1<f32>, b:(f32,f32)) -> Array1<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr1_minmax` is never used
[INFO] [stdout]   --> src/metrice/arp.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn arr1_minmax(f:Array1<f32>) -> (f32,f32) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArbitraryRangePartition` is never constructed
[INFO] [stdout]   --> src/metrice/arp.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct ArbitraryRangePartition {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_ArbitraryRangePartition` is never used
[INFO] [stdout]   --> src/metrice/arp.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn build_ArbitraryRangePartition(f32_vec: Array1<f32>,szt:usize) -> ArbitraryRangePartition {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `brute_force_search__decision` and `mod_fselect_fm` are never used
[INFO] [stdout]   --> src/metrice/arp.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | impl ArbitraryRangePartition {
[INFO] [stdout]    | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn brute_force_search__decision(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn mod_fselect_fm(&mut self, f: &mut fs::FSelect) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `label_intervals` is never used
[INFO] [stdout]   --> src/metrice/skewcorrctr.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn label_intervals(l:usize) -> Array1<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `label_intervals_by_ordering` is never used
[INFO] [stdout]   --> src/metrice/skewcorrctr.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn label_intervals_by_ordering(ordering:Vec<usize>) -> Array1<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wanted_normaln_to_interval_values` is never used
[INFO] [stdout]   --> src/metrice/skewcorrctr.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn wanted_normaln_to_interval_values(wanted_normaln:Array1<usize>,ordering:Vec<usize>) -> Array1<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_interval_ordering` is never used
[INFO] [stdout]   --> src/metrice/skewcorrctr.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn binary_interval_ordering(s:Vec<usize>,wanted_normaln:Array1<usize>) -> Vec<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gorilla_update_selection_rule` is never used
[INFO] [stdout]   --> src/metrice/skewcorrctr.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn gorilla_update_selection_rule(sr: &mut bfngsrch::BFGSelectionRule,approach_out: Array1<f32>,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `score_bfgs_tmpcache` is never used
[INFO] [stdout]    --> src/metrice/skewcorrctr.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn score_bfgs_tmpcache(bs: &mut bfngsrch::BFGSearcher,approach_out: Array1<f32>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_bfgsearcher_tailn__labels` is never used
[INFO] [stdout]    --> src/metrice/skewcorrctr.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn process_bfgsearcher_tailn__labels(approach_out: Array1<f32>,wanted_normaln:Array1<usize>,l:usize) -> bfngsrch::BFGSearcher {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `correction_for_bfgrule_approach_tailn__labels` is never used
[INFO] [stdout]    --> src/metrice/skewcorrctr.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub fn correction_for_bfgrule_approach_tailn__labels(ordering:Vec<usize>,approach_out:Array1<f32>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gorilla_improve_approach_tailn__labels` is never used
[INFO] [stdout]    --> src/metrice/skewcorrctr.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub fn gorilla_improve_approach_tailn__labels(approach_out: Array1<f32>,wanted_normaln:Array1<usize>,l:usize) -> bfngsrch::BFGSelectionRu...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i32_pair_cmp1` is never used
[INFO] [stdout]   --> src/metrice/btchcorrctrc.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn i32_pair_cmp1(s1: &(i32,i32),s2: &(i32,i32)) -> std::cmp::Ordering {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiple_on_reference_at_capacity` is never used
[INFO] [stdout]   --> src/metrice/btchcorrctrc.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn multiple_on_reference_at_capacity(reference:Vec<Array1<i32>>,mult:i32,mx:i32) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiple_score_pair_vec_on_skew_batch_type_a` is never used
[INFO] [stdout]   --> src/metrice/btchcorrctrc.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn multiple_score_pair_vec_on_skew_batch_type_a(sb: Vec<skew::Skew>,reference:Vec<Array1<i32>>,mx:Option<i32>) -> Vec<(i32,i32)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `best_multiple_for_skew_batch_type_a` is never used
[INFO] [stdout]   --> src/metrice/btchcorrctrc.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn best_multiple_for_skew_batch_type_a(sb: Vec<skew::Skew>,reference:Vec<Array1<i32>>) -> (i32,i32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `m_refactor_skew_batch_type_a` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn m_refactor_skew_batch_type_a(sb: Vec<skew::Skew>,reference:Vec<Array1<i32>>,m:i32) ->
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adder_score_pair_vec_on_skew_batch_type_a` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub fn adder_score_pair_vec_on_skew_batch_type_a(sb: Vec<skewf32::SkewF32>) -> (Vec<(i32,f32)>,usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `best_afactor_for_skewf32_batch_type_a` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn best_afactor_for_skewf32_batch_type_a(sb: Vec<skewf32::SkewF32>) -> (Option<skewf32::SkewF32>,Vec<skewf32::SkewF32>,f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `a_refactor_skewf32_batch_type_a` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn a_refactor_skewf32_batch_type_a(vs: Vec<skew::Skew>, k:usize,head: i32) -> (skewf32::SkewF32,Vec<skewf32::SkewF32>,f32)  {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skew_to_skewf32_batch_type_a` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn skew_to_skewf32_batch_type_a(sk: Vec<skew::Skew>, bs: usize) -> Vec<skewf32::SkewF32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refactor_skew_batch_type_a` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub fn refactor_skew_batch_type_a(head: skew::Skew, sb: Vec<skew::Skew>) -> (Vec<skew::Skew>,usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scale_skewf32_batch_type_a` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn scale_skewf32_batch_type_a(sb: Vec<skewf32::SkewF32>) -> (Vec<skew::Skew>,usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `min_max_mean_of_skew_batch_type_a` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:242:8
[INFO] [stdout]     |
[INFO] [stdout] 242 | pub fn min_max_mean_of_skew_batch_type_a(sb: Vec<skew::Skew>) -> (i32,i32,i32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `k_scale_of_arr1f32_vec` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub fn k_scale_of_arr1f32_vec(va: Vec<Array1<f32>>,opt_max: Option<usize>) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `afactor_test_case_1` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub fn afactor_test_case_1() -> Vec<skewf32::SkewF32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mfactor_test_case_1` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:295:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub fn mfactor_test_case_1() -> (Vec<skew::Skew>,Vec<Array1<i32>>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `batch_5_a_refactor__10__soln` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:311:8
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub fn batch_5_a_refactor__10__soln() -> Vec<skewf32::SkewF32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_skewf32_type_a_variable_size` is never used
[INFO] [stdout]   --> src/metrice/btchcorrctr.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn apply_skewf32_type_a_variable_size(mut s: skewf32::SkewF32,v:Array1<f32>) -> Array1<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sb` and `k` are never read
[INFO] [stdout]   --> src/metrice/btchcorrctr.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct GBatchCorrector {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 46 |     /// all addit skews
[INFO] [stdout] 47 |     sb: Vec<skewf32::SkewF32>,
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     k:usize,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GBatchCorrector` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let (mut s1, mut s2): (Option<Skew>,Option<Skew>) = (None,None);
[INFO] [stdout]    |          ----^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `empty_GBatchCorrector` is never used
[INFO] [stdout]   --> src/metrice/btchcorrctr.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn empty_GBatchCorrector(vr: vreducer::VRed,k:usize) -> GBatchCorrector {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout] 75  | impl GBatchCorrector {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79  |     pub fn sample_size(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |     pub fn candidate_size(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91  |     pub fn load_next_batch(&mut self,sb: Vec<skewf32::SkewF32>,refn: Vec<Array1<f32>>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99  |     pub fn is_proper_batch(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn bare_skew(&mut self,is_batch:bool) -> Vec<skew::Skew> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn scale_ref(&mut self,ref_1:bool) -> Vec<Array1<i32>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn process_batch(&mut self,b:bool,verbose:bool) -> (Option<i32>,Option<f32>,bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn push_batch(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn process_batch_(&mut self,verbose:bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn process_candidate_adder(&mut self,v1_: HashMap<i32,f32>,c:i32) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn process_candidate_multer(&mut self,v1_:HashMap<i32,f32>,c:i32) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn mfactor_on_batch(&mut self,b:bool,verbose:bool) -> (Option<i32>,Option<f32>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn afactor_on_batch(&mut self,r:bool,verbose:bool) -> (Option<i32>,Option<f32>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn refactor(&mut self) -> (Option<skewf32::SkewF32>,Vec<skewf32::SkewF32>,f32) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn refactor_(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn best_candidate_for_refactor(&mut self) -> (i32,f32,bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub fn clear_best_refactor(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn update_data(&mut self,x:i32,a:bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub fn best_a(&mut self) -> (Option<skewf32::SkewF32>,Vec<skewf32::SkewF32>,f32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     pub fn best_m(&mut self) -> (Option<skewf32::SkewF32>,Vec<skewf32::SkewF32>,f32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 439 |     pub fn scale_data(&mut self,scale:Option<usize>,is_batch:bool) -> (Vec<skew::Skew>,Vec<Array1<i32>>) {//(Vec<skew::Skew>,Vec<Array1<i...
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     pub fn info(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 453 |     pub fn map_sample(&mut self,s:Array1<f32>) -> Array1<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `batch_1` is never used
[INFO] [stdout]  --> src/metrice/btchcorrctr_tc.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn batch_1() -> (Vec<skewf32::SkewF32>,Vec<Array1<f32>>) {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `batch_2` is never used
[INFO] [stdout]   --> src/metrice/btchcorrctr_tc.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn batch_2() -> (Vec<skewf32::SkewF32>,Vec<Array1<f32>>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `batch_3` is never used
[INFO] [stdout]   --> src/metrice/btchcorrctr_tc.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn batch_3() -> (Vec<skewf32::SkewF32>,Vec<Array1<f32>>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `batch_4` is never used
[INFO] [stdout]   --> src/metrice/btchcorrctr_tc.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn batch_4() -> (Vec<skewf32::SkewF32>,Vec<Array1<f32>>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `batch_5` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctr_tc.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn batch_5() -> (Vec<skewf32::SkewF32>,Vec<Array1<f32>>) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let (mut s1, mut s2): (Option<Skew>,Option<Skew>) = (None,None);
[INFO] [stdout]    |                  ----^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `basic_binary_function` is never used
[INFO] [stdout]   --> src/metrice/gorillaj.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn basic_binary_function(f:f32) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let (mut vx1,mut vx2):(i32,i32) = (fatorx::max_satisfying_mult_additive_for_vec(v2.clone(),v1_1.clone()),
[INFO] [stdout]    |                  ----^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `refactor_batch_tail1_` and `closest_value_index` are never used
[INFO] [stdout]   --> src/metrice/gorillaj.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Tail1Mem {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 29 |
[INFO] [stdout] 30 |     pub fn refactor_batch_tail1_(&mut self) -> (f32,f32,f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn closest_value_index(&mut self,f:f32) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let (mut vx1,mut vx2):(i32,i32) = (fatorx::max_satisfying_mult_additive_for_vec(v2.clone(),v1_1.clone()),
[INFO] [stdout]    |                          ----^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `empty_Tail1Mem` is never used
[INFO] [stdout]   --> src/metrice/gorillaj.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn empty_Tail1Mem() -> Tail1Mem {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |             let (mut vx1,mut vx2):(i32,i32) = (fatorx::cheapest_multiple(v1_1.clone(),v2.clone()),
[INFO] [stdout]    |                  ----^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GorillaJudge` is never constructed
[INFO] [stdout]   --> src/metrice/gorillaj.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct GorillaJudge {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:80:26
[INFO] [stdout]    |
[INFO] [stdout] 80 |             let (mut vx1,mut vx2):(i32,i32) = (fatorx::cheapest_multiple(v1_1.clone(),v2.clone()),
[INFO] [stdout]    |                          ----^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_GorillaJudge` is never used
[INFO] [stdout]    --> src/metrice/gorillaj.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn build_GorillaJudge(fp:String,fp2:Option<String>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:89:18
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let (mut vx1_,mut vx2_):(Array1<i32>,Array1<i32>) = (fatorx::cheapest_add_vec(v1_1.clone(),v2.clone()),
[INFO] [stdout]    |                  ----^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:89:27
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let (mut vx1_,mut vx2_):(Array1<i32>,Array1<i32>) = (fatorx::cheapest_add_vec(v1_1.clone(),v2.clone()),
[INFO] [stdout]    |                           ----^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:94:18
[INFO] [stdout]    |
[INFO] [stdout] 94 |             let (mut vx1_,mut vx2_):(Array1<i32>,Array1<i32>) = (fatorx::cheapest_multiple_vec(v1_1.clone(),v2.clone()),
[INFO] [stdout]    |                  ----^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/seqe.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |             let (mut vx1_,mut vx2_):(Array1<i32>,Array1<i32>) = (fatorx::cheapest_multiple_vec(v1_1.clone(),v2.clone()),
[INFO] [stdout]    |                           ----^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut sm: i32 = s.adder.unwrap().abs();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut sm: i32 = s.multer.unwrap().abs();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/metrice/gorillaj.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl GorillaJudge {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn process_next(&mut self,refactor:bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn load_next_batch(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn gorilla_on_batch(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn process_gorilla_at_index(&mut self, i: usize) {// -> (Option<f32>,Option<skewf32::SkewF32>,Option<f32>,Option<Array1<f32>>,f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn add_sample_to_data(&mut self,i:usize,gi: &mut gorillains::GorillaIns) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn add_sample_to_ghmem(&mut self,gi:&mut gorillains::GorillaIns) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn add_sample_to_batch_corrector(&mut self,i:usize,ordering:Vec<usize>) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub fn gorilla_at_index(&mut self,i:usize) -> gorillains::GorillaIns {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn misclass_of_gorillains(&mut self,g: &mut gorillains::GorillaIns) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn refactor(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn refactor_batch_tail1(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn predict_sequence(&mut self,x:Array1<f32>) -> gorillajh::GorillaPred {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn predictn_(&mut self,x:Array1<f32>) -> ((Array1<usize>,f32),(Array1<usize>,f32)) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     pub fn predict1_(&mut self,x:Array1<f32>) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub fn skew_meter(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let mut sm2: Array1<i32> = s.addit.unwrap().into_iter().map(|x| x.abs()).collect();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut sm2: Array1<i32> = s.multit.unwrap().into_iter().map(|x| x.abs()).collect();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `START` is never used
[INFO] [stdout]  --> src/metrice/gessir.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub static START: Once = Once::new();
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ARCMUT` is never used
[INFO] [stdout]  --> src/metrice/gessir.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub static mut ARCMUT: Vec<Arc<Mutex<i32>>> = Vec::new();
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `addx` is never used
[INFO] [stdout]   --> src/metrice/gessir.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn addx() -> i32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ARCMUT_F32` is never used
[INFO] [stdout]   --> src/metrice/gessir.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub static mut ARCMUT_F32: Vec<Arc<Mutex<f32>>> = Vec::new();
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `initialize_storage_empty` is never used
[INFO] [stdout]   --> src/metrice/gessir.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn initialize_storage_empty(sz:usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mod_st_at` is never used
[INFO] [stdout]   --> src/metrice/gessir.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn mod_st_at(f:f32,i:usize) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `st_at` is never used
[INFO] [stdout]   --> src/metrice/gessir.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn st_at(i:usize) -> f32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_st_at` is never used
[INFO] [stdout]   --> src/metrice/gessir.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn op_st_at(f:fn(f32,f32) -> f32,f2:f32,i:usize) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_Costillo` is never used
[INFO] [stdout]   --> src/metrice/costillo.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn build_Costillo(ex:Vec<Option<f32>>,got:Vec<Option<f32>>) -> Costillo {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:163:10
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let (mut v1,mut v2) = skew_vector_pair_case_1();
[INFO] [stdout]     |          ----^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mod_i`, `i_to_index`, and `clear_i` are never used
[INFO] [stdout]   --> src/metrice/costillo.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Costillo {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn mod_i(&mut self, i: (usize,usize),e: Option<f32>, g: Option<f32>) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn i_to_index(&mut self,i:(usize,usize)) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn clear_i(&mut self,i:(usize,usize),c:(usize,usize)) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let (mut v1,mut v2) = skew_vector_pair_case_1();
[INFO] [stdout]     |                 ----^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CostilloT` is never constructed
[INFO] [stdout]   --> src/metrice/costillot.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct CostilloT {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_CostilloT` is never used
[INFO] [stdout]   --> src/metrice/costillot.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn build_CostilloT(csvec:Vec<costillo::Costillo>,dimn:(usize,usize)) -> CostilloT {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mod_i` and `clear_i` are never used
[INFO] [stdout]   --> src/metrice/costillot.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl CostilloT {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn mod_i(&mut self,i:(usize,usize,usize,usize),e: Option<f32>, g: Option<f32>) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn clear_i(&mut self,i:(usize,usize,usize,usize),c:(usize,usize)) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frequency_intervals` is never used
[INFO] [stdout]   --> src/metrice/fc.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn frequency_intervals(l:usize) -> Array1<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FrqncCl` is never constructed
[INFO] [stdout]   --> src/metrice/fc.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct FrqncCl {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_FrqncCl` is never used
[INFO] [stdout]   --> src/metrice/fc.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn build_FrqncCl(v:Vec<f32>,r:(f32,f32),p:usize) -> FrqncCl {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `adjust_p`, `frequency_intervals`, `count_pc`, `analyze`, `t`, and `max_diff` are never used
[INFO] [stdout]    --> src/metrice/fc.rs:54:12
[INFO] [stdout]     |
[INFO] [stdout] 52  | impl FrqncCl {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 53  |
[INFO] [stdout] 54  |     pub fn adjust_p(&mut self,p2:usize) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59  |     pub fn frequency_intervals(&mut self,l:usize) -> Array1<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68  |     pub fn count_pc(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87  |     pub fn analyze(&mut self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97  |     pub fn t(&mut self) -> f32 {
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn max_diff(&mut self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GorillaHyp` is never constructed
[INFO] [stdout]  --> src/metrice/gorillajh.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct GorillaHyp {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `empty_GorillaHyp` is never used
[INFO] [stdout]   --> src/metrice/gorillajh.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn empty_GorillaHyp() -> GorillaHyp {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_sample` is never used
[INFO] [stdout]   --> src/metrice/gorillajh.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl GorillaHyp {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 15 |
[INFO] [stdout] 16 |     pub fn add_sample(&mut self,yn_:Option<Array1<usize>>,y1_:Option<usize>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_GorillaPred` is never used
[INFO] [stdout]   --> src/metrice/gorillajh.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn build_GorillaPred(hyp_n1:Option<(Array1<usize>,f32)>, hyp_n2:Option<(Array1<usize>,f32)>,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `best` is never used
[INFO] [stdout]   --> src/metrice/gorillajh.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl GorillaPred {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 66 |
[INFO] [stdout] 67 |     pub fn best(&mut self) -> (Option<usize>,Option<Array1<usize>>) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let (mut s1,mut s2) = skew_test_case_1();
[INFO] [stdout]     |              ----^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let (mut s1,mut s2) = skew_test_case_1();
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:175:14
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let (mut v1,mut v2) = skew_vector_pair_case_1();
[INFO] [stdout]     |              ----^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let (mut v1,mut v2) = skew_vector_pair_case_1();
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let mut v3 = s1.unwrap().skew_value(v1.clone());
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]    --> src/enci/seqe.rs:186:18
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let (mut s1,mut s2) = skew_test_case_1();
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]    --> src/enci/seqe.rs:186:25
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let (mut s1,mut s2) = skew_test_case_1();
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:186:14
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let (mut s1,mut s2) = skew_test_case_1();
[INFO] [stdout]     |              ----^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:186:21
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let (mut s1,mut s2) = skew_test_case_1();
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:187:14
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let (mut v1,mut v2) = skew_vector_pair_case_1();
[INFO] [stdout]     |              ----^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:187:21
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let (mut v1,mut v2) = skew_vector_pair_case_1();
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let mut skew: Skew = find_cheapest_skew(v1.clone(),v2.clone());//,ordering.clone());
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:192:14
[INFO] [stdout]     |
[INFO] [stdout] 192 |         let (mut v11,mut v12) = skew_vector_pair_case_2();
[INFO] [stdout]     |              ----^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:192:22
[INFO] [stdout]     |
[INFO] [stdout] 192 |         let (mut v11,mut v12) = skew_vector_pair_case_2();
[INFO] [stdout]     |                      ----^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/seqe.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let mut skew2: Skew = find_cheapest_skew(v11.clone(),v12.clone());//,ordering.clone());
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/fatorx.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut cap = v / 2;
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let mut v2_:Vec<i32> = v2.into_iter().collect();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/enci/ohop.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         mem::replace(&mut self.branches[l2],q);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let _ = mem::replace(&mut self.branches[l2],q);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 411 |         let mut cmv = cheapest_multiple_vec(v1.clone(),v2.clone());
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |         let mut cmv = mean_multiple(v1.clone(),v2.clone());
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:425:13
[INFO] [stdout]     |
[INFO] [stdout] 425 |         let mut cmv = cheapest_multiple(v1.clone(),v2.clone());
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:438:13
[INFO] [stdout]     |
[INFO] [stdout] 438 |         let mut x:Vec<i32> = vec![20,30,40,75,88];
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:439:13
[INFO] [stdout]     |
[INFO] [stdout] 439 |         let mut x2:Vec<HashSet<i32>> = factors_for_vec(x.clone());
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:441:17
[INFO] [stdout]     |
[INFO] [stdout] 441 |             let mut x2_:HashSet<String> = x_.into_iter().map(|x| x.to_string()).collect();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:448:13
[INFO] [stdout]     |
[INFO] [stdout] 448 |         let mut x:Vec<i32> = vec![20,30,40,75,88];
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:449:13
[INFO] [stdout]     |
[INFO] [stdout] 449 |         let mut x2:Vec<HashSet<i32>> = factors_for_vec(x.clone());
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:450:13
[INFO] [stdout]     |
[INFO] [stdout] 450 |         let mut q: HashSet<i32> = intersection_set_for_hashsetvec(x2);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:451:13
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let mut y:String = strng_srt::stringized_srted_vec(&mut q.into_iter().map(|x| x.to_string()).collect());
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:457:13
[INFO] [stdout]     |
[INFO] [stdout] 457 |         let mut x:Vec<i32> = vec![20,30,40,75,88];
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 |         let mut y:i32 = gcf_for_vec(x.clone());
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:461:13
[INFO] [stdout]     |
[INFO] [stdout] 461 |         let mut x2:Vec<i32> = vec![8,16,40,36,88];
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:462:13
[INFO] [stdout]     |
[INFO] [stdout] 462 |         let mut y2:i32 = gcf_for_vec(x2.clone());
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:484:13
[INFO] [stdout]     |
[INFO] [stdout] 484 |         let mut cmv = cheapest_add_vec(v1.clone(),v2.clone());
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:491:13
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let mut cmv = cheapest_add(v1.clone(),v2.clone());
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:511:13
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let mut v: Vec<usize> = vec![0,0,0,0,2,2,2,3,3,4,4,4,4,4,5,5,5,5,5,5,5];
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/fatorx.rs:512:13
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let mut vm: Vec<usize> = sort_by_distance_to_median(v);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lb`
[INFO] [stdout]   --> src/enci/ohop.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let lb = self.branches.len();
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_lb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/ohop.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let mut q = setf::str_to_vec(s_.clone(),',');
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/ohop.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let mut b = (*o).branch_identifiers.get_mut(&v[p.unwrap()].clone()).unwrap().clone();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/ohop.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut v3 = v[p.unwrap() + 1..l].to_vec(); 
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 582 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/ohop.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let mut x4 = build_order_of_operator("5_6".to_string());
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/ohop.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let mut x5 = build_order_of_operator("(5_6)".to_string());
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/enci/parentnot.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 |     for (i,c_) in c.iter().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/enci/mat2sort.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 |     for (i,s_) in s.into_iter().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_`
[INFO] [stdout]    --> src/enci/mat2sort.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let a_: Array2<f32> = a.clone();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_a_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/enci/mat2sort.rs:181:61
[INFO] [stdout]     |
[INFO] [stdout] 181 |             {f(a.clone().into_iter().enumerate().filter(|(i,x)| !ignore_col.clone().unwrap().contains(&i)).map(|(i,x)| x).collect() )};
[INFO] [stdout]     |                                                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/enci/mat2sort.rs:181:114
[INFO] [stdout]     |
[INFO] [stdout] 181 |             {f(a.clone().into_iter().enumerate().filter(|(i,x)| !ignore_col.clone().unwrap().contains(&i)).map(|(i,x)| x).collect() )};
[INFO] [stdout]     |                                                                                                                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/enci/mat2sort.rs:183:128
[INFO] [stdout]     |
[INFO] [stdout] 183 | ...nto_iter().enumerate().filter(|(i,x)| !ignore_col.clone().unwrap().contains(&i)).map(|(i,x)| x).collect() )};
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/enci/mat2sort.rs:183:181
[INFO] [stdout]     |
[INFO] [stdout] 183 | ...ne().unwrap().contains(&i)).map(|(i,x)| x).collect() )};
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/enci/mat2sort.rs:227:41
[INFO] [stdout]     |
[INFO] [stdout] 227 |     v3.into_iter().enumerate().filter(|(i,x)| *x != 0.0).map(|(i,x)| i).collect()
[INFO] [stdout]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/enci/mat2sort.rs:227:66
[INFO] [stdout]     |
[INFO] [stdout] 227 |     v3.into_iter().enumerate().filter(|(i,x)| *x != 0.0).map(|(i,x)| i).collect()
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/enci/mat2sort.rs:264:68
[INFO] [stdout]     |
[INFO] [stdout] 264 |     let v4: Vec<(usize,f32)> = v3.into_iter().enumerate().filter(|(i,x)| *x != 0.0).collect();
[INFO] [stdout]     |                                                                    ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x2`
[INFO] [stdout]    --> src/enci/mat2sort.rs:265:28
[INFO] [stdout]     |
[INFO] [stdout] 265 |     v4.into_iter().map(|(x,x2)| x).collect()
[INFO] [stdout]     |                            ^^ help: if this is intentional, prefix it with an underscore: `_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/mat2sort.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |     let mut v3 = v - v2.clone();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/enci/mat2sort.rs:293:13
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let mut d:usize = 0;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/mat2sort.rs:293:9
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let mut d:usize = 0;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/enci/mat2sort.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 306 |     for i in 0..s {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/mat2sort.rs:347:13
[INFO] [stdout]     |
[INFO] [stdout] 347 |         let mut v1: Array1<f32> = arr1(&[1.0,1.0,0.,0.,1.0]);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/mat2sort.rs:348:13
[INFO] [stdout]     |
[INFO] [stdout] 348 |         let mut v2: Array1<f32> = arr1(&[0.0,1.0,1.0,0.,1.0]);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/mat2sort.rs:357:13
[INFO] [stdout]     |
[INFO] [stdout] 357 |         let mut x2 = sample_arr2_sort1();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/mat2sort.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let mut pr2 = sample_pr_sort12();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/mat2sort.rs:386:13
[INFO] [stdout]     |
[INFO] [stdout] 386 |         let mut a = sample_arr2_sort2();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x2`
[INFO] [stdout]    --> src/enci/be_int.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let (x1,x2) = mat2sort::sort_arr2_tie_breakers(d,ic,pr,mat2sort::active_size_of_vec);
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c2` is never read
[INFO] [stdout]    --> src/enci/be_int.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut c2:usize = c.clone();
[INFO] [stdout]     |                 ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sm` is never read
[INFO] [stdout]    --> src/enci/be_int.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let mut sm : HashMap<usize,Array1<f32>> = HashMap::new();
[INFO] [stdout]     |                 ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `score`
[INFO] [stdout]    --> src/enci/be_int.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let (sc,score) = self.substitute_solve_chain(acc.clone(),sm.clone(),stat);
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cs`
[INFO] [stdout]    --> src/enci/be_int.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let cs: Vec<i_mem::ContraStruct> = Vec::new();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_cs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/enci/be_int.rs:276:13
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let j = 0;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sz3`
[INFO] [stdout]    --> src/enci/be_int.rs:333:17
[INFO] [stdout]     |
[INFO] [stdout] 333 |             let sz3:usize = related_indices.len();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sz3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dummy`
[INFO] [stdout]    --> src/enci/be_int.rs:414:13
[INFO] [stdout]     |
[INFO] [stdout] 414 |         let dummy:Array1<f32> = Array1::zeros(s.len());
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_dummy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sol`
[INFO] [stdout]    --> src/enci/be_int.rs:522:13
[INFO] [stdout]     |
[INFO] [stdout] 522 |         let sol:Array1<f32> = Array1::default(expr.len());
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_sol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l2`
[INFO] [stdout]    --> src/enci/be_int.rs:523:13
[INFO] [stdout]     |
[INFO] [stdout] 523 |         let l2 = expr.len() - 2;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_l2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/enci/be_int.rs:548:17
[INFO] [stdout]     |
[INFO] [stdout] 548 |             let x = expr[i].clone();
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_rsoln`
[INFO] [stdout]    --> src/enci/be_int.rs:637:13
[INFO] [stdout]     |
[INFO] [stdout] 637 |         let new_rsoln = self.r_soln.clone();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_rsoln`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stat_solved`
[INFO] [stdout]    --> src/enci/be_int.rs:638:13
[INFO] [stdout]     |
[INFO] [stdout] 638 |         let stat_solved:bool = true;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stat_solved`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/enci/be_int.rs:936:16
[INFO] [stdout]     |
[INFO] [stdout] 936 |         for (k,v) in sm.clone().iter() {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k2`
[INFO] [stdout]     --> src/enci/be_int.rs:1037:13
[INFO] [stdout]      |
[INFO] [stdout] 1037 |         let k2 = keys.clone();
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_k2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k2`
[INFO] [stdout]     --> src/enci/be_int.rs:1074:13
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         let k2: HashSet<usize> = key_indices.clone().into_iter().collect();
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_k2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q`
[INFO] [stdout]     --> src/enci/be_int.rs:1195:13
[INFO] [stdout]      |
[INFO] [stdout] 1195 |         let q = cache.clone();
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sm`
[INFO] [stdout]     --> src/enci/be_int.rs:1196:13
[INFO] [stdout]      |
[INFO] [stdout] 1196 |         let sm: HashMap<usize,Array1<f32>> = HashMap::new();
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_sm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rs`
[INFO] [stdout]     --> src/enci/be_int.rs:1361:13
[INFO] [stdout]      |
[INFO] [stdout] 1361 |         let rs = self.relevance_submatrix(ui_.clone());
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/enci/be_int.rs:1449:13
[INFO] [stdout]      |
[INFO] [stdout] 1449 |         let mut be = build_BEInt(x,y);
[INFO] [stdout]      |             ----^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/enci/be_int.rs:1463:13
[INFO] [stdout]      |
[INFO] [stdout] 1463 |         let mut vr0 = bei.var_reprs_in_range(0,0,3);
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/enci/be_int.rs:1464:13
[INFO] [stdout]      |
[INFO] [stdout] 1464 |         let mut vr1 = bei.var_reprs_in_range(1,0,3);
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/enci/be_int.rs:1490:14
[INFO] [stdout]      |
[INFO] [stdout] 1490 |         let (mut test_sample_1,mut test_samplesol_1) = test_sample_BEInt_2();
[INFO] [stdout]      |              ----^^^^^^^^^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/enci/be_int.rs:1490:32
[INFO] [stdout]      |
[INFO] [stdout] 1490 |         let (mut test_sample_1,mut test_samplesol_1) = test_sample_BEInt_2();
[INFO] [stdout]      |                                ----^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/enci/be_int.rs:1492:13
[INFO] [stdout]      |
[INFO] [stdout] 1492 |         let mut acc = bei.accumulate(0,2);
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/enci/be_int.rs:1494:14
[INFO] [stdout]      |
[INFO] [stdout] 1494 |         let (mut sc,mut score) = bei.substitute_solve_chain(acc.clone(),sm.clone(),false);
[INFO] [stdout]      |              ----^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/enci/be_int.rs:1494:21
[INFO] [stdout]      |
[INFO] [stdout] 1494 |         let (mut sc,mut score) = bei.substitute_solve_chain(acc.clone(),sm.clone(),false);
[INFO] [stdout]      |                     ----^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cached_values`
[INFO] [stdout]    --> src/enci/pf_op.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let cached_values:Vec<f32> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cached_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `si`
[INFO] [stdout]   --> src/enci/demo_rng.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let si:Vec<usize> = Array1::zeros(n).into_iter().collect();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_si`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/demo_rng.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut d:Array2<f32> = Array2::default((n,n));
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/enci/demo_rng.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         for i in 0..self.n {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/implie.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let mut q1 = self.idn.clone();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/enci/implie.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut q2 = other.idn.clone();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/implie.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut iss2 = iss.increment();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/implie.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut iss3 = iss + iss2.clone(); 
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enci/implie.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut iss4 = iss2 + iss3; 
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s41`
[INFO] [stdout]   --> src/metrice/deviance.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let s41 = cmp_arr1_pair_1(x.clone(),y.clone(),0.5);
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_s41`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s42`
[INFO] [stdout]   --> src/metrice/deviance.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let s42 = cmp_arr1_pair_1(x.clone(),y.clone(),0.0);
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_s42`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s43`
[INFO] [stdout]   --> src/metrice/deviance.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let s43 = cmp_arr1_pair_1(x.clone(),y.clone(),1.);
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_s43`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c` is never read
[INFO] [stdout]    --> src/metrice/gorillasf.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let mut c:Vec<Array1<i32>> = Vec::new();
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `a` is never read
[INFO] [stdout]    --> src/metrice/gorillasf.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let mut a:Vec<Array1<i32>> = Vec::new();
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bv`
[INFO] [stdout]    --> src/metrice/bmeas.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let bv = bvec_f32_to_bvec_01(fv.clone());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_bv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/metrice/brp.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let d = bmeas::closest_distance_to_subbound((0.,1.),b.clone(),f2);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label_mode_majority`
[INFO] [stdout]    --> src/metrice/brp.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         label_mode_majority:bool) -> ((f32,f32),usize) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_label_mode_majority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bi`
[INFO] [stdout]    --> src/metrice/brp.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let bi = self.fselect.index_of_f32(self.f32_vec[i].clone());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_bi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/vcsv.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut x = file_read_obj(fp.as_str());
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/metrice/vreducer.rs:125:21
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 for j in 0..d {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/metrice/vreducer.rs:131:21
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 for j in 0..d {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/metrice/vreducer.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |             for i in self.fi..l {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/metrice/vreducer.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |             for i in self.si..l {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/metrice/vreducer.rs:340:24
[INFO] [stdout]     |
[INFO] [stdout] 340 |     s.into_iter().map(|x| 0.01).collect()
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/gorillains.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut sol: (usize,f32) = (0,(label_intervals[0].clone()).abs());
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/gorillains.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let mut x1 = self.approach.apply(v.clone(),self.tail_mode).1.unwrap();
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillains.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut x1 = self.approach.apply(v.clone(),self.tail_mode).0.unwrap();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qrx`
[INFO] [stdout]    --> src/metrice/gorillains.rs:260:14
[INFO] [stdout]     |
[INFO] [stdout] 260 |         let (qrx,x) = gi.improve_approach__labels(true);
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_qrx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]    --> src/metrice/gorillains.rs:287:14
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let (u,o) = gi.process_tail1();
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `o`
[INFO] [stdout]    --> src/metrice/gorillains.rs:287:16
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let (u,o) = gi.process_tail1();
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_o`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]    --> src/metrice/gorillains.rs:333:14
[INFO] [stdout]     |
[INFO] [stdout] 333 |         let (u,o) = gi.process_tail1();
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `o`
[INFO] [stdout]    --> src/metrice/gorillains.rs:333:16
[INFO] [stdout]     |
[INFO] [stdout] 333 |         let (u,o) = gi.process_tail1();
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_o`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/skewcorrctr.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let mut x = ao + corr;
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/skewcorrctr.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let mut bfgs = gorilla_improve_approach_tailn__labels(a,b,2);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/skewcorrctr.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut bfgs2 = gorilla_improve_approach_tailn__labels(a1,b1,3);
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v1`
[INFO] [stdout]   --> src/metrice/btchcorrctrc.rs:80:14
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let (v1,v2) = m_refactor_skew_batch_type_a(sb.clone(),reference.clone(),m);
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/btchcorrctrc.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut vm: Vec<i32> = vm_.into_iter().collect();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m1`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:135:10
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let (m1,m4,mn) = min_max_mean_of_skew_batch_type_a(ta2.clone());
[INFO] [stdout]     |          ^^ help: if this is intentional, prefix it with an underscore: `_m1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m4`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let (m1,m4,mn) = min_max_mean_of_skew_batch_type_a(ta2.clone());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_m4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mn`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:135:16
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let (m1,m4,mn) = min_max_mean_of_skew_batch_type_a(ta2.clone());
[INFO] [stdout]     |                ^^ help: if this is intentional, prefix it with an underscore: `_mn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vh1`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:142:10
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let (vh1,vm1,s1) = a_refactor_skewf32_batch_type_a(ta2.clone(),k,m1);
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_vh1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm1`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:142:14
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let (vh1,vm1,s1) = a_refactor_skewf32_batch_type_a(ta2.clone(),k,m1);
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_vm1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vh2`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let (vh2,vm4,s2) = a_refactor_skewf32_batch_type_a(ta2.clone(),k,m4);
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_vh2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm4`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:143:14
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let (vh2,vm4,s2) = a_refactor_skewf32_batch_type_a(ta2.clone(),k,m4);
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_vm4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vh3`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:144:10
[INFO] [stdout]     |
[INFO] [stdout] 144 |     let (vh3,vmn,s3) = a_refactor_skewf32_batch_type_a(ta2.clone(),k,mn);
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_vh3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vmn`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:144:14
[INFO] [stdout]     |
[INFO] [stdout] 144 |     let (vh3,vmn,s3) = a_refactor_skewf32_batch_type_a(ta2.clone(),k,mn);
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_vmn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let (mut ta2,mut k) = scale_skewf32_batch_type_a(sb.clone());
[INFO] [stdout]     |          ----^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:134:18
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let (mut ta2,mut k) = scale_skewf32_batch_type_a(sb.clone());
[INFO] [stdout]     |                  ----^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 |     let (q,k) = adder_score_pair_vec_on_skew_batch_type_a(sb.clone());
[INFO] [stdout]     |            ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let (m,s) = q[index].clone();
[INFO] [stdout]     |            ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:162:10
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let (mut ta2,mut k) = scale_skewf32_batch_type_a(sb.clone());
[INFO] [stdout]     |          ----^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:162:18
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let (mut ta2,mut k) = scale_skewf32_batch_type_a(sb.clone());
[INFO] [stdout]     |                  ----^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut h1 = skewf32::SkewF32{sk:h1_.clone(),s:k};
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut sfv = skew_to_skewf32_batch_type_a(vsk, k);
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:185:10
[INFO] [stdout]     |
[INFO] [stdout] 185 |     for (i,s) in sk.into_iter().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let mut s2 = s.clone();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:204:13
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut sk2 = skew::build_skew(None,None,Some(a2),None,vec![2],None);
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let mut k:usize =  (0..l).into_iter().map(|x| sb[x].s.clone()).into_iter().max().unwrap();
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut x:i32 = i32::pow(10,d as u32);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let mut r2:Array1<i32> = sb[i].sk.addit.clone().unwrap() * x;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ps`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let ps = ta.clone().into_iter().map(|mut x| x.skew_size()).into_iter().sum::<f32>();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_ps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:328:26
[INFO] [stdout]     |
[INFO] [stdout] 328 |         let (mut ta2,mut k) = scale_skewf32_batch_type_a(ta.clone());
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:328:14
[INFO] [stdout]     |
[INFO] [stdout] 328 |         let (mut ta2,mut k) = scale_skewf32_batch_type_a(ta.clone());
[INFO] [stdout]     |              ----^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:328:22
[INFO] [stdout]     |
[INFO] [stdout] 328 |         let (mut ta2,mut k) = scale_skewf32_batch_type_a(ta.clone());
[INFO] [stdout]     |                      ----^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h1`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:341:17
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let mut h1 = skewf32::SkewF32{sk:h1_.clone(),s:k};
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_h1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vs`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:343:13
[INFO] [stdout]     |
[INFO] [stdout] 343 |         let vs: Vec<usize> = ta.into_iter().map(|x| x.s).collect();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_vs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:338:14
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let (mut ta2,mut k) = scale_skewf32_batch_type_a(ta.clone());
[INFO] [stdout]     |              ----^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:338:22
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let (mut ta2,mut k) = scale_skewf32_batch_type_a(ta.clone());
[INFO] [stdout]     |                      ----^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let mut h1 = skewf32::SkewF32{sk:h1_.clone(),s:k};
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let mut sfv = skew_to_skewf32_batch_type_a(vsk, k);
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sb`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:353:16
[INFO] [stdout]     |
[INFO] [stdout] 353 |         let (h,sb,_) = best_afactor_for_skewf32_batch_type_a(ta);
[INFO] [stdout]     |                ^^ help: if this is intentional, prefix it with an underscore: `_sb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b2`
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:369:17
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let (b1,b2) = btchcorrctr_tc::batch_5();
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_b2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/btchcorrctr.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut v2:Array1<f32> = (0..l1).into_iter().map(|x| v[x].clone()).collect();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/btchcorrctr.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut v2:Array1<f32> = (0..l2).into_iter().map(|x| s2[x].clone()).collect();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let mut q: Vec<skewf32::SkewF32> = if is_batch {self.b.clone()} else {self.sb.clone()};
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:162:13
[INFO] [stdout]     |
[INFO] [stdout] 162 |         for i in 0..l {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:200:18
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let (s1,s2,s3) = btchcorrctrc::a_refactor_skewf32_batch_type_a(self.bare_skew(true),self.k,c);
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:200:21
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let (s1,s2,s3) = btchcorrctrc::a_refactor_skewf32_batch_type_a(self.bare_skew(true),self.k,c);
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 |             let c_: f32 = (c as f32) / f32::powf(10.,self.k as f32);
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_c_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:207:18
[INFO] [stdout]     |
[INFO] [stdout] 207 |             let (s1,s2,s3) = btchcorrctrc::a_refactor_skewf32_batch_type_a(self.bare_skew(false),self.k,c);
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |             let (s1,s2,s3) = btchcorrctrc::a_refactor_skewf32_batch_type_a(self.bare_skew(false),self.k,c);
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let c_:f32 = c as f32 / f32::powf(10.,self.k as f32);
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_c_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h1`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let (h1,sb1) = btchcorrctrc::m_refactor_skew_batch_type_a(skv,av,c);
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_h1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h1`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 235 |             let (h1,sb1) = btchcorrctrc::m_refactor_skew_batch_type_a(skv,av,c);
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_h1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:249:39
[INFO] [stdout]     |
[INFO] [stdout] 249 |     pub fn mfactor_on_batch(&mut self,b:bool,verbose:bool) -> (Option<i32>,Option<f32>) {
[INFO] [stdout]     |                                       ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v1` is never read
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:293:17
[INFO] [stdout]     |
[INFO] [stdout] 293 |         let mut v1: HashMap<i32,f32> = HashMap::new();        
[INFO] [stdout]     |                 ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:337:14
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let (mut bf1, mut bf2, mut bf3) = self.best_refactor.clone();  
[INFO] [stdout]     |              ----^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:337:23
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let (mut bf1, mut bf2, mut bf3) = self.best_refactor.clone();  
[INFO] [stdout]     |                       ----^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:337:32
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let (mut bf1, mut bf2, mut bf3) = self.best_refactor.clone();  
[INFO] [stdout]     |                                ----^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let mut wanted_values: Vec<Array1<f32>> = self.refn.clone().into_iter().enumerate().map(|(i,y)| self.sb[i].skew_value(y)).collect();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:439:33
[INFO] [stdout]     |
[INFO] [stdout] 439 |     pub fn scale_data(&mut self,scale:Option<usize>,is_batch:bool) -> (Vec<skew::Skew>,Vec<Array1<i32>>) {//(Vec<skew::Skew>,Vec<Array1<i...
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x2`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:461:16
[INFO] [stdout]     |
[INFO] [stdout] 461 |         let (x,x2):(usize,&Array1<f32>) = self.refn.iter().enumerate().fold(default,
[INFO] [stdout]     |                ^^ help: if this is intentional, prefix it with an underscore: `_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 |         let mut default:(usize,&Array1<f32>) = (0,&self.refn[0].clone()); 
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:491:14
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let (c,s,bo) = gbc.process_batch(true,false);
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bo`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:491:18
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let (c,s,bo) = gbc.process_batch(true,false);
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_bo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s11`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:494:14
[INFO] [stdout]     |
[INFO] [stdout] 494 |         let (s11,s12,s13) = gbc.refactor();//best_a();
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_s11`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s12`
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:494:18
[INFO] [stdout]     |
[INFO] [stdout] 494 |         let (s11,s12,s13) = gbc.refactor();//best_a();
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_s12`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:533:14
[INFO] [stdout]     |
[INFO] [stdout] 533 |         let (mut b5,mut b6) = btchcorrctr_tc::batch_4();
[INFO] [stdout]     |              ----^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:533:21
[INFO] [stdout]     |
[INFO] [stdout] 533 |         let (mut b5,mut b6) = btchcorrctr_tc::batch_4();
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let mut brx = vcsv::build_BatchReader(fp,bs,false,'_');
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut brx2: Option<vcsv::BatchReader> = if fp2.is_none() {None} else 
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let mut gbc = btchcorrctr::empty_GBatchCorrector(base_vr.clone(),k);
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let mut gbc2 = btchcorrctr::empty_GBatchCorrector(base_vr.clone(),k);
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x2`
[INFO] [stdout]    --> src/metrice/gorillaj.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let (x1,x2) = (*gi).improve_approach__labels(self.is_tailn);
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let mut y = self.label_load1.as_ref().unwrap()[i].clone() as usize;
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x2` is never read
[INFO] [stdout]    --> src/metrice/gorillaj.rs:231:17
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let mut x2:Array1<f32> = x.clone();
[INFO] [stdout]     |                 ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let mut x = self.data_load[i].clone();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let mut y:Array1<usize> = self.label_loadn.as_ref().unwrap()[i].clone().into_iter().map(|x| x as usize).collect();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:258:13
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let mut x: Array1<f32> = self.data_load[i].clone();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let mut q_ = self.bc.map_sample(x.clone());
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:354:13
[INFO] [stdout]     |
[INFO] [stdout] 354 |         let mut q2_ = self.bc2.map_sample(x.clone());    
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gj2`
[INFO] [stdout]    --> src/metrice/gorillaj.rs:412:17
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let mut gj2 = build_GorillaJudge("src/data/f3_x.csv".to_string(),Some("src/data/f3_y2.csv".to_string()),
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_gj2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/metrice/gorillaj.rs:412:13
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let mut gj2 = build_GorillaJudge("src/data/f3_x.csv".to_string(),Some("src/data/f3_y2.csv".to_string()),
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/gessir.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let mut arc_clone = unsafe { ARCMUT[0].clone() };
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/metrice/gessir.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     for i in 0..sz {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/gessir.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut arc_clone = unsafe { ARCMUT_F32[i].clone() };
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/metrice/gessir.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let mut arc_clone = unsafe { ARCMUT_F32[i].clone() };
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/metrice/fc.rs:69:48
[INFO] [stdout]    |
[INFO] [stdout] 69 |         self.pc = (0..self.p).into_iter().map(|x| 0).collect();
[INFO] [stdout]    |                                                ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clone` is never used
[INFO] [stdout]   --> src/enci/seq_encoder.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl FloorDiv {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn clone(&mut self) -> FloorDiv {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkewEncoder` is never constructed
[INFO] [stdout]    --> src/enci/seqe.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct SkewEncoder {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gcf_add4mult_vec` is never used
[INFO] [stdout]    --> src/enci/fatorx.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub fn gcf_add4mult_vec(v1:Array1<i32>,v2:Array1<i32>) -> Array1<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_function_identifier_seed` is never used
[INFO] [stdout]   --> src/enci/ohop.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn default_function_identifier_seed() -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `usize_to_choice_vector` is never used
[INFO] [stdout]  --> src/enci/parentnot.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn usize_to_choice_vector(v:usize) -> Vec<String> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_shuffle_map_arr1` is never used
[INFO] [stdout]   --> src/enci/mat2sort.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn apply_shuffle_map_arr1<T>(a: Array1<T>,s:Array1<usize>) -> Array1<T>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_shuffle_map_arr2` is never used
[INFO] [stdout]   --> src/enci/mat2sort.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn apply_shuffle_map_arr2<T>(a: Array2<T>,s:Array1<usize>,is_row:bool) -> Array2<T>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr2_shuffle_map` is never used
[INFO] [stdout]   --> src/enci/mat2sort.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn arr2_shuffle_map<T>(a:Array2<T>,a2:Array2<T>) -> Array1<usize>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_in_arr2` is never used
[INFO] [stdout]   --> src/enci/mat2sort.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn vec_in_arr2<T>(a:Array2<T>,a2: Array1<T>,is_row:bool) -> Option<usize>
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_size_distance` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn active_size_distance(v:Array1<f32>,v2:Array1<f32>) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `intersection_difference_measure` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn intersection_difference_measure(v1:Array1<f32>,v2:Array1<f32>) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr1_intersection` is never used
[INFO] [stdout]    --> src/enci/mat2sort.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub fn arr1_intersection(v:Array1<f32>,v2:Array1<f32>) -> Vec<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unknown_size_of_vec` is never used
[INFO] [stdout]   --> src/enci/be_int.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn unknown_size_of_vec(v: Array1<Option<f32>>) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/enci/be_int.rs:234:12
[INFO] [stdout]      |
[INFO] [stdout] 95   | impl BEInt {
[INFO] [stdout]      | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 234  |     pub fn deduce_smap_keys_from_rsoln(&mut self, sm: HashMap<usize,Array1<f32>>) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 579  |     pub fn solve_by_unknown_vars(&mut self,unknown_vec:Array1<f32>,rs:Array1<f32>,wanted_value:f32) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 885  |     pub fn representative_indices_of_expr(&mut self, expr: Array1<f32>,sm: HashMap<usize,Array1<f32>>) -> HashSet<usize> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 896  |     pub fn representative_indices_of_smap(&mut self, sm: HashMap<usize,Array1<f32>>) -> HashSet<usize> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 933  |     pub fn submap_var_frequency(&mut self,sm:HashMap<usize,Array1<f32>>) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1120 |     pub fn select_var_repr_by_max_candidates(&mut self,i:usize, excluded_vars: HashSet<usize>) -> Option<Array1<f32>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1191 |     pub fn cover_vars_by_substitution(&mut self,rep_analysis:Vec<(usize,f32)>) -> HashMap<usize,Array1<f32>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_BEInt_5` is never used
[INFO] [stdout]     --> src/enci/be_int.rs:1419:8
[INFO] [stdout]      |
[INFO] [stdout] 1419 | pub fn test_sample_BEInt_5() -> (Array2<f32>,Array1<f32>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_BEInt_6` is never used
[INFO] [stdout]     --> src/enci/be_int.rs:1430:8
[INFO] [stdout]      |
[INFO] [stdout] 1430 | pub fn test_sample_BEInt_6() -> (Array2<f32>,Array1<f32>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sample_BEInt_7` is never used
[INFO] [stdout]     --> src/enci/be_int.rs:1436:8
[INFO] [stdout]      |
[INFO] [stdout] 1436 | pub fn test_sample_BEInt_7() -> (Array2<f32>,Array1<f32>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `timestamp_differences`, `add_soln`, `add_contradiction`, `contrastructs_at_ii`, and `add_contradicted_sequence` are never used
[INFO] [stdout]   --> src/enci/i_mem.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl IMem {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn timestamp_differences(&mut self,t1:usize,t2:usize,f: fn(&Array1<Option<f32>>) -> HashSet<usize>) -> (HashSet<usize>,HashSet<us...
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn add_soln(&mut self,soln: Array1<Option<f32>>) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn add_contradiction(&mut self,c: ContraStruct) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn contrastructs_at_ii(&mut self,ii: Vec<Option<usize>>) -> Vec<ContraStruct> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn add_contradicted_sequence(&mut self,ieg: Array2<Option<f32>>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `try_solving_key` and `output` are never used
[INFO] [stdout]    --> src/enci/pf_op.rs:69:12
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl PFOperator {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69  |     pub fn try_solving_key(&mut self,k:String) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub fn output(&mut self) -> Option<f32> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_char_in_range` is never used
[INFO] [stdout]   --> src/enci/std_rng.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn random_char_in_range() -> char {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_FrqncCl` is never used
[INFO] [stdout]   --> src/enci/demo_rng.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn default_FrqncCl(v:Vec<f32>,r:(f32,f32)) -> fc::FrqncCl {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTest1` is never constructed
[INFO] [stdout]   --> src/enci/demo_rng.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct RTest1<T>{
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_RTest1` is never used
[INFO] [stdout]   --> src/enci/demo_rng.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn build_RTest1<T>(s: Box<dyn ns::RN<T>>,r:(f32,f32),n:usize,slide_rate:usize,ar:(f32,f32))
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/enci/demo_rng.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout] 54  | / impl<T> RTest1<T>
[INFO] [stdout] 55  | | where T: Into<f64>{
[INFO] [stdout]     | |__________________- methods in this implementation
[INFO] [stdout] 56  |
[INFO] [stdout] 57  |       pub fn run(&mut self) {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62  |       pub fn one_sample(&mut self) -> Vec<f64> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71  |       pub fn add_one_sample(&mut self,i:usize) -> f32 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81  |       pub fn initial_data_load(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88  |       pub fn full_config_scan(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99  |       pub fn column_scan(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |       pub fn increment_si(&mut self) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |       pub fn mod_config(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |       pub fn alert_on_random(&mut self,f:f32,r:Option<usize>,c:Option<usize>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merged_elements_string` is never used
[INFO] [stdout]   --> src/enci/implie.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn merged_elements_string(s: Vec<String>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `std_dev_arr1_f32` is never used
[INFO] [stdout]   --> src/metrice/deviance.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn std_dev_arr1_f32(a1:Array1<f32>) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_cmp_arr1_pair4` is never used
[INFO] [stdout]   --> src/metrice/deviance.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn test_cmp_arr1_pair4() -> (Array1<i32>,Array1<i32>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `euclids_sequence_` is never used
[INFO] [stdout]   --> src/metrice/gorillasf.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn euclids_sequence_(v: Array1<i32>) -> Vec<Array1<i32>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_subbound` is never used
[INFO] [stdout]   --> src/metrice/bmeas.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn is_subbound(b:(f32,f32),b2:(f32,f32)) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_proper_bounds_vec` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn is_proper_bounds_vec(bv: Vec<(f32,f32)>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bounds_of_bv` is never used
[INFO] [stdout]    --> src/metrice/bmeas.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub fn bounds_of_bv(bv: Vec<(f32,f32)>) -> (f32,f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `output`, `is_contra_value`, and `label_fm` are never used
[INFO] [stdout]    --> src/metrice/brp.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout] 43  | impl RangePartitionGF2 {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47  |     pub fn output(&mut self,f:f32) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61  |     pub fn is_contra_value(&mut self,f:f32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn label_fm(&mut self,f: &mut fs::FSelect,f2:f32) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_type_of` is never used
[INFO] [stdout]   --> src/metrice/vcsv.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn print_type_of<T>(_: &T) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr1_seq_to_csv` is never used
[INFO] [stdout]   --> src/metrice/vcsv.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn arr1_seq_to_csv(a:Vec<Array1<f32>>,filename: &str,file_mode:&str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr1_to_csv` is never used
[INFO] [stdout]   --> src/metrice/vcsv.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn arr1_to_csv(a:Array1<f32>,filename: &str,file_mode:&str) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `filepath` is never read
[INFO] [stdout]   --> src/metrice/vcsv.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct BatchReader {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 87 |     /// string path of csv file
[INFO] [stdout] 88 |     filepath: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `check_directions`, `add_f`, and `mod_tail1` are never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 82  | impl VRed {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn check_directions(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn add_f(&mut self,a: FCast) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn mod_tail1(&mut self,nt:FCastF32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `std_gcd_reducer` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:327:8
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn std_gcd_reducer(s:Array1<f32>) -> Array1<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `one_reducer` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:339:8
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub fn one_reducer(s:Array1<f32>) -> Array1<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identity_reducer` is never used
[INFO] [stdout]    --> src/metrice/vreducer.rs:347:8
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub fn identity_reducer(s: Array1<f32>) -> Array1<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arr1_01_to_arr1_f32` is never used
[INFO] [stdout]   --> src/metrice/arp.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn arr1_01_to_arr1_f32(f:Array1<f32>, b:(f32,f32)) -> Array1<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `t` and `cache` are never read
[INFO] [stdout]   --> src/metrice/arp.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct ArbitraryRangePartition {
[INFO] [stdout]    |            ----------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 64 |     t:usize,
[INFO] [stdout]    |     ^
[INFO] [stdout] 65 |     /// used for determining best <fs::FSelect> solution
[INFO] [stdout] 66 |     cache:Vec<(fs::FSelect,f32)> // FSelect, arp score
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `k_scale_of_arr1f32_vec` is never used
[INFO] [stdout]    --> src/metrice/btchcorrctrc.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub fn k_scale_of_arr1f32_vec(va: Vec<Array1<f32>>,opt_max: Option<usize>) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sample_size`, `candidate_size`, `best_candidate_for_refactor`, and `info` are never used
[INFO] [stdout]    --> src/metrice/btchcorrctr.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout] 75  | impl GBatchCorrector {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79  |     pub fn sample_size(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |     pub fn candidate_size(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn best_candidate_for_refactor(&mut self) -> (i32,f32,bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     pub fn info(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `batch_3` is never used
[INFO] [stdout]   --> src/metrice/btchcorrctr_tc.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn batch_3() -> (Vec<skewf32::SkewF32>,Vec<Array1<f32>>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bs` is never read
[INFO] [stdout]    --> src/metrice/gorillaj.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 92  | pub struct GorillaJudge {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 111 |     bs:usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `skew_meter` is never used
[INFO] [stdout]    --> src/metrice/gorillaj.rs:372:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl GorillaJudge {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub fn skew_meter(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `START` is never used
[INFO] [stdout]  --> src/metrice/gessir.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub static START: Once = Once::new();
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ARCMUT` is never used
[INFO] [stdout]  --> src/metrice/gessir.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub static mut ARCMUT: Vec<Arc<Mutex<i32>>> = Vec::new();
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `addx` is never used
[INFO] [stdout]   --> src/metrice/gessir.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn addx() -> i32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ARCMUT_F32` is never used
[INFO] [stdout]   --> src/metrice/gessir.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub static mut ARCMUT_F32: Vec<Arc<Mutex<f32>>> = Vec::new();
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `initialize_storage_empty` is never used
[INFO] [stdout]   --> src/metrice/gessir.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn initialize_storage_empty(sz:usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mod_st_at` is never used
[INFO] [stdout]   --> src/metrice/gessir.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn mod_st_at(f:f32,i:usize) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `st_at` is never used
[INFO] [stdout]   --> src/metrice/gessir.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn st_at(i:usize) -> f32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_st_at` is never used
[INFO] [stdout]   --> src/metrice/gessir.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn op_st_at(f:fn(f32,f32) -> f32,f2:f32,i:usize) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_Costillo` is never used
[INFO] [stdout]   --> src/metrice/costillo.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn build_Costillo(ex:Vec<Option<f32>>,got:Vec<Option<f32>>) -> Costillo {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mod_i`, `i_to_index`, and `clear_i` are never used
[INFO] [stdout]   --> src/metrice/costillo.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Costillo {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn mod_i(&mut self, i: (usize,usize),e: Option<f32>, g: Option<f32>) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn i_to_index(&mut self,i:(usize,usize)) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn clear_i(&mut self,i:(usize,usize),c:(usize,usize)) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CostilloT` is never constructed
[INFO] [stdout]   --> src/metrice/costillot.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct CostilloT {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_CostilloT` is never used
[INFO] [stdout]   --> src/metrice/costillot.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn build_CostilloT(csvec:Vec<costillo::Costillo>,dimn:(usize,usize)) -> CostilloT {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mod_i` and `clear_i` are never used
[INFO] [stdout]   --> src/metrice/costillot.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl CostilloT {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn mod_i(&mut self,i:(usize,usize,usize,usize),e: Option<f32>, g: Option<f32>) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn clear_i(&mut self,i:(usize,usize,usize,usize),c:(usize,usize)) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `adjust_p` is never used
[INFO] [stdout]   --> src/metrice/fc.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl FrqncCl {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 53 |
[INFO] [stdout] 54 |     pub fn adjust_p(&mut self,p2:usize) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/enci/ohop.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         mem::replace(&mut self.branches[l2],q);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let _ = mem::replace(&mut self.branches[l2],q);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 577 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 4.06s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.9
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "ec04766b976fd2e7ba00be853436d28cab76435838933cd0342c875bb6236357", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec04766b976fd2e7ba00be853436d28cab76435838933cd0342c875bb6236357", kill_on_drop: false }`
[INFO] [stdout] ec04766b976fd2e7ba00be853436d28cab76435838933cd0342c875bb6236357
[INFO] checking Changissnz/impliar against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChangissnz%2Fimpliar" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Changissnz/impliar on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Changissnz/impliar
[INFO] finished tweaking git repo https://github.com/Changissnz/impliar
[INFO] tweaked toml for git repo https://github.com/Changissnz/impliar written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 96cbe3feeaaf6d9fe2b43602bedb8fbaca1b93122fe81e59487039a2e333f795
[INFO] running `Command { std: "docker" "start" "-a" "96cbe3feeaaf6d9fe2b43602bedb8fbaca1b93122fe81e59487039a2e333f795", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "96cbe3feeaaf6d9fe2b43602bedb8fbaca1b93122fe81e59487039a2e333f795", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "96cbe3feeaaf6d9fe2b43602bedb8fbaca1b93122fe81e59487039a2e333f795", kill_on_drop: false }`
[INFO] [stdout] 96cbe3feeaaf6d9fe2b43602bedb8fbaca1b93122fe81e59487039a2e333f795
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dnon_local_definitions" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8123cfb0588c88f4a8bca321d2ffb4b9431d632597c90e8957be5151b2ad7159
[INFO] running `Command { std: "docker" "start" "-a" "8123cfb0588c88f4a8bca321d2ffb4b9431d632597c90e8957be5151b2ad7159", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling savefile v0.10.1
[INFO] [stderr]    Compiling substring v1.4.5
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking asciis v0.1.3
[INFO] [stderr]     Checking modulo v0.1.2
[INFO] [stderr]     Checking round v0.1.2
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking parking_lot_core v0.9.9
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]     Checking factorial v0.2.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling savefile-derive v0.10.1
[INFO] [stderr]     Checking impliar v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/setti/setf.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/setti/setf.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     while true {
[INFO] [stdout]     |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Eq`
[INFO] [stdout]  --> src/setti/set_gen.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use std::cmp::Eq;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/setti/set_gen.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use std::hash::Hash;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/setti/set_gen.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use std::borrow::Borrow;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `Array2`, `Dim`, `arr2`, `array`, `s`
[INFO] [stdout]   --> src/setti/set_gen.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ndarray::{Dim,Array,Array1,Array2,array,arr2,s};
[INFO] [stdout]    |               ^^^       ^^^^^^ ^^^^^^ ^^^^^ ^^^^ ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/setti/setc.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::strng_srt`
[INFO] [stdout]  --> src/setti/set_imp.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::setti::strng_srt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/setti/set_imp.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]   --> src/setti/set_imp.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::cmp::Ordering;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array2`
[INFO] [stdout]   --> src/setti/set_imp.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ndarray::Array2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf`
[INFO] [stdout]  --> src/setti/selection_rule.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::setti::setf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array`, `arr2`, `array`
[INFO] [stdout]  --> src/setti/selection_rule.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray::{Dim,Array,Array1,Array2,array,arr2,s};
[INFO] [stdout]   |                   ^^^^^               ^^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `arr2`, `array`
[INFO] [stdout]  --> src/setti/matrixf.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::{Array1,Array2, array,arr1,arr2,s};
[INFO] [stdout]   |                              ^^^^^      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/setti/vecf.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/setti/ds_fob_c.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `arr1`
[INFO] [stdout]   --> src/setti/ds_fob_c.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ndarray::{Array1,arr1};
[INFO] [stdout]    |               ^^^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::vs`
[INFO] [stdout]  --> src/setti/uvs.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::setti::vs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `Axis`, `arr1`
[INFO] [stdout]  --> src/setti/uvs.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{Array1,arr1,Axis};
[INFO] [stdout]   |               ^^^^^^ ^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2`, `Array`, `arr1`, `arr2`
[INFO] [stdout]  --> src/setti/hashfit.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{Array,Array1,Array2,arr1,arr2};
[INFO] [stdout]   |               ^^^^^        ^^^^^^ ^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf`
[INFO] [stdout]  --> src/setti/fs.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::setti::setf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arr1`
[INFO] [stdout]  --> src/setti/fs.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::{arr1,Array1};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `arr1`
[INFO] [stdout]  --> src/setti/bfngsrch.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{Array1,Array2,arr1};
[INFO] [stdout]   |               ^^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arr1`
[INFO] [stdout]  --> src/setti/dessi.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{arr1,Array1};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::sets`
[INFO] [stdout]  --> src/setti/impli.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::setti::sets;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf`
[INFO] [stdout]  --> src/setti/impli.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::setti::setf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::setti::setf::Count`
[INFO] [stdout]  --> src/setti/impli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::setti::setf::Count;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/setti/impli.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::{HashMap,HashSet};
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metrice::vcsv`
[INFO] [stdout]   --> src/setti/impli.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::metrice::vcsv;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[WARN] too many lines in the log, truncating it
