[INFO] cloning repository https://github.com/bbrener1/gravity_clustering
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bbrener1/gravity_clustering" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbbrener1%2Fgravity_clustering", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbbrener1%2Fgravity_clustering'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2c18804261e2bc4fa7df8a581dadaa358eabdd6a
[INFO] checking bbrener1/gravity_clustering/2c18804261e2bc4fa7df8a581dadaa358eabdd6a against master#507271bc119683008ec719ecee48814e8ac86c65 for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbbrener1%2Fgravity_clustering" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/bbrener1/gravity_clustering
[INFO] finished tweaking git repo https://github.com/bbrener1/gravity_clustering
[INFO] tweaked toml for git repo https://github.com/bbrener1/gravity_clustering written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/bbrener1/gravity_clustering on toolchain 507271bc119683008ec719ecee48814e8ac86c65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/bbrener1/gravity_clustering already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ndarray v0.12.1
[INFO] [stderr]   Downloaded num-complex v0.2.0
[INFO] [stderr]   Downloaded itertools v0.7.8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3cbb297064bac0d341a906eb65e2134242f6d8a74596de8bd91eb82fbac6b3f4
[INFO] running `Command { std: "docker" "start" "-a" "3cbb297064bac0d341a906eb65e2134242f6d8a74596de8bd91eb82fbac6b3f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3cbb297064bac0d341a906eb65e2134242f6d8a74596de8bd91eb82fbac6b3f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3cbb297064bac0d341a906eb65e2134242f6d8a74596de8bd91eb82fbac6b3f4", kill_on_drop: false }`
[INFO] [stdout] 3cbb297064bac0d341a906eb65e2134242f6d8a74596de8bd91eb82fbac6b3f4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 965f0382c8affcd2fa1ce0107fca47f56ed3070a1d2a17403ce1025a3a118df2
[INFO] running `Command { std: "docker" "start" "-a" "965f0382c8affcd2fa1ce0107fca47f56ed3070a1d2a17403ce1025a3a118df2", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]     Checking nodrop v0.1.12
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]     Checking libc v0.2.43
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling matrixmultiply v0.1.15
[INFO] [stderr]    Compiling num-complex v0.2.0
[INFO] [stderr]     Checking either v1.5.0
[INFO] [stderr]    Compiling rayon v1.0.2
[INFO] [stderr]     Checking rand_core v0.3.0
[INFO] [stderr]    Compiling ndarray v0.12.1
[INFO] [stderr]     Checking rawpointer v0.1.0
[INFO] [stderr]     Checking crossbeam-utils v0.2.2
[INFO] [stderr]     Checking arrayvec v0.4.7
[INFO] [stderr]     Checking itertools v0.7.8
[INFO] [stderr]     Checking rand_core v0.2.2
[INFO] [stderr]     Checking crossbeam-epoch v0.3.1
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking rand v0.5.5
[INFO] [stderr]     Checking crossbeam-deque v0.2.0
[INFO] [stderr]     Checking gravity_clustering v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::IntoParallelIterator`
[INFO] [stdout]   --> src/io.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rayon::iter::IntoParallelIterator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/io.rs:647:32
[INFO] [stdout]     |
[INFO] [stdout] 647 |             products[[i,j]] /= (&geo[i] * &geo[j])
[INFO] [stdout]     |                                ^                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 647 -             products[[i,j]] /= (&geo[i] * &geo[j])
[INFO] [stdout] 647 +             products[[i,j]] /= &geo[i] * &geo[j] 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/io.rs:783:44
[INFO] [stdout]     |
[INFO] [stdout] 783 |     let dev1: Vec<f64> = p1.iter().map(|x| (x - mean1)).collect();
[INFO] [stdout]     |                                            ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 783 -     let dev1: Vec<f64> = p1.iter().map(|x| (x - mean1)).collect();
[INFO] [stdout] 783 +     let dev1: Vec<f64> = p1.iter().map(|x| x - mean1 ).collect();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/io.rs:784:44
[INFO] [stdout]     |
[INFO] [stdout] 784 |     let dev2: Vec<f64> = p2.iter().map(|x| (x - mean2)).collect();
[INFO] [stdout]     |                                            ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 784 -     let dev2: Vec<f64> = p2.iter().map(|x| (x - mean2)).collect();
[INFO] [stdout] 784 +     let dev2: Vec<f64> = p2.iter().map(|x| x - mean2 ).collect();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayView`, `Zip`, and `stack`
[INFO] [stdout]  --> src/mobile_gravity_field.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{Array,Ix1,Ix2,Ix3,Zip,Axis,ArrayView,stack};
[INFO] [stdout]   |                                 ^^^      ^^^^^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/mobile_gravity_field.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `distance`
[INFO] [stdout]   --> src/mobile_gravity_field.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use distance;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `length`
[INFO] [stdout]   --> src/mobile_gravity_field.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use length;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/mobile_gravity_field.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 'j_loop: for j in 0..clusters.len() {
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `ThreadRng`
[INFO] [stdout]  --> src/single_pathfinder.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::{Rng,ThreadRng,thread_rng};
[INFO] [stdout]   |            ^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/cluster.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Axis`, `Ix3`, `Zip`, and `stack`
[INFO] [stdout]  --> src/cluster.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{Array,Ix1,Ix2,Ix3,Zip,Axis,ArrayView,stack};
[INFO] [stdout]   |                             ^^^ ^^^ ^^^^           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/cluster.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `single_pathfinder::Pathfinder`
[INFO] [stdout]   --> src/cluster.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use single_pathfinder::Pathfinder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `length`
[INFO] [stdout]   --> src/cluster.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use length;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array`, `Axis`, and `Ix2`
[INFO] [stdout]   --> src/main.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 | use ndarray::{Array,Axis,Ix1,Ix2,Zip,ArrayView};
[INFO] [stdout]    |               ^^^^^ ^^^^     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::IntoParallelIterator`
[INFO] [stdout]   --> src/io.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rayon::iter::IntoParallelIterator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/io.rs:647:32
[INFO] [stdout]     |
[INFO] [stdout] 647 |             products[[i,j]] /= (&geo[i] * &geo[j])
[INFO] [stdout]     |                                ^                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 647 -             products[[i,j]] /= (&geo[i] * &geo[j])
[INFO] [stdout] 647 +             products[[i,j]] /= &geo[i] * &geo[j] 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/io.rs:783:44
[INFO] [stdout]     |
[INFO] [stdout] 783 |     let dev1: Vec<f64> = p1.iter().map(|x| (x - mean1)).collect();
[INFO] [stdout]     |                                            ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 783 -     let dev1: Vec<f64> = p1.iter().map(|x| (x - mean1)).collect();
[INFO] [stdout] 783 +     let dev1: Vec<f64> = p1.iter().map(|x| x - mean1 ).collect();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/io.rs:784:44
[INFO] [stdout]     |
[INFO] [stdout] 784 |     let dev2: Vec<f64> = p2.iter().map(|x| (x - mean2)).collect();
[INFO] [stdout]     |                                            ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 784 -     let dev2: Vec<f64> = p2.iter().map(|x| (x - mean2)).collect();
[INFO] [stdout] 784 +     let dev2: Vec<f64> = p2.iter().map(|x| x - mean2 ).collect();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayView`, `Zip`, and `stack`
[INFO] [stdout]  --> src/mobile_gravity_field.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{Array,Ix1,Ix2,Ix3,Zip,Axis,ArrayView,stack};
[INFO] [stdout]   |                                 ^^^      ^^^^^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/mobile_gravity_field.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `distance`
[INFO] [stdout]   --> src/mobile_gravity_field.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use distance;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `length`
[INFO] [stdout]   --> src/mobile_gravity_field.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use length;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/mobile_gravity_field.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 'j_loop: for j in 0..clusters.len() {
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `ThreadRng`
[INFO] [stdout]  --> src/single_pathfinder.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::{Rng,ThreadRng,thread_rng};
[INFO] [stdout]   |            ^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/cluster.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Axis`, `Ix3`, `Zip`, and `stack`
[INFO] [stdout]  --> src/cluster.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{Array,Ix1,Ix2,Ix3,Zip,Axis,ArrayView,stack};
[INFO] [stdout]   |                             ^^^ ^^^ ^^^^           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/cluster.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `single_pathfinder::Pathfinder`
[INFO] [stdout]   --> src/cluster.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use single_pathfinder::Pathfinder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `length`
[INFO] [stdout]   --> src/cluster.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use length;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array`, `Axis`, and `Ix2`
[INFO] [stdout]   --> src/main.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 | use ndarray::{Array,Axis,Ix1,Ix2,Zip,ArrayView};
[INFO] [stdout]    |               ^^^^^ ^^^^     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> src/cluster.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> src/cluster.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `similarity`
[INFO] [stdout]    --> src/io.rs:462:9
[INFO] [stdout]     |
[INFO] [stdout] 462 |     let similarity = standardized.t().dot(&standardized);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_similarity`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/io.rs:602:9
[INFO] [stdout]     |
[INFO] [stdout] 602 |     let mut means = input.mean_axis(Axis(0));
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/io.rs:603:9
[INFO] [stdout]     |
[INFO] [stdout] 603 |     let mut variances = input.var_axis(Axis(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/io.rs:660:9
[INFO] [stdout]     |
[INFO] [stdout] 660 |     let mut geo = (&slice * &slice).sum_axis(Axis(1));
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `similarity`
[INFO] [stdout]    --> src/io.rs:462:9
[INFO] [stdout]     |
[INFO] [stdout] 462 |     let similarity = standardized.t().dot(&standardized);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_similarity`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/io.rs:602:9
[INFO] [stdout]     |
[INFO] [stdout] 602 |     let mut means = input.mean_axis(Axis(0));
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/io.rs:603:9
[INFO] [stdout]     |
[INFO] [stdout] 603 |     let mut variances = input.var_axis(Axis(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/io.rs:660:9
[INFO] [stdout]     |
[INFO] [stdout] 660 |     let mut geo = (&slice * &slice).sum_axis(Axis(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/io.rs:819:17
[INFO] [stdout]     |
[INFO] [stdout] 819 |             let mut stdout = io::stdout();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/io.rs:844:17
[INFO] [stdout]     |
[INFO] [stdout] 844 |             let mut stdout = io::stdout();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/mobile_gravity_field.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |             for mut cluster in self.clusters.iter_mut() {
[INFO] [stdout]    |                 ----^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/mobile_gravity_field.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |             for (i,(mut position,new_position_option)) in
[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/io.rs:819:17
[INFO] [stdout]     |
[INFO] [stdout] 819 |             let mut stdout = io::stdout();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `step_length`
[INFO] [stdout]    --> src/mobile_gravity_field.rs:147:47
[INFO] [stdout]     |
[INFO] [stdout] 147 |                     if let Some((new_position,step_length)) = new_position_option {
[INFO] [stdout]     |                                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_step_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/io.rs:844:17
[INFO] [stdout]     |
[INFO] [stdout] 844 |             let mut stdout = io::stdout();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mobile_gravity_field.rs:258:16
[INFO] [stdout]     |
[INFO] [stdout] 258 |         for (i,mut cluster) in self.clusters.iter_mut().enumerate() {
[INFO] [stdout]     |                ----^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/mobile_gravity_field.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |             for mut cluster in self.clusters.iter_mut() {
[INFO] [stdout]    |                 ----^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `displacement`
[INFO] [stdout]    --> src/mobile_gravity_field.rs:301:25
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     let displacement = self.distance.measure(self.initial_positions.row(point_index),point);
[INFO] [stdout]     |                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_displacement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_positions`
[INFO] [stdout]    --> src/mobile_gravity_field.rs:385:13
[INFO] [stdout]     |
[INFO] [stdout] 385 |         let final_positions = self.current_positions.as_ref().unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_positions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `candidate_points` is never read
[INFO] [stdout]    --> src/mobile_gravity_field.rs:450:36
[INFO] [stdout]     |
[INFO] [stdout] 450 |         let mut candidate_points = HashSet::with_capacity(0);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 455 |             candidate_points = (0..self.samples).into_iter().collect();
[INFO] [stdout]     |             ---------------- `candidate_points` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/mobile_gravity_field.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |             for (i,(mut position,new_position_option)) in
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `step_length`
[INFO] [stdout]    --> src/mobile_gravity_field.rs:147:47
[INFO] [stdout]     |
[INFO] [stdout] 147 |                     if let Some((new_position,step_length)) = new_position_option {
[INFO] [stdout]     |                                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_step_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/single_pathfinder.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         for mut sub_point_index in sample_indices(&mut thread_rng(), self.samples, self.sample_subsample) {
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mobile_gravity_field.rs:258:16
[INFO] [stdout]     |
[INFO] [stdout] 258 |         for (i,mut cluster) in self.clusters.iter_mut().enumerate() {
[INFO] [stdout]     |                ----^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `previous_point`
[INFO] [stdout]    --> src/single_pathfinder.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     for (i,(previous_point,previous_distance)) in sub_points.iter().enumerate() {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `previous_point`
[INFO] [stdout]    --> src/single_pathfinder.rs:188:29
[INFO] [stdout]     |
[INFO] [stdout] 188 |                     for (i,(previous_point,previous_distance)) in sub_points.iter().enumerate() {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/single_pathfinder.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let mut distance = 0.;
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `step_counter` is assigned to, but never used
[INFO] [stdout]    --> src/single_pathfinder.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut step_counter = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_step_counter` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `distance`
[INFO] [stdout]    --> src/single_pathfinder.rs:275:30
[INFO] [stdout]     |
[INFO] [stdout] 275 |         while let Some((step,distance)) = self.step_from(point.view(),points) {
[INFO] [stdout]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `displacement`
[INFO] [stdout]    --> src/mobile_gravity_field.rs:301:25
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     let displacement = self.distance.measure(self.initial_positions.row(point_index),point);
[INFO] [stdout]     |                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_displacement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `step_counter` is never read
[INFO] [stdout]    --> src/single_pathfinder.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |             step_counter += 1;
[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/single_pathfinder.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         for mut final_point in final_points.outer_iter_mut() {
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_positions`
[INFO] [stdout]    --> src/mobile_gravity_field.rs:385:13
[INFO] [stdout]     |
[INFO] [stdout] 385 |         let final_positions = self.current_positions.as_ref().unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_positions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `candidate_points` is never read
[INFO] [stdout]    --> src/mobile_gravity_field.rs:450:36
[INFO] [stdout]     |
[INFO] [stdout] 450 |         let mut candidate_points = HashSet::with_capacity(0);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 455 |             candidate_points = (0..self.samples).into_iter().collect();
[INFO] [stdout]     |             ---------------- `candidate_points` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/single_pathfinder.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         for mut sub_point_index in sample_indices(&mut thread_rng(), self.samples, self.sample_subsample) {
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `previous_point`
[INFO] [stdout]    --> src/single_pathfinder.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     for (i,(previous_point,previous_distance)) in sub_points.iter().enumerate() {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `previous_point`
[INFO] [stdout]    --> src/single_pathfinder.rs:188:29
[INFO] [stdout]     |
[INFO] [stdout] 188 |                     for (i,(previous_point,previous_distance)) in sub_points.iter().enumerate() {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 let mut refining_parameters = Arc::make_mut(&mut parameters).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/main.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |             let mut final_positions = field.fuzzy_fit_mobile();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |             let mut predictions = field.fuzzy_predict();
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `field` is never read
[INFO] [stdout]   --> src/main.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 field = refining_field;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `field` is never read
[INFO] [stdout]    --> src/main.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 field = refining_field;
[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/single_pathfinder.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let mut distance = 0.;
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `step_counter` is assigned to, but never used
[INFO] [stdout]    --> src/single_pathfinder.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut step_counter = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_step_counter` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `distance`
[INFO] [stdout]    --> src/single_pathfinder.rs:275:30
[INFO] [stdout]     |
[INFO] [stdout] 275 |         while let Some((step,distance)) = self.step_from(point.view(),points) {
[INFO] [stdout]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `step_counter` is never read
[INFO] [stdout]    --> src/single_pathfinder.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |             step_counter += 1;
[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/single_pathfinder.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         for mut final_point in final_points.outer_iter_mut() {
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `distance` is never used
[INFO] [stdout]    --> src/io.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Parameters {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub fn distance(&self, p1:ArrayView<f64,Ix1>,p2:ArrayView<f64,Ix1>) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize` is never used
[INFO] [stdout]    --> src/io.rs:626:8
[INFO] [stdout]     |
[INFO] [stdout] 626 | pub fn sanitize(mut input: Array<f64,Ix2>) -> Array<f64,Ix2> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `correlation_matrix` is never used
[INFO] [stdout]    --> src/io.rs:679:8
[INFO] [stdout]     |
[INFO] [stdout] 679 | pub fn correlation_matrix(slice: ArrayView<f64,Ix2>) -> Array<f64,Ix2> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `argsort` is never used
[INFO] [stdout]    --> src/io.rs:690:4
[INFO] [stdout]     |
[INFO] [stdout] 690 | fn argsort(input: &Vec<f64>) -> Vec<usize> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sample_indecies` and `sample_subsamples` are never read
[INFO] [stdout]   --> src/single_pathfinder.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Pathfinder {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     sample_indecies: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     sample_subsamples: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Pathfinder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `subsampled_nearest` and `fuzz` are never used
[INFO] [stdout]    --> src/single_pathfinder.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Pathfinder {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn subsampled_nearest(&self,points:Arc<Array<f64,Ix2>>) -> Option<(Array<f64,Ix1>,f64)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pub fn fuzz(&self) -> f64 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]    --> src/single_pathfinder.rs:397:4
[INFO] [stdout]     |
[INFO] [stdout] 397 | fn test(){
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 let mut refining_parameters = Arc::make_mut(&mut parameters).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/main.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |             let mut final_positions = field.fuzzy_fit_mobile();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |             let mut predictions = field.fuzzy_predict();
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `field` is never read
[INFO] [stdout]   --> src/main.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 field = refining_field;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `field` is never read
[INFO] [stdout]    --> src/main.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 field = refining_field;
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `distance` is never used
[INFO] [stdout]    --> src/io.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Parameters {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub fn distance(&self, p1:ArrayView<f64,Ix1>,p2:ArrayView<f64,Ix1>) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize` is never used
[INFO] [stdout]    --> src/io.rs:626:8
[INFO] [stdout]     |
[INFO] [stdout] 626 | pub fn sanitize(mut input: Array<f64,Ix2>) -> Array<f64,Ix2> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `correlation_matrix` is never used
[INFO] [stdout]    --> src/io.rs:679:8
[INFO] [stdout]     |
[INFO] [stdout] 679 | pub fn correlation_matrix(slice: ArrayView<f64,Ix2>) -> Array<f64,Ix2> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `argsort` is never used
[INFO] [stdout]    --> src/io.rs:690:4
[INFO] [stdout]     |
[INFO] [stdout] 690 | fn argsort(input: &Vec<f64>) -> Vec<usize> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sample_indecies` and `sample_subsamples` are never read
[INFO] [stdout]   --> src/single_pathfinder.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Pathfinder {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     sample_indecies: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     sample_subsamples: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Pathfinder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `subsampled_nearest` and `fuzz` are never used
[INFO] [stdout]    --> src/single_pathfinder.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Pathfinder {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn subsampled_nearest(&self,points:Arc<Array<f64,Ix2>>) -> Option<(Array<f64,Ix1>,f64)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pub fn fuzz(&self) -> f64 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]    --> src/single_pathfinder.rs:397:4
[INFO] [stdout]     |
[INFO] [stdout] 397 | fn test(){
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.05s
[INFO] running `Command { std: "docker" "inspect" "965f0382c8affcd2fa1ce0107fca47f56ed3070a1d2a17403ce1025a3a118df2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "965f0382c8affcd2fa1ce0107fca47f56ed3070a1d2a17403ce1025a3a118df2", kill_on_drop: false }`
[INFO] [stdout] 965f0382c8affcd2fa1ce0107fca47f56ed3070a1d2a17403ce1025a3a118df2
