[INFO] fetching crate sss_moo 0.7.8...
[INFO] building sss_moo-0.7.8 against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1
[INFO] extracting crate sss_moo 0.7.8 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate sss_moo 0.7.8
[INFO] finished tweaking crates.io crate sss_moo 0.7.8
[INFO] tweaked toml for crates.io crate sss_moo 0.7.8 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sss_moo 0.7.8 on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 165 packages to latest compatible versions
[INFO] [stderr]       Adding itertools v0.10.5 (available: v0.14.0)
[INFO] [stderr]       Adding markdown-table v0.1.0 (available: v0.2.0)
[INFO] [stderr]       Adding ndarray v0.15.6 (available: v0.16.1)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] [stderr]       Adding rand_distr v0.4.3 (available: v0.5.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f1c875bc2a9551a5c41a2fb868af59b2c90574cb84db13f7150ef8c9d4fb0f19
[INFO] running `Command { std: "docker" "start" "-a" "f1c875bc2a9551a5c41a2fb868af59b2c90574cb84db13f7150ef8c9d4fb0f19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f1c875bc2a9551a5c41a2fb868af59b2c90574cb84db13f7150ef8c9d4fb0f19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1c875bc2a9551a5c41a2fb868af59b2c90574cb84db13f7150ef8c9d4fb0f19", kill_on_drop: false }`
[INFO] [stdout] f1c875bc2a9551a5c41a2fb868af59b2c90574cb84db13f7150ef8c9d4fb0f19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 179d7abfcdd7849d546b703cc8ea6592b738df2222ff40fbcbc69332b552285e
[INFO] running `Command { std: "docker" "start" "-a" "179d7abfcdd7849d546b703cc8ea6592b738df2222ff40fbcbc69332b552285e", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling freetype-sys v0.20.1
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v6.0.0
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling font-kit v0.14.3
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling weezl v0.1.10
[INFO] [stderr]    Compiling bytemuck v1.23.2
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling pathfinder_simd v0.5.5
[INFO] [stderr]    Compiling gif v0.12.0
[INFO] [stderr]    Compiling float-ord v0.3.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling image v0.24.9
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling pathfinder_geometry v0.5.1
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling ttf-parser v0.20.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling markdown-table v0.1.0
[INFO] [stderr]    Compiling plotters-bitmap v0.3.7
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling peeking_take_while v1.0.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling sss_moo v0.7.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::Solution`
[INFO] [stdout]  --> src/ens_nondominating_sorting.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::Solution;
[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: `peeking_take_while::PeekableExt`
[INFO] [stdout]  --> src/optimizers/nsga2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use peeking_take_while::PeekableExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/optimizers/nsga2.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `peeking_take_while::PeekableExt`
[INFO] [stdout]  --> src/optimizers/nsga3.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use peeking_take_while::PeekableExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/optimizers/nsga3.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::read_to_string`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::read_to_string;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PanicInfo` and `catch_unwind`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::panic::{catch_unwind, PanicInfo};
[INFO] [stdout]    |                  ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2`, `ArrayView1`, and `indices_of`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ndarray::{Array2, ArrayView1, indices_of};
[INFO] [stdout]    |               ^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use rand_distr::num_traits;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1102:20
[INFO] [stdout]      |
[INFO] [stdout] 1102 |             sum += (item * item);
[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] 1102 -             sum += (item * item);
[INFO] [stdout] 1102 +             sum += item * item;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::buffer_allocator::BufferAllocator`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::buffer_allocator::BufferAllocator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `find_corner_solution`, `highest_value_and_index_in_vector`, `minkowski_distances`, `newton_raphson`, and `point_to_line_distance`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | ..._moea2::{highest_value_and_index_in_vector, point_to_line_distance, find_corner_solution, newton_raphson, minkowski_distances};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizers::age_moea2::test_helpers::*`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::optimizers::age_moea2::test_helpers::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizers::age_moea2::vec_allocator::VecAllocator`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::optimizers::age_moea2::vec_allocator::VecAllocator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizers::age_moea2::vec_initializer::VecInitializer`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::optimizers::age_moea2::vec_initializer::VecInitializer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizers::nsga3::*`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::optimizers::nsga3::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add` and `Deref`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::ops::{Add, Deref};
[INFO] [stdout]    |                ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Itertools`, `min`, and `sorted`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use itertools::{Itertools, min, sorted};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::Num`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use rand_distr::num_traits::Num;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz1.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz1.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz2.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz3.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz3.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz4.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz4.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz5.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz5.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz6.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz6.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz7.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz7.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> src/problem/dtlz.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt::{Formatter};
[INFO] [stdout]   |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]   --> src/problem/dtlz.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::{Rng, thread_rng};
[INFO] [stdout]    |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Meta`, `Objective`, `Ratio`, `Solution`, and `SolutionsRuntimeProcessor`
[INFO] [stdout]   --> src/problem/dtlz.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{Meta, Objective, Ratio, Solution, SolutionsRuntimeProcessor};
[INFO] [stdout]    |             ^^^^  ^^^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead
[INFO] [stdout]   --> src/optimizers/nsga3.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::panic::{catch_unwind, PanicInfo};
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::real::Real`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rand_distr::num_traits::real::Real;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::real::Real`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use rand_distr::num_traits::real::Real;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Sum`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::iter::Sum;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: ``
[INFO] [stdout]  --> src/optimizers/nsga3/tests.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::optimizers::nsga3::{*};
[INFO] [stdout]   |                                ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dna_allocator`
[INFO] [stdout]   --> src/array_solution.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn crossover(&mut self, dna_allocator: &mut SimpleCloneAllocator<ArraySolution>, other: &mut Self) {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dna_allocator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dna_allocator`
[INFO] [stdout]   --> src/array_solution.rs:77:26
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn mutate(&mut self, dna_allocator: &mut SimpleCloneAllocator<ArraySolution>) {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dna_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/misc/nsga_3_by_chat_gpt.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         for j in 0..divisions + 1 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dna_allocator`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn allocate(&mut self, dna_allocator: &mut DnaAllocatorType, mut sol: S, front: usize) -> Candidate<S, DnaAllocatorType>
[INFO] [stdout]    |                                ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dna_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:44:70
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn allocate(&mut self, dna_allocator: &mut DnaAllocatorType, mut sol: S, front: usize) -> Candidate<S, DnaAllocatorType>
[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/optimizers/nsga2.rs:177:31
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         .map(|mut child| child)
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimizers/nsga2.rs:47:59
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn optimize(&mut self, eval: &mut Box<dyn Evaluator>, mut runtime_solutions_processor: Box<&mut dyn SolutionsRuntimeProcessor<S, DnaA...
[INFO] [stdout]    |                                                           ----^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                           |
[INFO] [stdout]    |                                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index` is never read
[INFO] [stdout]    --> src/optimizers/age_moea2.rs:751:21
[INFO] [stdout]     |
[INFO] [stdout] 751 |             let mut index = 0usize;
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `d` is never read
[INFO] [stdout]    --> src/optimizers/age_moea2.rs:752:21
[INFO] [stdout]     |
[INFO] [stdout] 752 |             let mut d = 0f64;
[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/optimizers/nsga3.rs:111:28
[INFO] [stdout]     |
[INFO] [stdout] 111 |                 .for_each(|mut 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/optimizers/nsga3.rs:58:59
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn optimize(&mut self, eval: &mut Box<dyn Evaluator>, mut runtime_solutions_processor: Box<&mut dyn SolutionsRuntimeProcessor<S, DnaA...
[INFO] [stdout]    |                                                           ----^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                           |
[INFO] [stdout]    |                                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worst_front`
[INFO] [stdout]    --> src/optimizers/nsga3.rs:301:29
[INFO] [stdout]     |
[INFO] [stdout] 301 |         let (non_dominated, worst_front) = get_non_dominated_and_last_fronts(&array_of_fronts);
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worst_front`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `candidates`
[INFO] [stdout]   --> src/lib.rs:92:47
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn extend_iteration_population(&mut self, candidates: &Vec<&mut S>, out_candidates: &mut Vec<S>) {}
[INFO] [stdout]    |                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_candidates`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_candidates`
[INFO] [stdout]   --> src/lib.rs:92:73
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn extend_iteration_population(&mut self, candidates: &Vec<&mut S>, out_candidates: &mut Vec<S>) {}
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_candidates`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:848:13
[INFO] [stdout]     |
[INFO] [stdout] 848 |         let mut current_row = &mut conversion_matrix[*last_index];
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:296:13
[INFO] [stdout]     |
[INFO] [stdout] 296 |         let mut fronts = flat_fronts;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:345:13
[INFO] [stdout]     |
[INFO] [stdout] 345 |         let mut n_remaining;
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `denom` is never read
[INFO] [stdout]    --> src/optimizers/nsga3.rs:982:5
[INFO] [stdout]     |
[INFO] [stdout] 982 |     denom = replace_zero_coordinates_in_point(&denom, |a| *a == 0., 1e-12);
[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/optimizers/nsga3.rs:447:13
[INFO] [stdout]     |
[INFO] [stdout] 447 |         let mut n_select = n_remaining - survivors.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/optimizers/nsga3.rs:461:17
[INFO] [stdout]     |
[INFO] [stdout] 461 |             let mut next_index;
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:599:13
[INFO] [stdout]     |
[INFO] [stdout] 599 |         let mut achievement_scalarizing_function= np_max_axis_two_for_3d_matrix(&multiplied_points_and_rised_weights);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/optimizers/age_moea2.rs:1215:9
[INFO] [stdout]      |
[INFO] [stdout] 1215 |         mut runtime_solutions_processor: Box<&mut dyn SolutionsRuntimeProcessor<S, DnaAllocatorType>>
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:750:17
[INFO] [stdout]     |
[INFO] [stdout] 750 |             let mut pivot_coefficient = advanced_system_matrix[row_index][row_index];
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1351:9
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     for mut dim in rised_2d_matrix
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArraySolution` is never constructed
[INFO] [stdout]   --> src/array_solution.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ArraySolution
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calc_objectives` is never used
[INFO] [stdout]   --> src/array_solution.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl ArraySolution
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 27 | {
[INFO] [stdout] 28 |     fn calc_objectives(&mut self)
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArrayFObjective` is never constructed
[INFO] [stdout]   --> src/array_solution.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct ArrayFObjective
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArrayOptimizerParams` is never constructed
[INFO] [stdout]    --> src/array_solution.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct ArrayOptimizerParams {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/array_solution.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl ArrayOptimizerParams {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 116 |     pub fn new(population_size: usize, crossover_odds: Ratio, mutation_odds: Ratio, array_evaluator: Box<dyn ArraySolutionEvaluator>) -> ...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SolutionsRuntimeArrayProcessor` is never constructed
[INFO] [stdout]    --> src/array_solution.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub struct SolutionsRuntimeArrayProcessor
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/array_solution.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl SolutionsRuntimeArrayProcessor
[INFO] [stdout]     | ----------------------------------- associated function in this implementation
[INFO] [stdout] 183 | {
[INFO] [stdout] 184 |     pub fn new() -> Self
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `iter` is never read
[INFO] [stdout]   --> src/evaluator.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct DefaultEvaluator {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 13 |     iter: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/misc/nsga_3_by_chat_gpt.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Solution {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `dominates`, and `calculate_distance` are never used
[INFO] [stdout]   --> src/misc/nsga_3_by_chat_gpt.rs:9:11
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Solution {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout]  9 |    pub fn new(objectives: Vec<f64>) -> Self {
[INFO] [stdout]    |           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn dominates(&self, other: &Solution) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn calculate_distance(&mut self, reference_point: &Vec<f64>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_reference_points` is never used
[INFO] [stdout]   --> src/misc/nsga_3_by_chat_gpt.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn calculate_reference_points(solutions: &Vec<Solution>, objectives: usize, divisions: usize) -> Vec<Vec<f64>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fast_non_dominated_sort` is never used
[INFO] [stdout]   --> src/misc/nsga_3_by_chat_gpt.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn fast_non_dominated_sort(solutions: &Vec<Solution>) -> Vec<Vec<usize>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crowding_distance_assignment` is never used
[INFO] [stdout]    --> src/misc/nsga_3_by_chat_gpt.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn crowding_distance_assignment(front: &Vec<usize>, solutions: &mut Vec<Solution>, objectives: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nsga_iii` is never used
[INFO] [stdout]    --> src/misc/nsga_3_by_chat_gpt.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn nsga_iii(solutions: &mut Vec<Solution>, reference_point_divisions: usize) -> Vec<usize> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `best_solutions`, and `dominates` are never used
[INFO] [stdout]    --> src/optimizers/nsga3.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 222 | / impl<'a, S, DnaAllocatorType: CloneReallocationMemoryBuffer<S> + Clone> NSGA3Optimizer<'a, S, DnaAllocatorType>
[INFO] [stdout] 223 | |     where
[INFO] [stdout] 224 | |         S: Solution<DnaAllocatorType>,
[INFO] [stdout]     | |______________________________________- methods in this implementation
[INFO] [stdout] 225 |   {
[INFO] [stdout] 226 |       fn name(&self) -> &str {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |       fn best_solutions(&self) -> Vec<(Vec<f64>, S)> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |       fn dominates(&self, s1: &S, s2: &S) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `form_matrix_by_indicies_in_row` is never used
[INFO] [stdout]    --> src/optimizers/nsga3.rs:501:4
[INFO] [stdout]     |
[INFO] [stdout] 501 | fn form_matrix_by_indicies_in_row(source: &Vec<Vec<f64>>, indicies: &Vec<usize>) -> Vec<Vec<f64>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `multiply_matrix_and_vector_v2` is never used
[INFO] [stdout]    --> src/optimizers/nsga3.rs:876:8
[INFO] [stdout]     |
[INFO] [stdout] 538 | impl Hyperplane {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 876 |     fn multiply_matrix_and_vector_v2<T:Sum + Mul<Output = T> + Copy>(matrix: &Vec<Vec<T>>, vec: &Vec<T>) -> Vec<T>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `concatenate_matrix_zero_axis` is never used
[INFO] [stdout]    --> src/optimizers/nsga3.rs:951:4
[INFO] [stdout]     |
[INFO] [stdout] 951 | fn concatenate_matrix_zero_axis<T: Copy>(first_matrix: &Vec<Vec<T>>, second_matrix: &Vec<Vec<T>>) -> Vec<Vec<T>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_of_divide_matrix_by_vector` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1030:4
[INFO] [stdout]      |
[INFO] [stdout] 1030 | fn get_result_of_divide_matrix_by_vector<T: Copy + Div<Output=T>>(matrix: &Vec<Vec<T>>, vec: &Vec<T>) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_perpendicular_distance` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1045:4
[INFO] [stdout]      |
[INFO] [stdout] 1045 | fn calc_perpendicular_distance(n: &Vec<Vec<f64>>, ref_dirs: &Vec<Vec<f64>>) -> Vec<Vec<f64>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_perpendicular_distance_matrix` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1064:4
[INFO] [stdout]      |
[INFO] [stdout] 1064 | fn calc_perpendicular_distance_matrix<'a>(n: Vec<Vec<f64>>, ref_dirs: &'a Vec<Vec<f64>>) -> DistMatrix<'a>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `np_tile` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1069:4
[INFO] [stdout]      |
[INFO] [stdout] 1069 | fn np_tile<T: Copy>(source: &Vec<Vec<T>>, length: usize) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `np_repeat_zero_axis` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1082:4
[INFO] [stdout]      |
[INFO] [stdout] 1082 | fn np_repeat_zero_axis<T: Copy>(source: &Vec<Vec<T>>, length: usize) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `np_sum_axis_one` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1109:4
[INFO] [stdout]      |
[INFO] [stdout] 1109 | fn np_sum_axis_one<T: Copy + Add<Output=T>>(matrix: &Vec<Vec<T>>) -> Vec<T>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_of_matrix_axis_one` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1122:4
[INFO] [stdout]      |
[INFO] [stdout] 1122 | fn sum_of_matrix_axis_one<T: Copy+Add<Output=T>>(source: &Vec<Vec<T>>) -> Vec<T>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `divide_vectors` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1137:4
[INFO] [stdout]      |
[INFO] [stdout] 1137 | fn divide_vectors<T: Copy + Div<Output=T>>(enumerator: &Vec<T>, denominator: &Vec<T>) -> Vec<T>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rise_vector_shape` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1160:4
[INFO] [stdout]      |
[INFO] [stdout] 1160 | fn rise_vector_shape<T: Copy>(vec: &Vec<T>) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiply_matrix_rows` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1170:4
[INFO] [stdout]      |
[INFO] [stdout] 1170 | fn multiply_matrix_rows<T: Copy + Mul<Output=T>>(source1: &Vec<Vec<T>>, source2: &Vec<Vec<T>>) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiply_matrix_by_rised_vector` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1185:4
[INFO] [stdout]      |
[INFO] [stdout] 1185 | fn multiply_matrix_by_rised_vector<T: Copy + Mul<Output=T>>(matrix: &Vec<Vec<T>>, rised_vector: &Vec<Vec<T>>) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_of_divide_matrix_by_rised_vector` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1202:4
[INFO] [stdout]      |
[INFO] [stdout] 1202 | fn get_result_of_divide_matrix_by_rised_vector<T: Copy + Div<Output=T>>(matrix: &Vec<Vec<T>>, rised_vector: &Vec<Vec<T>>) -> Vec<Vec<T>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockSolution` is never constructed
[INFO] [stdout]   --> src/optimizers/age_moea2/tests.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct MockSolution
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_compare` is never used
[INFO] [stdout]  --> src/optimizers/age_moea2/test_helpers.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn vec_compare(va: &[f64], vb: &[f64]) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eq_with_inf_eq` is never used
[INFO] [stdout]  --> src/optimizers/age_moea2/test_helpers.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn eq_with_inf_eq(a: f64, b: f64) -> bool {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_distances_meshgrid_dataset` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn get_distances_meshgrid_dataset() -> Vec<Vec<f64>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expected_argpartition_result` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn expected_argpartition_result() -> Vec<Vec<usize>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expected_matrix_slice_result` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn expected_matrix_slice_result() -> Vec<Vec<usize>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expected_take_along_axis_one` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn expected_take_along_axis_one() -> Vec<Vec<f64>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expected_sum_along_axis_one` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn expected_sum_along_axis_one() -> Vec<f64>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_points_to_point_to_line_distance_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn get_points_to_point_to_line_distance_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_eyed_matrix_row_to_point_to_line_distance_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn get_eyed_matrix_row_to_point_to_line_distance_fn() -> Vec<f64>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_to_point_to_line_distance_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn get_result_to_point_to_line_distance_fn() -> Vec<f64>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_points_to_find_corner_solution_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn get_points_to_find_corner_solution_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_for_find_corner_solution_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn get_result_for_find_corner_solution_fn() -> Vec<usize>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_for_norm_matrix_by_axis_one_and_ord_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub fn get_source_for_norm_matrix_by_axis_one_and_ord_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_p_for_norm_matrix_by_axis_one_and_ord_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn get_p_for_norm_matrix_by_axis_one_and_ord_fn() -> f64 {0.7364969410573391}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_for_norm_matrix_by_axis_one_and_ord_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub fn get_result_for_norm_matrix_by_axis_one_and_ord_fn() -> Vec<f64>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pairwise_distance_source` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn get_pairwise_distance_source() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pairwise_distance_p` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn get_pairwise_distance_p() -> f64 {0.7364969410573391}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pairwise_distance_result` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub fn get_pairwise_distance_result() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_front_for_survival_score_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn get_source_front_for_survival_score_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_ideal_point_for_survival_score_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:277:8
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub fn get_source_ideal_point_for_survival_score_fn() -> Vec<f64> { vec![3.64166276076110584369871503440663218498229980468750,2.077416864...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_expected_result_for_survival_score_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub fn get_expected_result_for_survival_score_fn() -> (f64, Vec<f64>, Vec<f64>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_newton_raphson_source` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn get_newton_raphson_source() -> (Vec<Vec<f64>>, Vec<usize>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_for_newton_raphson` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:316:8
[INFO] [stdout]     |
[INFO] [stdout] 316 | pub fn get_result_for_newton_raphson() -> f64 {0.7364969410573391}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_for_get_crowding_distance_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:318:8
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub fn get_source_for_get_crowding_distance_fn() -> (usize, Vec<bool>, Vec<Vec<f64>>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_for_get_crowding_distance_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:345:8
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub fn get_result_for_get_crowding_distance_fn() -> Vec<f64>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_meshgrid_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:350:8
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub fn get_source_meshgrid_fn() -> (Vec<usize>, Vec<usize>, Vec<Vec<f64>>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_meshgrid_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:377:8
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub fn get_result_meshgrid_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_for_sort_debug` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:397:8
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub fn get_source_for_sort_debug() -> (Vec<Vec<usize>>, Vec<Vec<f64>>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g1` is never used
[INFO] [stdout]   --> src/problem/dtlz.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn g1(x_m: &[f64]) -> f64
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g2` is never used
[INFO] [stdout]   --> src/problem/dtlz.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn g2(x_m: &[f64]) -> f64
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g3` is never used
[INFO] [stdout]   --> src/problem/dtlz.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn g3(x_m: &[f64]) -> f64
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_spherical_target` is never used
[INFO] [stdout]   --> src/problem/dtlz.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn calc_spherical_target(x: &[f64], g: f64, alpha: f64, f: &mut [f64])
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz1` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz1.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Dtlz1
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz1.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Dtlz1 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz2` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz2.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Dtlz2
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz2.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Dtlz2 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz3` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz3.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Dtlz3
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz3.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Dtlz3 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz4` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz4.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Dtlz4
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz4.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Dtlz4 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz5` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz5.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Dtlz5
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz5.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Dtlz5 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz6` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz6.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Dtlz6
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz6.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Dtlz6 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz7` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz7.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Dtlz7
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz7.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn g(x_m: &[f64]) -> f64
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz7.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Dtlz7 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 27 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/optimizers/nsga3/dist_matrix.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn iter(&self) -> DistMatrixIter {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn iter(&self) -> DistMatrixIter<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_n_for_deep_test` is never used
[INFO] [stdout]  --> src/optimizers/nsga3/test_helpers.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn get_n_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ref_dirs_for_deep_test` is never used
[INFO] [stdout]   --> src/optimizers/nsga3/test_helpers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn get_ref_dirs_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_u_for_deep_test` is never used
[INFO] [stdout]   --> src/optimizers/nsga3/test_helpers.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn get_u_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_v_for_deep_test` is never used
[INFO] [stdout]    --> src/optimizers/nsga3/test_helpers.rs:627:8
[INFO] [stdout]     |
[INFO] [stdout] 627 | pub fn get_v_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_norm_u_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:1193:8
[INFO] [stdout]      |
[INFO] [stdout] 1193 | pub fn get_norm_u_for_deep_test() -> Vec<f64>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_vu_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:1198:8
[INFO] [stdout]      |
[INFO] [stdout] 1198 | pub fn get_vu_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sum_vu_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:1764:8
[INFO] [stdout]      |
[INFO] [stdout] 1764 | pub fn get_sum_vu_for_deep_test() -> Vec<f64>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_scalar_proj_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:1769:8
[INFO] [stdout]      |
[INFO] [stdout] 1769 | pub fn get_scalar_proj_for_deep_test() -> Vec<f64>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rised_scalar_proj_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:1774:8
[INFO] [stdout]      |
[INFO] [stdout] 1774 | pub fn get_rised_scalar_proj_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rised_scalar_proj_mult_u_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:2340:8
[INFO] [stdout]      |
[INFO] [stdout] 2340 | pub fn get_rised_scalar_proj_mult_u_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rised_norm_u_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:2906:8
[INFO] [stdout]      |
[INFO] [stdout] 2906 | pub fn get_rised_norm_u_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_proj_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:3472:8
[INFO] [stdout]      |
[INFO] [stdout] 3472 | pub fn get_proj_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_proj_minus_v_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4038:8
[INFO] [stdout]      |
[INFO] [stdout] 4038 | pub fn get_proj_minus_v_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_val_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4604:8
[INFO] [stdout]      |
[INFO] [stdout] 4604 | pub fn get_val_for_deep_test() -> Vec<f64>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_matrix_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4609:8
[INFO] [stdout]      |
[INFO] [stdout] 4609 | pub fn get_matrix_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `form_points_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4635:8
[INFO] [stdout]      |
[INFO] [stdout] 4635 | pub fn form_points_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `form_weights_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4651:8
[INFO] [stdout]      |
[INFO] [stdout] 4651 | pub fn form_weights_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get___f_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4660:8
[INFO] [stdout]      |
[INFO] [stdout] 4660 | pub fn get___f_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_f_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4676:8
[INFO] [stdout]      |
[INFO] [stdout] 4676 | pub fn get_next_f_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rised_weights_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4692:8
[INFO] [stdout]      |
[INFO] [stdout] 4692 | pub fn get_rised_weights_to_hyperplane_test() -> Vec<Vec<Vec<f64>>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mult_f_by_rised_weights_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4701:8
[INFO] [stdout]      |
[INFO] [stdout] 4701 | pub fn get_mult_f_by_rised_weights_to_hyperplane_test() -> Vec<Vec<Vec<f64>>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_max_of_rised_weight_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4743:8
[INFO] [stdout]      |
[INFO] [stdout] 4743 | pub fn get_max_of_rised_weight_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_f_asf_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4752:8
[INFO] [stdout]      |
[INFO] [stdout] 4752 | pub fn get_f_asf_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_i_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4761:8
[INFO] [stdout]      |
[INFO] [stdout] 4761 | pub fn get_i_to_hyperplane_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_extreme_points_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4766:8
[INFO] [stdout]      |
[INFO] [stdout] 4766 | pub fn get_extreme_points_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ideal_point_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4775:8
[INFO] [stdout]      |
[INFO] [stdout] 4775 | pub fn get_ideal_point_to_hyperplane_test() -> Vec<f64>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pop_len_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4780:8
[INFO] [stdout]      |
[INFO] [stdout] 4780 | pub fn get_pop_len_to_niching_test() -> usize
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_n_remaining_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4785:8
[INFO] [stdout]      |
[INFO] [stdout] 4785 | pub fn get_n_remaining_to_niching_test() -> usize
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_niche_count_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4790:8
[INFO] [stdout]      |
[INFO] [stdout] 4790 | pub fn get_niche_count_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_niche_of_individuals_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4795:8
[INFO] [stdout]      |
[INFO] [stdout] 4795 | pub fn get_niche_of_individuals_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_dist_to_niche_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4800:8
[INFO] [stdout]      |
[INFO] [stdout] 4800 | pub fn get_dist_to_niche_to_niching_test() -> Vec<f64>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mask_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4805:8
[INFO] [stdout]      |
[INFO] [stdout] 4805 | pub fn get_mask_to_niching_test() -> Vec<bool>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_n_select_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4810:8
[INFO] [stdout]      |
[INFO] [stdout] 4810 | pub fn get_n_select_to_niching_test() -> usize
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_niches_list_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4815:8
[INFO] [stdout]      |
[INFO] [stdout] 4815 | pub fn get_next_niches_list_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_niche_count_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4820:8
[INFO] [stdout]      |
[INFO] [stdout] 4820 | pub fn get_next_niche_count_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_min_niche_count_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4825:8
[INFO] [stdout]      |
[INFO] [stdout] 4825 | pub fn get_min_niche_count_to_niching_test() -> usize
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tmp_nich_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4830:8
[INFO] [stdout]      |
[INFO] [stdout] 4830 | pub fn get_tmp_nich_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_niches_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4835:8
[INFO] [stdout]      |
[INFO] [stdout] 4835 | pub fn get_next_niches_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_permutation_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4840:8
[INFO] [stdout]      |
[INFO] [stdout] 4840 | pub fn get_permutation_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ready_permutation_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4845:8
[INFO] [stdout]      |
[INFO] [stdout] 4845 | pub fn get_ready_permutation_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_matrix_difference` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1219:4
[INFO] [stdout]      |
[INFO] [stdout] 1219 | fn get_matrix_difference<T: Copy + Sub<Output=T>>(p0: &Vec<Vec<T>>, p1: &Vec<Vec<T>>) -> Vec<Vec<T>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reshape_vector_into_matrix` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1233:4
[INFO] [stdout]      |
[INFO] [stdout] 1233 | fn reshape_vector_into_matrix<T: Copy>(source: &Vec<T>, column_length: usize) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_values_from_matrix_by_row_indicies_and_column_indicies` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1313:4
[INFO] [stdout]      |
[INFO] [stdout] 1313 | fn get_values_from_matrix_by_row_indicies_and_column_indicies<T:Copy>(matrix: &Vec<Vec<T>>, row_indicies: &Vec<usize>, column_indicies: &...
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_points` is never used
[INFO] [stdout]  --> src/optimizers/nsga3/tests.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn get_points() -> Vec<Vec<f64>> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_point` is never used
[INFO] [stdout]   --> src/optimizers/nsga3/tests.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn get_point() -> Vec<f64> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_3d_matrix` is never used
[INFO] [stdout]   --> src/optimizers/nsga3/tests.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn get_3d_matrix() -> Vec<Vec<Vec<f64>>>
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eq_with_nan_eq` is never used
[INFO] [stdout]   --> src/optimizers/nsga3/tests.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn eq_with_nan_eq(a: f64, b: f64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_compare` is never used
[INFO] [stdout]   --> src/optimizers/nsga3/tests.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn vec_compare(va: &[f64], vb: &[f64]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_elem_in_vector` is never used
[INFO] [stdout]    --> src/optimizers/nsga3/tests.rs:480:4
[INFO] [stdout]     |
[INFO] [stdout] 480 | fn check_elem_in_vector(vec: &Vec<usize>, elem: usize) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: incorrect NaN comparison, NaN cannot be directly compared to itself
[INFO] [stdout]    --> src/optimizers/age_moea2.rs:861:52
[INFO] [stdout]     |
[INFO] [stdout] 861 |                     if any_in_vec_is(&plane, |val| val == f64::NAN || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(invalid_nan_comparisons)]` on by default
[INFO] [stdout] help: use `f32::is_nan()` or `f64::is_nan()` instead
[INFO] [stdout]     |
[INFO] [stdout] 861 -                     if any_in_vec_is(&plane, |val| val == f64::NAN || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout] 861 +                     if any_in_vec_is(&plane, |val| val.is_nan() || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: incorrect NaN comparison, NaN cannot be directly compared to itself
[INFO] [stdout]    --> src/optimizers/age_moea2.rs:871:93
[INFO] [stdout]     |
[INFO] [stdout] 871 | ...   if any_in_vec_is(&self.sorting_buffer.prepared_normalization_vec, |val| val == f64::NAN || val == f64::NEG_INFINITY || val == f64::...
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `f32::is_nan()` or `f64::is_nan()` instead
[INFO] [stdout]     |
[INFO] [stdout] 871 -                     if any_in_vec_is(&self.sorting_buffer.prepared_normalization_vec, |val| val == f64::NAN || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout] 871 +                     if any_in_vec_is(&self.sorting_buffer.prepared_normalization_vec, |val| val.is_nan() || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_niches_v2_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4850:8
[INFO] [stdout]      |
[INFO] [stdout] 4850 | pub fn get_next_niches_v2_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tmp_condition_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4855:8
[INFO] [stdout]      |
[INFO] [stdout] 4855 | pub fn get_tmp_condition_by_n_step_to_niching_test(n: usize) -> Vec<bool>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_indicies_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4869:8
[INFO] [stdout]      |
[INFO] [stdout] 4869 | pub fn get_next_indicies_by_n_step_to_niching_test(n: usize) -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_ind_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4883:8
[INFO] [stdout]      |
[INFO] [stdout] 4883 | pub fn get_next_ind_by_n_step_to_niching_test(n: usize) -> usize
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mask_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4897:8
[INFO] [stdout]      |
[INFO] [stdout] 4897 | pub fn get_mask_by_n_step_to_niching_test(n: usize) -> Vec<bool>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_survivors_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4911:8
[INFO] [stdout]      |
[INFO] [stdout] 4911 | pub fn get_survivors_by_n_step_to_niching_test(n: usize) -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_niche_count_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4925:8
[INFO] [stdout]      |
[INFO] [stdout] 4925 | pub fn get_niche_count_by_n_step_to_niching_test(n: usize) -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_survivours_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4939:8
[INFO] [stdout]      |
[INFO] [stdout] 4939 | pub fn get_survivours_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get___f_to_hyperplane_test` should have a snake case name
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4660:8
[INFO] [stdout]      |
[INFO] [stdout] 4660 | pub fn get___f_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_f_to_hyperplane_test`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 49.76s
[INFO] running `Command { std: "docker" "inspect" "179d7abfcdd7849d546b703cc8ea6592b738df2222ff40fbcbc69332b552285e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "179d7abfcdd7849d546b703cc8ea6592b738df2222ff40fbcbc69332b552285e", kill_on_drop: false }`
[INFO] [stdout] 179d7abfcdd7849d546b703cc8ea6592b738df2222ff40fbcbc69332b552285e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 842e6dc522b0407010c7a2a2406beaf43aaf7f67ba95270c49e3416ef1763ce8
[INFO] running `Command { std: "docker" "start" "-a" "842e6dc522b0407010c7a2a2406beaf43aaf7f67ba95270c49e3416ef1763ce8", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling cc v1.2.39
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v6.0.0
[INFO] [stderr]    Compiling pathfinder_simd v0.5.5
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling freetype-sys v0.20.1
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling font-kit v0.14.3
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling weezl v0.1.10
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling bytemuck v1.23.2
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling gif v0.12.0
[INFO] [stderr]    Compiling pathfinder_geometry v0.5.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling image v0.24.9
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling float-ord v0.3.2
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling plotters-bitmap v0.3.7
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling ttf-parser v0.20.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling markdown-table v0.1.0
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling peeking_take_while v1.0.0
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling sss_moo v0.7.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::Solution`
[INFO] [stdout]  --> src/ens_nondominating_sorting.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::Solution;
[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: `peeking_take_while::PeekableExt`
[INFO] [stdout]  --> src/optimizers/nsga2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use peeking_take_while::PeekableExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/optimizers/nsga2.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `peeking_take_while::PeekableExt`
[INFO] [stdout]  --> src/optimizers/nsga3.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use peeking_take_while::PeekableExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/optimizers/nsga3.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::read_to_string`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::read_to_string;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PanicInfo` and `catch_unwind`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::panic::{catch_unwind, PanicInfo};
[INFO] [stdout]    |                  ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2`, `ArrayView1`, and `indices_of`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ndarray::{Array2, ArrayView1, indices_of};
[INFO] [stdout]    |               ^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use rand_distr::num_traits;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1102:20
[INFO] [stdout]      |
[INFO] [stdout] 1102 |             sum += (item * item);
[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] 1102 -             sum += (item * item);
[INFO] [stdout] 1102 +             sum += item * item;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::buffer_allocator::BufferAllocator`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::buffer_allocator::BufferAllocator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `find_corner_solution`, `highest_value_and_index_in_vector`, `minkowski_distances`, `newton_raphson`, and `point_to_line_distance`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | ..._moea2::{highest_value_and_index_in_vector, point_to_line_distance, find_corner_solution, newton_raphson, minkowski_distances};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizers::age_moea2::test_helpers::*`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::optimizers::age_moea2::test_helpers::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizers::age_moea2::vec_allocator::VecAllocator`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::optimizers::age_moea2::vec_allocator::VecAllocator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizers::age_moea2::vec_initializer::VecInitializer`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::optimizers::age_moea2::vec_initializer::VecInitializer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizers::nsga3::*`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::optimizers::nsga3::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add` and `Deref`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::ops::{Add, Deref};
[INFO] [stdout]    |                ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Itertools`, `min`, and `sorted`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use itertools::{Itertools, min, sorted};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::Num`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use rand_distr::num_traits::Num;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz1.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz1.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz2.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz3.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz3.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz4.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz4.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz5.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz5.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz6.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz6.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz7.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz7.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> src/problem/dtlz.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt::{Formatter};
[INFO] [stdout]   |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]   --> src/problem/dtlz.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::{Rng, thread_rng};
[INFO] [stdout]    |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Meta`, `Objective`, `Ratio`, `Solution`, and `SolutionsRuntimeProcessor`
[INFO] [stdout]   --> src/problem/dtlz.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{Meta, Objective, Ratio, Solution, SolutionsRuntimeProcessor};
[INFO] [stdout]    |             ^^^^  ^^^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead
[INFO] [stdout]   --> src/optimizers/nsga3.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::panic::{catch_unwind, PanicInfo};
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::real::Real`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rand_distr::num_traits::real::Real;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::real::Real`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use rand_distr::num_traits::real::Real;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Sum`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::iter::Sum;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: ``
[INFO] [stdout]  --> src/optimizers/nsga3/tests.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::optimizers::nsga3::{*};
[INFO] [stdout]   |                                ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index` is never read
[INFO] [stdout]    --> src/optimizers/age_moea2.rs:751:21
[INFO] [stdout]     |
[INFO] [stdout] 751 |             let mut index = 0usize;
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `d` is never read
[INFO] [stdout]    --> src/optimizers/age_moea2.rs:752:21
[INFO] [stdout]     |
[INFO] [stdout] 752 |             let mut d = 0f64;
[INFO] [stdout]     |                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dna_allocator`
[INFO] [stdout]   --> src/array_solution.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn crossover(&mut self, dna_allocator: &mut SimpleCloneAllocator<ArraySolution>, other: &mut Self) {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dna_allocator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dna_allocator`
[INFO] [stdout]   --> src/array_solution.rs:77:26
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn mutate(&mut self, dna_allocator: &mut SimpleCloneAllocator<ArraySolution>) {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dna_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `candidates`
[INFO] [stdout]   --> src/lib.rs:92:47
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn extend_iteration_population(&mut self, candidates: &Vec<&mut S>, out_candidates: &mut Vec<S>) {}
[INFO] [stdout]    |                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_candidates`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_candidates`
[INFO] [stdout]   --> src/lib.rs:92:73
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn extend_iteration_population(&mut self, candidates: &Vec<&mut S>, out_candidates: &mut Vec<S>) {}
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_candidates`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/optimizers/age_moea2.rs:1215:9
[INFO] [stdout]      |
[INFO] [stdout] 1215 |         mut runtime_solutions_processor: Box<&mut dyn SolutionsRuntimeProcessor<S, DnaAllocatorType>>
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/misc/nsga_3_by_chat_gpt.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         for j in 0..divisions + 1 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:111:28
[INFO] [stdout]     |
[INFO] [stdout] 111 |                 .for_each(|mut 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/optimizers/nsga3.rs:58:59
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn optimize(&mut self, eval: &mut Box<dyn Evaluator>, mut runtime_solutions_processor: Box<&mut dyn SolutionsRuntimeProcessor<S, DnaA...
[INFO] [stdout]    |                                                           ----^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                           |
[INFO] [stdout]    |                                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dna_allocator`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn allocate(&mut self, dna_allocator: &mut DnaAllocatorType, mut sol: S, front: usize) -> Candidate<S, DnaAllocatorType>
[INFO] [stdout]    |                                ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dna_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:44:70
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn allocate(&mut self, dna_allocator: &mut DnaAllocatorType, mut sol: S, front: usize) -> Candidate<S, DnaAllocatorType>
[INFO] [stdout]    |                                                                      ----^^^
[INFO] [stdout]    |                                                                      |
[INFO] [stdout]    |                                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worst_front`
[INFO] [stdout]    --> src/optimizers/nsga3.rs:301:29
[INFO] [stdout]     |
[INFO] [stdout] 301 |         let (non_dominated, worst_front) = get_non_dominated_and_last_fronts(&array_of_fronts);
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worst_front`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:296:13
[INFO] [stdout]     |
[INFO] [stdout] 296 |         let mut fronts = flat_fronts;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:345:13
[INFO] [stdout]     |
[INFO] [stdout] 345 |         let mut n_remaining;
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:447:13
[INFO] [stdout]     |
[INFO] [stdout] 447 |         let mut n_select = n_remaining - survivors.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/optimizers/nsga3.rs:461:17
[INFO] [stdout]     |
[INFO] [stdout] 461 |             let mut next_index;
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:599:13
[INFO] [stdout]     |
[INFO] [stdout] 599 |         let mut achievement_scalarizing_function= np_max_axis_two_for_3d_matrix(&multiplied_points_and_rised_weights);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga2.rs:177:31
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         .map(|mut child| child)
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimizers/nsga2.rs:47:59
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn optimize(&mut self, eval: &mut Box<dyn Evaluator>, mut runtime_solutions_processor: Box<&mut dyn SolutionsRuntimeProcessor<S, DnaA...
[INFO] [stdout]    |                                                           ----^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                           |
[INFO] [stdout]    |                                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:750:17
[INFO] [stdout]     |
[INFO] [stdout] 750 |             let mut pivot_coefficient = advanced_system_matrix[row_index][row_index];
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:848:13
[INFO] [stdout]     |
[INFO] [stdout] 848 |         let mut current_row = &mut conversion_matrix[*last_index];
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `denom` is never read
[INFO] [stdout]    --> src/optimizers/nsga3.rs:982:5
[INFO] [stdout]     |
[INFO] [stdout] 982 |     denom = replace_zero_coordinates_in_point(&denom, |a| *a == 0., 1e-12);
[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/optimizers/nsga3.rs:1351:9
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     for mut dim in rised_2d_matrix
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArraySolution` is never constructed
[INFO] [stdout]   --> src/array_solution.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ArraySolution
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calc_objectives` is never used
[INFO] [stdout]   --> src/array_solution.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl ArraySolution
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 27 | {
[INFO] [stdout] 28 |     fn calc_objectives(&mut self)
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArrayFObjective` is never constructed
[INFO] [stdout]   --> src/array_solution.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct ArrayFObjective
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArrayOptimizerParams` is never constructed
[INFO] [stdout]    --> src/array_solution.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct ArrayOptimizerParams {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/array_solution.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl ArrayOptimizerParams {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 116 |     pub fn new(population_size: usize, crossover_odds: Ratio, mutation_odds: Ratio, array_evaluator: Box<dyn ArraySolutionEvaluator>) -> ...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SolutionsRuntimeArrayProcessor` is never constructed
[INFO] [stdout]    --> src/array_solution.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub struct SolutionsRuntimeArrayProcessor
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/array_solution.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl SolutionsRuntimeArrayProcessor
[INFO] [stdout]     | ----------------------------------- associated function in this implementation
[INFO] [stdout] 183 | {
[INFO] [stdout] 184 |     pub fn new() -> Self
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `iter` is never read
[INFO] [stdout]   --> src/evaluator.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct DefaultEvaluator {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 13 |     iter: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/misc/nsga_3_by_chat_gpt.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Solution {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `dominates`, and `calculate_distance` are never used
[INFO] [stdout]   --> src/misc/nsga_3_by_chat_gpt.rs:9:11
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Solution {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout]  9 |    pub fn new(objectives: Vec<f64>) -> Self {
[INFO] [stdout]    |           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn dominates(&self, other: &Solution) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn calculate_distance(&mut self, reference_point: &Vec<f64>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_reference_points` is never used
[INFO] [stdout]   --> src/misc/nsga_3_by_chat_gpt.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn calculate_reference_points(solutions: &Vec<Solution>, objectives: usize, divisions: usize) -> Vec<Vec<f64>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fast_non_dominated_sort` is never used
[INFO] [stdout]   --> src/misc/nsga_3_by_chat_gpt.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn fast_non_dominated_sort(solutions: &Vec<Solution>) -> Vec<Vec<usize>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crowding_distance_assignment` is never used
[INFO] [stdout]    --> src/misc/nsga_3_by_chat_gpt.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn crowding_distance_assignment(front: &Vec<usize>, solutions: &mut Vec<Solution>, objectives: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nsga_iii` is never used
[INFO] [stdout]    --> src/misc/nsga_3_by_chat_gpt.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn nsga_iii(solutions: &mut Vec<Solution>, reference_point_divisions: usize) -> Vec<usize> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `best_solutions`, and `dominates` are never used
[INFO] [stdout]    --> src/optimizers/nsga3.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 222 | / impl<'a, S, DnaAllocatorType: CloneReallocationMemoryBuffer<S> + Clone> NSGA3Optimizer<'a, S, DnaAllocatorType>
[INFO] [stdout] 223 | |     where
[INFO] [stdout] 224 | |         S: Solution<DnaAllocatorType>,
[INFO] [stdout]     | |______________________________________- methods in this implementation
[INFO] [stdout] 225 |   {
[INFO] [stdout] 226 |       fn name(&self) -> &str {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |       fn best_solutions(&self) -> Vec<(Vec<f64>, S)> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |       fn dominates(&self, s1: &S, s2: &S) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `form_matrix_by_indicies_in_row` is never used
[INFO] [stdout]    --> src/optimizers/nsga3.rs:501:4
[INFO] [stdout]     |
[INFO] [stdout] 501 | fn form_matrix_by_indicies_in_row(source: &Vec<Vec<f64>>, indicies: &Vec<usize>) -> Vec<Vec<f64>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `multiply_matrix_and_vector_v2` is never used
[INFO] [stdout]    --> src/optimizers/nsga3.rs:876:8
[INFO] [stdout]     |
[INFO] [stdout] 538 | impl Hyperplane {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 876 |     fn multiply_matrix_and_vector_v2<T:Sum + Mul<Output = T> + Copy>(matrix: &Vec<Vec<T>>, vec: &Vec<T>) -> Vec<T>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `concatenate_matrix_zero_axis` is never used
[INFO] [stdout]    --> src/optimizers/nsga3.rs:951:4
[INFO] [stdout]     |
[INFO] [stdout] 951 | fn concatenate_matrix_zero_axis<T: Copy>(first_matrix: &Vec<Vec<T>>, second_matrix: &Vec<Vec<T>>) -> Vec<Vec<T>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_of_divide_matrix_by_vector` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1030:4
[INFO] [stdout]      |
[INFO] [stdout] 1030 | fn get_result_of_divide_matrix_by_vector<T: Copy + Div<Output=T>>(matrix: &Vec<Vec<T>>, vec: &Vec<T>) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_perpendicular_distance` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1045:4
[INFO] [stdout]      |
[INFO] [stdout] 1045 | fn calc_perpendicular_distance(n: &Vec<Vec<f64>>, ref_dirs: &Vec<Vec<f64>>) -> Vec<Vec<f64>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_perpendicular_distance_matrix` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1064:4
[INFO] [stdout]      |
[INFO] [stdout] 1064 | fn calc_perpendicular_distance_matrix<'a>(n: Vec<Vec<f64>>, ref_dirs: &'a Vec<Vec<f64>>) -> DistMatrix<'a>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `np_tile` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1069:4
[INFO] [stdout]      |
[INFO] [stdout] 1069 | fn np_tile<T: Copy>(source: &Vec<Vec<T>>, length: usize) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `np_repeat_zero_axis` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1082:4
[INFO] [stdout]      |
[INFO] [stdout] 1082 | fn np_repeat_zero_axis<T: Copy>(source: &Vec<Vec<T>>, length: usize) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `np_sum_axis_one` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1109:4
[INFO] [stdout]      |
[INFO] [stdout] 1109 | fn np_sum_axis_one<T: Copy + Add<Output=T>>(matrix: &Vec<Vec<T>>) -> Vec<T>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_of_matrix_axis_one` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1122:4
[INFO] [stdout]      |
[INFO] [stdout] 1122 | fn sum_of_matrix_axis_one<T: Copy+Add<Output=T>>(source: &Vec<Vec<T>>) -> Vec<T>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `divide_vectors` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1137:4
[INFO] [stdout]      |
[INFO] [stdout] 1137 | fn divide_vectors<T: Copy + Div<Output=T>>(enumerator: &Vec<T>, denominator: &Vec<T>) -> Vec<T>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rise_vector_shape` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1160:4
[INFO] [stdout]      |
[INFO] [stdout] 1160 | fn rise_vector_shape<T: Copy>(vec: &Vec<T>) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiply_matrix_rows` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1170:4
[INFO] [stdout]      |
[INFO] [stdout] 1170 | fn multiply_matrix_rows<T: Copy + Mul<Output=T>>(source1: &Vec<Vec<T>>, source2: &Vec<Vec<T>>) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiply_matrix_by_rised_vector` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1185:4
[INFO] [stdout]      |
[INFO] [stdout] 1185 | fn multiply_matrix_by_rised_vector<T: Copy + Mul<Output=T>>(matrix: &Vec<Vec<T>>, rised_vector: &Vec<Vec<T>>) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_of_divide_matrix_by_rised_vector` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1202:4
[INFO] [stdout]      |
[INFO] [stdout] 1202 | fn get_result_of_divide_matrix_by_rised_vector<T: Copy + Div<Output=T>>(matrix: &Vec<Vec<T>>, rised_vector: &Vec<Vec<T>>) -> Vec<Vec<T>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_matrix_difference` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1219:4
[INFO] [stdout]      |
[INFO] [stdout] 1219 | fn get_matrix_difference<T: Copy + Sub<Output=T>>(p0: &Vec<Vec<T>>, p1: &Vec<Vec<T>>) -> Vec<Vec<T>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reshape_vector_into_matrix` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1233:4
[INFO] [stdout]      |
[INFO] [stdout] 1233 | fn reshape_vector_into_matrix<T: Copy>(source: &Vec<T>, column_length: usize) -> Vec<Vec<T>>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_values_from_matrix_by_row_indicies_and_column_indicies` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1313:4
[INFO] [stdout]      |
[INFO] [stdout] 1313 | fn get_values_from_matrix_by_row_indicies_and_column_indicies<T:Copy>(matrix: &Vec<Vec<T>>, row_indicies: &Vec<usize>, column_indicies: &...
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_points` is never used
[INFO] [stdout]  --> src/optimizers/nsga3/tests.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn get_points() -> Vec<Vec<f64>> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_point` is never used
[INFO] [stdout]   --> src/optimizers/nsga3/tests.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn get_point() -> Vec<f64> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_3d_matrix` is never used
[INFO] [stdout]   --> src/optimizers/nsga3/tests.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn get_3d_matrix() -> Vec<Vec<Vec<f64>>>
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eq_with_nan_eq` is never used
[INFO] [stdout]   --> src/optimizers/nsga3/tests.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn eq_with_nan_eq(a: f64, b: f64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_compare` is never used
[INFO] [stdout]   --> src/optimizers/nsga3/tests.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn vec_compare(va: &[f64], vb: &[f64]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_elem_in_vector` is never used
[INFO] [stdout]    --> src/optimizers/nsga3/tests.rs:480:4
[INFO] [stdout]     |
[INFO] [stdout] 480 | fn check_elem_in_vector(vec: &Vec<usize>, elem: usize) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_n_for_deep_test` is never used
[INFO] [stdout]  --> src/optimizers/nsga3/test_helpers.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn get_n_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ref_dirs_for_deep_test` is never used
[INFO] [stdout]   --> src/optimizers/nsga3/test_helpers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn get_ref_dirs_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_u_for_deep_test` is never used
[INFO] [stdout]   --> src/optimizers/nsga3/test_helpers.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn get_u_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_v_for_deep_test` is never used
[INFO] [stdout]    --> src/optimizers/nsga3/test_helpers.rs:627:8
[INFO] [stdout]     |
[INFO] [stdout] 627 | pub fn get_v_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_norm_u_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:1193:8
[INFO] [stdout]      |
[INFO] [stdout] 1193 | pub fn get_norm_u_for_deep_test() -> Vec<f64>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_vu_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:1198:8
[INFO] [stdout]      |
[INFO] [stdout] 1198 | pub fn get_vu_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sum_vu_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:1764:8
[INFO] [stdout]      |
[INFO] [stdout] 1764 | pub fn get_sum_vu_for_deep_test() -> Vec<f64>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_scalar_proj_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:1769:8
[INFO] [stdout]      |
[INFO] [stdout] 1769 | pub fn get_scalar_proj_for_deep_test() -> Vec<f64>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rised_scalar_proj_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:1774:8
[INFO] [stdout]      |
[INFO] [stdout] 1774 | pub fn get_rised_scalar_proj_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rised_scalar_proj_mult_u_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:2340:8
[INFO] [stdout]      |
[INFO] [stdout] 2340 | pub fn get_rised_scalar_proj_mult_u_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rised_norm_u_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:2906:8
[INFO] [stdout]      |
[INFO] [stdout] 2906 | pub fn get_rised_norm_u_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_proj_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:3472:8
[INFO] [stdout]      |
[INFO] [stdout] 3472 | pub fn get_proj_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_proj_minus_v_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4038:8
[INFO] [stdout]      |
[INFO] [stdout] 4038 | pub fn get_proj_minus_v_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_val_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4604:8
[INFO] [stdout]      |
[INFO] [stdout] 4604 | pub fn get_val_for_deep_test() -> Vec<f64>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_matrix_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4609:8
[INFO] [stdout]      |
[INFO] [stdout] 4609 | pub fn get_matrix_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `form_points_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4635:8
[INFO] [stdout]      |
[INFO] [stdout] 4635 | pub fn form_points_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `form_weights_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4651:8
[INFO] [stdout]      |
[INFO] [stdout] 4651 | pub fn form_weights_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get___f_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4660:8
[INFO] [stdout]      |
[INFO] [stdout] 4660 | pub fn get___f_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_f_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4676:8
[INFO] [stdout]      |
[INFO] [stdout] 4676 | pub fn get_next_f_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rised_weights_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4692:8
[INFO] [stdout]      |
[INFO] [stdout] 4692 | pub fn get_rised_weights_to_hyperplane_test() -> Vec<Vec<Vec<f64>>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mult_f_by_rised_weights_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4701:8
[INFO] [stdout]      |
[INFO] [stdout] 4701 | pub fn get_mult_f_by_rised_weights_to_hyperplane_test() -> Vec<Vec<Vec<f64>>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_max_of_rised_weight_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4743:8
[INFO] [stdout]      |
[INFO] [stdout] 4743 | pub fn get_max_of_rised_weight_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_f_asf_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4752:8
[INFO] [stdout]      |
[INFO] [stdout] 4752 | pub fn get_f_asf_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_i_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4761:8
[INFO] [stdout]      |
[INFO] [stdout] 4761 | pub fn get_i_to_hyperplane_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_extreme_points_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4766:8
[INFO] [stdout]      |
[INFO] [stdout] 4766 | pub fn get_extreme_points_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ideal_point_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4775:8
[INFO] [stdout]      |
[INFO] [stdout] 4775 | pub fn get_ideal_point_to_hyperplane_test() -> Vec<f64>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pop_len_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4780:8
[INFO] [stdout]      |
[INFO] [stdout] 4780 | pub fn get_pop_len_to_niching_test() -> usize
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_n_remaining_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4785:8
[INFO] [stdout]      |
[INFO] [stdout] 4785 | pub fn get_n_remaining_to_niching_test() -> usize
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_niche_count_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4790:8
[INFO] [stdout]      |
[INFO] [stdout] 4790 | pub fn get_niche_count_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_niche_of_individuals_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4795:8
[INFO] [stdout]      |
[INFO] [stdout] 4795 | pub fn get_niche_of_individuals_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_dist_to_niche_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4800:8
[INFO] [stdout]      |
[INFO] [stdout] 4800 | pub fn get_dist_to_niche_to_niching_test() -> Vec<f64>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mask_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4805:8
[INFO] [stdout]      |
[INFO] [stdout] 4805 | pub fn get_mask_to_niching_test() -> Vec<bool>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_n_select_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4810:8
[INFO] [stdout]      |
[INFO] [stdout] 4810 | pub fn get_n_select_to_niching_test() -> usize
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_niches_list_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4815:8
[INFO] [stdout]      |
[INFO] [stdout] 4815 | pub fn get_next_niches_list_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_niche_count_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4820:8
[INFO] [stdout]      |
[INFO] [stdout] 4820 | pub fn get_next_niche_count_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_min_niche_count_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4825:8
[INFO] [stdout]      |
[INFO] [stdout] 4825 | pub fn get_min_niche_count_to_niching_test() -> usize
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tmp_nich_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4830:8
[INFO] [stdout]      |
[INFO] [stdout] 4830 | pub fn get_tmp_nich_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_niches_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4835:8
[INFO] [stdout]      |
[INFO] [stdout] 4835 | pub fn get_next_niches_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_permutation_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4840:8
[INFO] [stdout]      |
[INFO] [stdout] 4840 | pub fn get_permutation_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ready_permutation_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4845:8
[INFO] [stdout]      |
[INFO] [stdout] 4845 | pub fn get_ready_permutation_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_niches_v2_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4850:8
[INFO] [stdout]      |
[INFO] [stdout] 4850 | pub fn get_next_niches_v2_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tmp_condition_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4855:8
[INFO] [stdout]      |
[INFO] [stdout] 4855 | pub fn get_tmp_condition_by_n_step_to_niching_test(n: usize) -> Vec<bool>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_indicies_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4869:8
[INFO] [stdout]      |
[INFO] [stdout] 4869 | pub fn get_next_indicies_by_n_step_to_niching_test(n: usize) -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_ind_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4883:8
[INFO] [stdout]      |
[INFO] [stdout] 4883 | pub fn get_next_ind_by_n_step_to_niching_test(n: usize) -> usize
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mask_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4897:8
[INFO] [stdout]      |
[INFO] [stdout] 4897 | pub fn get_mask_by_n_step_to_niching_test(n: usize) -> Vec<bool>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_survivors_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4911:8
[INFO] [stdout]      |
[INFO] [stdout] 4911 | pub fn get_survivors_by_n_step_to_niching_test(n: usize) -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_niche_count_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4925:8
[INFO] [stdout]      |
[INFO] [stdout] 4925 | pub fn get_niche_count_by_n_step_to_niching_test(n: usize) -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_survivours_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4939:8
[INFO] [stdout]      |
[INFO] [stdout] 4939 | pub fn get_survivours_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockSolution` is never constructed
[INFO] [stdout]   --> src/optimizers/age_moea2/tests.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct MockSolution
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_compare` is never used
[INFO] [stdout]  --> src/optimizers/age_moea2/test_helpers.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn vec_compare(va: &[f64], vb: &[f64]) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eq_with_inf_eq` is never used
[INFO] [stdout]  --> src/optimizers/age_moea2/test_helpers.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn eq_with_inf_eq(a: f64, b: f64) -> bool {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_distances_meshgrid_dataset` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn get_distances_meshgrid_dataset() -> Vec<Vec<f64>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expected_argpartition_result` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn expected_argpartition_result() -> Vec<Vec<usize>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expected_matrix_slice_result` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn expected_matrix_slice_result() -> Vec<Vec<usize>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expected_take_along_axis_one` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn expected_take_along_axis_one() -> Vec<Vec<f64>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expected_sum_along_axis_one` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn expected_sum_along_axis_one() -> Vec<f64>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_points_to_point_to_line_distance_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn get_points_to_point_to_line_distance_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_eyed_matrix_row_to_point_to_line_distance_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn get_eyed_matrix_row_to_point_to_line_distance_fn() -> Vec<f64>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_to_point_to_line_distance_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn get_result_to_point_to_line_distance_fn() -> Vec<f64>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_points_to_find_corner_solution_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn get_points_to_find_corner_solution_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_for_find_corner_solution_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn get_result_for_find_corner_solution_fn() -> Vec<usize>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_for_norm_matrix_by_axis_one_and_ord_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub fn get_source_for_norm_matrix_by_axis_one_and_ord_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_p_for_norm_matrix_by_axis_one_and_ord_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn get_p_for_norm_matrix_by_axis_one_and_ord_fn() -> f64 {0.7364969410573391}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_for_norm_matrix_by_axis_one_and_ord_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub fn get_result_for_norm_matrix_by_axis_one_and_ord_fn() -> Vec<f64>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pairwise_distance_source` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn get_pairwise_distance_source() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pairwise_distance_p` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn get_pairwise_distance_p() -> f64 {0.7364969410573391}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pairwise_distance_result` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub fn get_pairwise_distance_result() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_front_for_survival_score_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn get_source_front_for_survival_score_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_ideal_point_for_survival_score_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:277:8
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub fn get_source_ideal_point_for_survival_score_fn() -> Vec<f64> { vec![3.64166276076110584369871503440663218498229980468750,2.077416864...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_expected_result_for_survival_score_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub fn get_expected_result_for_survival_score_fn() -> (f64, Vec<f64>, Vec<f64>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_newton_raphson_source` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn get_newton_raphson_source() -> (Vec<Vec<f64>>, Vec<usize>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_for_newton_raphson` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:316:8
[INFO] [stdout]     |
[INFO] [stdout] 316 | pub fn get_result_for_newton_raphson() -> f64 {0.7364969410573391}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_for_get_crowding_distance_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:318:8
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub fn get_source_for_get_crowding_distance_fn() -> (usize, Vec<bool>, Vec<Vec<f64>>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_for_get_crowding_distance_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:345:8
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub fn get_result_for_get_crowding_distance_fn() -> Vec<f64>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_meshgrid_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:350:8
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub fn get_source_meshgrid_fn() -> (Vec<usize>, Vec<usize>, Vec<Vec<f64>>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_meshgrid_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:377:8
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub fn get_result_meshgrid_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_for_sort_debug` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:397:8
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub fn get_source_for_sort_debug() -> (Vec<Vec<usize>>, Vec<Vec<f64>>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g1` is never used
[INFO] [stdout]   --> src/problem/dtlz.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn g1(x_m: &[f64]) -> f64
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g2` is never used
[INFO] [stdout]   --> src/problem/dtlz.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn g2(x_m: &[f64]) -> f64
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g3` is never used
[INFO] [stdout]   --> src/problem/dtlz.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn g3(x_m: &[f64]) -> f64
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_spherical_target` is never used
[INFO] [stdout]   --> src/problem/dtlz.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn calc_spherical_target(x: &[f64], g: f64, alpha: f64, f: &mut [f64])
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz1` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz1.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Dtlz1
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz1.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Dtlz1 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz2` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz2.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Dtlz2
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz2.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Dtlz2 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz3` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz3.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Dtlz3
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz3.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Dtlz3 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz4` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz4.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Dtlz4
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz4.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Dtlz4 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz7` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz7.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Dtlz7
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz7.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn g(x_m: &[f64]) -> f64
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz7.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Dtlz7 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 27 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz5` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz5.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Dtlz5
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz5.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Dtlz5 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dtlz6` is never constructed
[INFO] [stdout]  --> src/problem/dtlz/dtlz6.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Dtlz6
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problem/dtlz/dtlz6.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Dtlz6 {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(n_var: usize, n_obj: usize) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/optimizers/nsga3/dist_matrix.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn iter(&self) -> DistMatrixIter {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn iter(&self) -> DistMatrixIter<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: incorrect NaN comparison, NaN cannot be directly compared to itself
[INFO] [stdout]    --> src/optimizers/age_moea2.rs:861:52
[INFO] [stdout]     |
[INFO] [stdout] 861 |                     if any_in_vec_is(&plane, |val| val == f64::NAN || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(invalid_nan_comparisons)]` on by default
[INFO] [stdout] help: use `f32::is_nan()` or `f64::is_nan()` instead
[INFO] [stdout]     |
[INFO] [stdout] 861 -                     if any_in_vec_is(&plane, |val| val == f64::NAN || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout] 861 +                     if any_in_vec_is(&plane, |val| val.is_nan() || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: incorrect NaN comparison, NaN cannot be directly compared to itself
[INFO] [stdout]    --> src/optimizers/age_moea2.rs:871:93
[INFO] [stdout]     |
[INFO] [stdout] 871 | ...   if any_in_vec_is(&self.sorting_buffer.prepared_normalization_vec, |val| val == f64::NAN || val == f64::NEG_INFINITY || val == f64::...
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `f32::is_nan()` or `f64::is_nan()` instead
[INFO] [stdout]     |
[INFO] [stdout] 871 -                     if any_in_vec_is(&self.sorting_buffer.prepared_normalization_vec, |val| val == f64::NAN || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout] 871 +                     if any_in_vec_is(&self.sorting_buffer.prepared_normalization_vec, |val| val.is_nan() || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get___f_to_hyperplane_test` should have a snake case name
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4660:8
[INFO] [stdout]      |
[INFO] [stdout] 4660 | pub fn get___f_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_f_to_hyperplane_test`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Solution`
[INFO] [stdout]  --> src/ens_nondominating_sorting.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::Solution;
[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: `peeking_take_while::PeekableExt`
[INFO] [stdout]  --> src/optimizers/nsga2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use peeking_take_while::PeekableExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/optimizers/nsga2.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `peeking_take_while::PeekableExt`
[INFO] [stdout]  --> src/optimizers/nsga3.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use peeking_take_while::PeekableExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/optimizers/nsga3.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::read_to_string`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::read_to_string;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PanicInfo` and `catch_unwind`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::panic::{catch_unwind, PanicInfo};
[INFO] [stdout]    |                  ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2`, `ArrayView1`, and `indices_of`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ndarray::{Array2, ArrayView1, indices_of};
[INFO] [stdout]    |               ^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use rand_distr::num_traits;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1102:20
[INFO] [stdout]      |
[INFO] [stdout] 1102 |             sum += (item * item);
[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] 1102 -             sum += (item * item);
[INFO] [stdout] 1102 +             sum += item * item;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `find_corner_solution` and `newton_raphson`
[INFO] [stdout]  --> src/optimizers/age_moea2/tests.rs:4:95
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::optimizers::age_moea2::{highest_value_and_index_in_vector, point_to_line_distance, find_corner_solution, newton_raphson, minko...
[INFO] [stdout]   |                                                                                               ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/optimizers/age_moea2/tests.rs:143:15
[INFO] [stdout]     |
[INFO] [stdout] 143 |         while (crowding_distance.len() <= point_index)
[INFO] [stdout]     |               ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 143 -         while (crowding_distance.len() <= point_index)
[INFO] [stdout] 143 +         while crowding_distance.len() <= point_index
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/optimizers/age_moea2/tests.rs:172:19
[INFO] [stdout]     |
[INFO] [stdout] 172 |             while (crowding_distance.len() <= point_index)
[INFO] [stdout]     |                   ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 172 -             while (crowding_distance.len() <= point_index)
[INFO] [stdout] 172 +             while crowding_distance.len() <= point_index
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add` and `Deref`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::ops::{Add, Deref};
[INFO] [stdout]    |                ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Itertools`, `min`, and `sorted`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use itertools::{Itertools, min, sorted};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::Num`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use rand_distr::num_traits::Num;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz1.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz1.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz2.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz3.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz3.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz4.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz4.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz5.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz5.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz6.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz6.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/problem/dtlz/dtlz7.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/problem/dtlz/dtlz7.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> src/problem/dtlz.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt::{Formatter};
[INFO] [stdout]   |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]   --> src/problem/dtlz.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::{Rng, thread_rng};
[INFO] [stdout]    |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Meta`, `Objective`, `Ratio`, `Solution`, and `SolutionsRuntimeProcessor`
[INFO] [stdout]   --> src/problem/dtlz.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{Meta, Objective, Ratio, Solution, SolutionsRuntimeProcessor};
[INFO] [stdout]    |             ^^^^  ^^^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/tests/manual_analyze_problems.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Map` and `Zip`
[INFO] [stdout]  --> src/tests/manual_analyze_problems.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter::{Map, Zip};
[INFO] [stdout]   |                 ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::Iter`
[INFO] [stdout]  --> src/tests/manual_analyze_problems.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::slice::Iter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizers::nsga2::NSGA2Optimizer`
[INFO] [stdout]   --> src/tests/manual_analyze_problems.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::optimizers::nsga2::NSGA2Optimizer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nsga3`
[INFO] [stdout]   --> src/tests/manual_analyze_problems.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::optimizers::{nsga3, Optimizer};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Meta`
[INFO] [stdout]   --> src/tests/manual_analyze_problems.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{Meta, Ratio, SolutionsRuntimeProcessor};
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::channel`
[INFO] [stdout]   --> src/tests/manual_analyze_problems.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::sync::mpsc::channel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]   --> src/tests/manual_analyze_problems.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizers::reference_direction_using_local_storage::ReferenceDirectionsUsingLocalStorage`
[INFO] [stdout]   --> src/tests/manual_analyze_problems.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::optimizers::reference_direction_using_local_storage::ReferenceDirectionsUsingLocalStorage;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizers::reference_directions::ReferenceDirections`
[INFO] [stdout]   --> src/tests/manual_analyze_problems.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::optimizers::reference_directions::ReferenceDirections;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/tests/manual_analyze_problems.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut evaluator: Box<(dyn Evaluator)> = Box::new(DefaultEvaluator::new(terminate_early_count));
[INFO] [stdout]    |                            ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 36 -     let mut evaluator: Box<(dyn Evaluator)> = Box::new(DefaultEvaluator::new(terminate_early_count));
[INFO] [stdout] 36 +     let mut evaluator: Box<dyn Evaluator> = Box::new(DefaultEvaluator::new(terminate_early_count));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead
[INFO] [stdout]   --> src/optimizers/nsga3.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::panic::{catch_unwind, PanicInfo};
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::real::Real`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use rand_distr::num_traits::real::Real;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Sum`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::iter::Sum;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::real::Real`
[INFO] [stdout]   --> src/optimizers/nsga3.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rand_distr::num_traits::real::Real;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dna_allocator`
[INFO] [stdout]   --> src/array_solution.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn crossover(&mut self, dna_allocator: &mut SimpleCloneAllocator<ArraySolution>, other: &mut Self) {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dna_allocator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dna_allocator`
[INFO] [stdout]   --> src/array_solution.rs:77:26
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn mutate(&mut self, dna_allocator: &mut SimpleCloneAllocator<ArraySolution>) {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dna_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3/tests.rs:557:9
[INFO] [stdout]     |
[INFO] [stdout] 557 |     let mut expected = vec![vec![7.5, 5.7], vec![9.1, 8.2], vec![7.6, 9.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/optimizers/age_moea2.rs:1215:9
[INFO] [stdout]      |
[INFO] [stdout] 1215 |         mut runtime_solutions_processor: Box<&mut dyn SolutionsRuntimeProcessor<S, DnaAllocatorType>>
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `denom` is never read
[INFO] [stdout]    --> src/optimizers/nsga3.rs:982:5
[INFO] [stdout]     |
[INFO] [stdout] 982 |     denom = replace_zero_coordinates_in_point(&denom, |a| *a == 0., 1e-12);
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/misc/nsga_3_by_chat_gpt.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         for j in 0..divisions + 1 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worst_front`
[INFO] [stdout]    --> src/optimizers/nsga3.rs:301:29
[INFO] [stdout]     |
[INFO] [stdout] 301 |         let (non_dominated, worst_front) = get_non_dominated_and_last_fronts(&array_of_fronts);
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worst_front`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:296:13
[INFO] [stdout]     |
[INFO] [stdout] 296 |         let mut fronts = flat_fronts;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:345:13
[INFO] [stdout]     |
[INFO] [stdout] 345 |         let mut n_remaining;
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:111:28
[INFO] [stdout]     |
[INFO] [stdout] 111 |                 .for_each(|mut 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/tests/manual_analyze_problems.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut multi_threaded_runtime = tokio::runtime::Builder::new_multi_thread().build().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/optimizers/nsga3.rs:58:59
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn optimize(&mut self, eval: &mut Box<dyn Evaluator>, mut runtime_solutions_processor: Box<&mut dyn SolutionsRuntimeProcessor<S, DnaA...
[INFO] [stdout]    |                                                           ----^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                           |
[INFO] [stdout]    |                                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1351:9
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     for mut dim in rised_2d_matrix
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:599:13
[INFO] [stdout]     |
[INFO] [stdout] 599 |         let mut achievement_scalarizing_function= np_max_axis_two_for_3d_matrix(&multiplied_points_and_rised_weights);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:447:13
[INFO] [stdout]     |
[INFO] [stdout] 447 |         let mut n_select = n_remaining - survivors.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/optimizers/nsga3.rs:461:17
[INFO] [stdout]     |
[INFO] [stdout] 461 |             let mut next_index;
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga2.rs:177:31
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         .map(|mut child| child)
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimizers/nsga2.rs:47:59
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn optimize(&mut self, eval: &mut Box<dyn Evaluator>, mut runtime_solutions_processor: Box<&mut dyn SolutionsRuntimeProcessor<S, DnaA...
[INFO] [stdout]    |                                                           ----^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                           |
[INFO] [stdout]    |                                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:750:17
[INFO] [stdout]     |
[INFO] [stdout] 750 |             let mut pivot_coefficient = advanced_system_matrix[row_index][row_index];
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/nsga3.rs:848:13
[INFO] [stdout]     |
[INFO] [stdout] 848 |         let mut current_row = &mut conversion_matrix[*last_index];
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hyperplane`
[INFO] [stdout]     --> src/optimizers/nsga3/tests.rs:1868:9
[INFO] [stdout]      |
[INFO] [stdout] 1868 |     let hyperplane = Hyperplane::new(&3);
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hyperplane`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimizers/nsga3/tests.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let mut weights = Hyperplane::eye(&5, Some(1.), Some(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/optimizers/nsga3/tests.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut weights = Hyperplane::eye(&3, Some(0.), Some(3.)).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/optimizers/nsga3/tests.rs:1917:13
[INFO] [stdout]      |
[INFO] [stdout] 1917 |         let mut n_select = n_remaining - survivors.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/optimizers/nsga3/tests.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let mut weights = Hyperplane::eye(&5, Some(1.), Some(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/optimizers/nsga3/tests.rs:1945:17
[INFO] [stdout]      |
[INFO] [stdout] 1945 |             let mut next_indicies = get_next_niche_index(&niche_of_individuals, &next_niche, &mask);
[INFO] [stdout]      |                 ----^^^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/optimizers/nsga3/tests.rs:1946:17
[INFO] [stdout]      |
[INFO] [stdout] 1946 |             let mut next_index;
[INFO] [stdout]      |                 ----^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/manual_analyze_problems.rs:363:33
[INFO] [stdout]     |
[INFO] [stdout] 363 | ...                   let mut optimizer = optimizer_creator(array_optimizer_params);
[INFO] [stdout]     |                           ----^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizers/age_moea2/tests.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let mut normalization_vector: Vec<f64> = vec![];
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/manual_analyze_problems.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let mut optimizer_names: Arc<tokio::sync::Mutex<HashSet<String>>> = Arc::new(tokio::sync::Mutex::new(HashSet::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/tests/manual_analyze_problems.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let mut multi_threaded_runtime = tokio::runtime::Builder::new_multi_thread().build().unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `candidates`
[INFO] [stdout]   --> src/lib.rs:92:47
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn extend_iteration_population(&mut self, candidates: &Vec<&mut S>, out_candidates: &mut Vec<S>) {}
[INFO] [stdout]    |                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_candidates`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_candidates`
[INFO] [stdout]   --> src/lib.rs:92:73
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn extend_iteration_population(&mut self, candidates: &Vec<&mut S>, out_candidates: &mut Vec<S>) {}
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_candidates`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dna_allocator`
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn allocate(&mut self, dna_allocator: &mut DnaAllocatorType, mut sol: S, front: usize) -> Candidate<S, DnaAllocatorType>
[INFO] [stdout]    |                                ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dna_allocator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimizers/age_moea2.rs:44:70
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn allocate(&mut self, dna_allocator: &mut DnaAllocatorType, mut sol: S, front: usize) -> Candidate<S, DnaAllocatorType>
[INFO] [stdout]    |                                                                      ----^^^
[INFO] [stdout]    |                                                                      |
[INFO] [stdout]    |                                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index` is never read
[INFO] [stdout]    --> src/optimizers/age_moea2.rs:751:21
[INFO] [stdout]     |
[INFO] [stdout] 751 |             let mut index = 0usize;
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `d` is never read
[INFO] [stdout]    --> src/optimizers/age_moea2.rs:752:21
[INFO] [stdout]     |
[INFO] [stdout] 752 |             let mut d = 0f64;
[INFO] [stdout]     |                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `crossover_odds` and `mutation_odds` are never read
[INFO] [stdout]    --> src/array_solution.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct ArrayOptimizerParams {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 107 |     population_size: usize,
[INFO] [stdout] 108 |     crossover_odds: Ratio,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     mutation_odds: Ratio,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `iter` is never read
[INFO] [stdout]   --> src/evaluator.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct DefaultEvaluator {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 13 |     iter: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_distances_meshgrid_dataset` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn get_distances_meshgrid_dataset() -> Vec<Vec<f64>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expected_argpartition_result` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn expected_argpartition_result() -> Vec<Vec<usize>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expected_matrix_slice_result` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn expected_matrix_slice_result() -> Vec<Vec<usize>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expected_take_along_axis_one` is never used
[INFO] [stdout]   --> src/optimizers/age_moea2/test_helpers.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn expected_take_along_axis_one() -> Vec<Vec<f64>>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_points_to_find_corner_solution_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn get_points_to_find_corner_solution_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_for_find_corner_solution_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn get_result_for_find_corner_solution_fn() -> Vec<usize>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_for_norm_matrix_by_axis_one_and_ord_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub fn get_source_for_norm_matrix_by_axis_one_and_ord_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_p_for_norm_matrix_by_axis_one_and_ord_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn get_p_for_norm_matrix_by_axis_one_and_ord_fn() -> f64 {0.7364969410573391}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_for_norm_matrix_by_axis_one_and_ord_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub fn get_result_for_norm_matrix_by_axis_one_and_ord_fn() -> Vec<f64>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pairwise_distance_source` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn get_pairwise_distance_source() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pairwise_distance_p` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn get_pairwise_distance_p() -> f64 {0.7364969410573391}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pairwise_distance_result` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub fn get_pairwise_distance_result() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_front_for_survival_score_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn get_source_front_for_survival_score_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_ideal_point_for_survival_score_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:277:8
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub fn get_source_ideal_point_for_survival_score_fn() -> Vec<f64> { vec![3.64166276076110584369871503440663218498229980468750,2.077416864...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_expected_result_for_survival_score_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub fn get_expected_result_for_survival_score_fn() -> (f64, Vec<f64>, Vec<f64>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_newton_raphson_source` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn get_newton_raphson_source() -> (Vec<Vec<f64>>, Vec<usize>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_for_newton_raphson` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:316:8
[INFO] [stdout]     |
[INFO] [stdout] 316 | pub fn get_result_for_newton_raphson() -> f64 {0.7364969410573391}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_for_get_crowding_distance_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:318:8
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub fn get_source_for_get_crowding_distance_fn() -> (usize, Vec<bool>, Vec<Vec<f64>>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_for_get_crowding_distance_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:345:8
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub fn get_result_for_get_crowding_distance_fn() -> Vec<f64>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_source_meshgrid_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:350:8
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub fn get_source_meshgrid_fn() -> (Vec<usize>, Vec<usize>, Vec<Vec<f64>>)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_result_meshgrid_fn` is never used
[INFO] [stdout]    --> src/optimizers/age_moea2/test_helpers.rs:377:8
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub fn get_result_meshgrid_fn() -> Vec<Vec<f64>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `best_solutions`, and `dominates` are never used
[INFO] [stdout]    --> src/optimizers/nsga3.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 222 | / impl<'a, S, DnaAllocatorType: CloneReallocationMemoryBuffer<S> + Clone> NSGA3Optimizer<'a, S, DnaAllocatorType>
[INFO] [stdout] 223 | |     where
[INFO] [stdout] 224 | |         S: Solution<DnaAllocatorType>,
[INFO] [stdout]     | |______________________________________- methods in this implementation
[INFO] [stdout] 225 |   {
[INFO] [stdout] 226 |       fn name(&self) -> &str {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |       fn best_solutions(&self) -> Vec<(Vec<f64>, S)> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |       fn dominates(&self, s1: &S, s2: &S) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `form_matrix_by_indicies_in_row` is never used
[INFO] [stdout]    --> src/optimizers/nsga3.rs:501:4
[INFO] [stdout]     |
[INFO] [stdout] 501 | fn form_matrix_by_indicies_in_row(source: &Vec<Vec<f64>>, indicies: &Vec<usize>) -> Vec<Vec<f64>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `multiply_matrix_and_vector_v2` is never used
[INFO] [stdout]    --> src/optimizers/nsga3.rs:876:8
[INFO] [stdout]     |
[INFO] [stdout] 538 | impl Hyperplane {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 876 |     fn multiply_matrix_and_vector_v2<T:Sum + Mul<Output = T> + Copy>(matrix: &Vec<Vec<T>>, vec: &Vec<T>) -> Vec<T>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_perpendicular_distance_matrix` is never used
[INFO] [stdout]     --> src/optimizers/nsga3.rs:1064:4
[INFO] [stdout]      |
[INFO] [stdout] 1064 | fn calc_perpendicular_distance_matrix<'a>(n: Vec<Vec<f64>>, ref_dirs: &'a Vec<Vec<f64>>) -> DistMatrix<'a>
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rised_norm_u_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:2906:8
[INFO] [stdout]      |
[INFO] [stdout] 2906 | pub fn get_rised_norm_u_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_proj_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:3472:8
[INFO] [stdout]      |
[INFO] [stdout] 3472 | pub fn get_proj_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_proj_minus_v_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4038:8
[INFO] [stdout]      |
[INFO] [stdout] 4038 | pub fn get_proj_minus_v_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_val_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4604:8
[INFO] [stdout]      |
[INFO] [stdout] 4604 | pub fn get_val_for_deep_test() -> Vec<f64>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_matrix_for_deep_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4609:8
[INFO] [stdout]      |
[INFO] [stdout] 4609 | pub fn get_matrix_for_deep_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get___f_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4660:8
[INFO] [stdout]      |
[INFO] [stdout] 4660 | pub fn get___f_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_max_of_rised_weight_to_hyperplane_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4743:8
[INFO] [stdout]      |
[INFO] [stdout] 4743 | pub fn get_max_of_rised_weight_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pop_len_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4780:8
[INFO] [stdout]      |
[INFO] [stdout] 4780 | pub fn get_pop_len_to_niching_test() -> usize
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_n_remaining_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4785:8
[INFO] [stdout]      |
[INFO] [stdout] 4785 | pub fn get_n_remaining_to_niching_test() -> usize
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ready_permutation_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4845:8
[INFO] [stdout]      |
[INFO] [stdout] 4845 | pub fn get_ready_permutation_to_niching_test() -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tmp_condition_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4855:8
[INFO] [stdout]      |
[INFO] [stdout] 4855 | pub fn get_tmp_condition_by_n_step_to_niching_test(n: usize) -> Vec<bool>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_indicies_by_n_step_to_niching_test` is never used
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4869:8
[INFO] [stdout]      |
[INFO] [stdout] 4869 | pub fn get_next_indicies_by_n_step_to_niching_test(n: usize) -> Vec<usize>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sol` is never read
[INFO] [stdout]   --> src/optimizers/age_moea2/tests.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct MockSolution
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub sol: Vec<f64>
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/misc/nsga_3_by_chat_gpt.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Solution {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `dominates`, and `calculate_distance` are never used
[INFO] [stdout]   --> src/misc/nsga_3_by_chat_gpt.rs:9:11
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Solution {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout]  9 |    pub fn new(objectives: Vec<f64>) -> Self {
[INFO] [stdout]    |           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn dominates(&self, other: &Solution) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn calculate_distance(&mut self, reference_point: &Vec<f64>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_reference_points` is never used
[INFO] [stdout]   --> src/misc/nsga_3_by_chat_gpt.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn calculate_reference_points(solutions: &Vec<Solution>, objectives: usize, divisions: usize) -> Vec<Vec<f64>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fast_non_dominated_sort` is never used
[INFO] [stdout]   --> src/misc/nsga_3_by_chat_gpt.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn fast_non_dominated_sort(solutions: &Vec<Solution>) -> Vec<Vec<usize>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crowding_distance_assignment` is never used
[INFO] [stdout]    --> src/misc/nsga_3_by_chat_gpt.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn crowding_distance_assignment(front: &Vec<usize>, solutions: &mut Vec<Solution>, objectives: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nsga_iii` is never used
[INFO] [stdout]    --> src/misc/nsga_3_by_chat_gpt.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn nsga_iii(solutions: &mut Vec<Solution>, reference_point_divisions: usize) -> Vec<usize> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/optimizers/nsga3/dist_matrix.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn iter(&self) -> DistMatrixIter {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn iter(&self) -> DistMatrixIter<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: incorrect NaN comparison, NaN cannot be directly compared to itself
[INFO] [stdout]    --> src/optimizers/age_moea2.rs:861:52
[INFO] [stdout]     |
[INFO] [stdout] 861 |                     if any_in_vec_is(&plane, |val| val == f64::NAN || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(invalid_nan_comparisons)]` on by default
[INFO] [stdout] help: use `f32::is_nan()` or `f64::is_nan()` instead
[INFO] [stdout]     |
[INFO] [stdout] 861 -                     if any_in_vec_is(&plane, |val| val == f64::NAN || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout] 861 +                     if any_in_vec_is(&plane, |val| val.is_nan() || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: incorrect NaN comparison, NaN cannot be directly compared to itself
[INFO] [stdout]    --> src/optimizers/age_moea2.rs:871:93
[INFO] [stdout]     |
[INFO] [stdout] 871 | ...   if any_in_vec_is(&self.sorting_buffer.prepared_normalization_vec, |val| val == f64::NAN || val == f64::NEG_INFINITY || val == f64::...
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `f32::is_nan()` or `f64::is_nan()` instead
[INFO] [stdout]     |
[INFO] [stdout] 871 -                     if any_in_vec_is(&self.sorting_buffer.prepared_normalization_vec, |val| val == f64::NAN || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout] 871 +                     if any_in_vec_is(&self.sorting_buffer.prepared_normalization_vec, |val| val.is_nan() || val == f64::NEG_INFINITY || val == f64::INFINITY)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get___f_to_hyperplane_test` should have a snake case name
[INFO] [stdout]     --> src/optimizers/nsga3/test_helpers.rs:4660:8
[INFO] [stdout]      |
[INFO] [stdout] 4660 | pub fn get___f_to_hyperplane_test() -> Vec<Vec<f64>>
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_f_to_hyperplane_test`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [optimized] target(s) in 3m 04s
[INFO] running `Command { std: "docker" "inspect" "842e6dc522b0407010c7a2a2406beaf43aaf7f67ba95270c49e3416ef1763ce8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "842e6dc522b0407010c7a2a2406beaf43aaf7f67ba95270c49e3416ef1763ce8", kill_on_drop: false }`
[INFO] [stdout] 842e6dc522b0407010c7a2a2406beaf43aaf7f67ba95270c49e3416ef1763ce8
