[INFO] cloning repository https://github.com/kohinigeee/TSP
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kohinigeee/TSP" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkohinigeee%2FTSP", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkohinigeee%2FTSP'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a36596661f083fc92423bf56c54ac4776fbb411e
[INFO] checking kohinigeee/TSP against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkohinigeee%2FTSP" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kohinigeee/TSP
[INFO] finished tweaking git repo https://github.com/kohinigeee/TSP
[INFO] tweaked toml for git repo https://github.com/kohinigeee/TSP written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kohinigeee/TSP on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kohinigeee/TSP already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6f40e93574daa6b9cc9d96a2316d5579c19cba41180a81fcc0ee4088a33de629
[INFO] running `Command { std: "docker" "start" "-a" "6f40e93574daa6b9cc9d96a2316d5579c19cba41180a81fcc0ee4088a33de629", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6f40e93574daa6b9cc9d96a2316d5579c19cba41180a81fcc0ee4088a33de629", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6f40e93574daa6b9cc9d96a2316d5579c19cba41180a81fcc0ee4088a33de629", kill_on_drop: false }`
[INFO] [stdout] 6f40e93574daa6b9cc9d96a2316d5579c19cba41180a81fcc0ee4088a33de629
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 30ec5f92f25a847e74db4ddfa845562fe51085b4831e81ca4de19d3481aa6d63
[INFO] running `Command { std: "docker" "start" "-a" "30ec5f92f25a847e74db4ddfa845562fe51085b4831e81ca4de19d3481aa6d63", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]    Compiling libc v0.2.144
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]    Compiling thiserror-impl v1.0.40
[INFO] [stderr]     Checking thiserror v1.0.40
[INFO] [stderr]     Checking tsp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `self`
[INFO] [stdout]  --> src/main.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{self, BufRead, BufReader};
[INFO] [stdout]   |               ^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/main.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::{info};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/main.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{self, Context};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/main.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use thiserror::{Error};
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]   --> src/main.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{Rng};
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/modules/tspinstance.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, BufRead, BufReader};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/modules/tspinstance.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info};
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `anyhow`
[INFO] [stdout]  --> src/modules/tspinstance.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::{anyhow, Context, Result};
[INFO] [stdout]   |              ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/modules/tspinstance.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::point::{Point, self};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Level`, `debug`, and `info`
[INFO] [stdout]  --> src/modules/construct.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::{info, debug, Level};
[INFO] [stdout]   |           ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:181:15
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let inf = (1i64<<60);
[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] 181 -     let inf = (1i64<<60);
[INFO] [stdout] 181 +     let inf = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `init_points` should have an upper camel case name
[INFO] [stdout]    --> src/modules/construct.rs:264:6
[INFO] [stdout]     |
[INFO] [stdout] 264 | type init_points<T> = fn(&mut Insertion<T>)->Vec<usize>;
[INFO] [stdout]     |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `InitPoints`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `update_score_fn` should have an upper camel case name
[INFO] [stdout]    --> src/modules/construct.rs:265:6
[INFO] [stdout]     |
[INFO] [stdout] 265 | type update_score_fn<T> = fn(&mut Insertion<T>, usize)->(); // usize : 新しく追加された頂点の番号
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UpdateScoreFn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `cmp_fn` should have an upper camel case name
[INFO] [stdout]    --> src/modules/construct.rs:266:6
[INFO] [stdout]     |
[INFO] [stdout] 266 | type cmp_fn<T> = fn(&T, &T)->bool;
[INFO] [stdout]     |      ^^^^^^ help: convert the identifier to upper camel case: `CmpFn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `select_pos_fn` should have an upper camel case name
[INFO] [stdout]    --> src/modules/construct.rs:267:6
[INFO] [stdout]     |
[INFO] [stdout] 267 | type select_pos_fn<T> = fn(&mut Insertion<T>, usize, &(T, usize))->usize;
[INFO] [stdout]     |      ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SelectPosFn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:274:29
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut min_score = (1i64<<60);
[INFO] [stdout]     |                             ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 274 -         let mut min_score = (1i64<<60);
[INFO] [stdout] 274 +         let mut min_score = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:326:27
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let mut min_dis = (1i64<<60);
[INFO] [stdout]     |                           ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 326 -         let mut min_dis = (1i64<<60);
[INFO] [stdout] 326 +         let mut min_dis = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:375:27
[INFO] [stdout]     |
[INFO] [stdout] 375 |             let zerogen = (1i64<<60);
[INFO] [stdout]     |                           ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 375 -             let zerogen = (1i64<<60);
[INFO] [stdout] 375 +             let zerogen = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:411:36
[INFO] [stdout]     |
[INFO] [stdout] 411 |             let mut mindis : i64 = (1i64<<60);
[INFO] [stdout]     |                                    ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 411 -             let mut mindis : i64 = (1i64<<60);
[INFO] [stdout] 411 +             let mut mindis : i64 = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:589:25
[INFO] [stdout]     |
[INFO] [stdout] 589 |     let mut min_score = (1i64<<60);
[INFO] [stdout]     |                         ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 589 -     let mut min_score = (1i64<<60);
[INFO] [stdout] 589 +     let mut min_score = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:700:15
[INFO] [stdout]     |
[INFO] [stdout] 700 |     let inf = (1i64<<60);
[INFO] [stdout]     |               ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 700 -     let inf = (1i64<<60);
[INFO] [stdout] 700 +     let inf = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/modules/construct.rs:715:12
[INFO] [stdout]     |
[INFO] [stdout] 715 |         if ( !matrix[pos.0][pos.1].is_empty() ) {
[INFO] [stdout]     |            ^^                                ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 715 -         if ( !matrix[pos.0][pos.1].is_empty() ) {
[INFO] [stdout] 715 +         if !matrix[pos.0][pos.1].is_empty()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/modules/opttour.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, BufRead, BufReader};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::tsp::*`
[INFO] [stdout]  --> src/modules/opttour.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::tsp::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/modules/opttour.rs:26:49
[INFO] [stdout]    |
[INFO] [stdout] 26 |         for result in BufReader::new(File::open((fpath))?).lines() {
[INFO] [stdout]    |                                                 ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         for result in BufReader::new(File::open((fpath))?).lines() {
[INFO] [stdout] 26 +         for result in BufReader::new(File::open(fpath )?).lines() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]   --> src/modules/segmenttree.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |         while( ln < array.len() ) { ln *= 2; }
[INFO] [stdout]    |              ^^                ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 13 -         while( ln < array.len() ) { ln *= 2; }
[INFO] [stdout] 13 +         while ln < array.len()  { ln *= 2; }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]   --> src/modules/segmenttree.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 |         while ( idx > 0 ) {
[INFO] [stdout]    |               ^^       ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -         while ( idx > 0 ) {
[INFO] [stdout] 38 +         while idx > 0  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/modules/segmenttree.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |         if ( nowl >= left && nowr <= right ) { return self.values[node].clone(); }
[INFO] [stdout]    |            ^^                             ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -         if ( nowl >= left && nowr <= right ) { return self.values[node].clone(); }
[INFO] [stdout] 48 +         if nowl >= left && nowr <= right  { return self.values[node].clone(); }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/modules/segmenttree.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |         if ( nowr <= left || nowl >= right ) { return self.zero.clone(); }
[INFO] [stdout]    |            ^^                             ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 49 -         if ( nowr <= left || nowl >= right ) { return self.zero.clone(); }
[INFO] [stdout] 49 +         if nowr <= left || nowl >= right  { return self.zero.clone(); }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/modules/myerror.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{self, Context};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::index`
[INFO] [stdout]  --> src/modules/localsearch.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::seq::index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::BarrierWaitResult`
[INFO] [stdout]  --> src/modules/localsearch.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::BarrierWaitResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `array` and `collections::BTreeSet`
[INFO] [stdout]   --> src/modules/localsearch.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{array, collections::BTreeSet};
[INFO] [stdout]    |           ^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SenryakuType`
[INFO] [stdout]  --> src/modules/myils.rs:3:60
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{tsp::{Tord, Tsp}, localsearch::{OrdArrayLocal, SenryakuType, calcNeighborList, self}};
[INFO] [stdout]   |                                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `f32::NEG_INFINITY`
[INFO] [stdout]  --> src/tests/localserachexp.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{time::Instant, f32::NEG_INFINITY};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `listtest`
[INFO] [stdout]  --> src/tests/localserachexp.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | }, listtest};
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `f32::NEG_INFINITY` and `time::Instant`
[INFO] [stdout]  --> src/tests/listest.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{time::Instant, f32::NEG_INFINITY};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::modules::tsp::Tord`
[INFO] [stdout]  --> src/tests/ilsexp.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::modules::tsp::Tord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `modules::tspinstance::*`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use modules::tspinstance::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `modules::point::Point`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use modules::point::Point;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Insertion`, `insertion_demo`, and `nearest_all`
[INFO] [stdout]   --> src/main.rs:25:33
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::modules::construct::{Insertion, insertion_demo, nearest_all};
[INFO] [stdout]    |                                 ^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tests::listest`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use tests::listest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `self`
[INFO] [stdout]  --> src/main.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{self, BufRead, BufReader};
[INFO] [stdout]   |               ^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/main.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::{info};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/main.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{self, Context};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/main.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use thiserror::{Error};
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]   --> src/main.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{Rng};
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/modules/tspinstance.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, BufRead, BufReader};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/modules/tspinstance.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info};
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `anyhow`
[INFO] [stdout]  --> src/modules/tspinstance.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::{anyhow, Context, Result};
[INFO] [stdout]   |              ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/modules/tspinstance.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::point::{Point, self};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Level`, `debug`, and `info`
[INFO] [stdout]  --> src/modules/construct.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::{info, debug, Level};
[INFO] [stdout]   |           ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:181:15
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let inf = (1i64<<60);
[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] 181 -     let inf = (1i64<<60);
[INFO] [stdout] 181 +     let inf = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `init_points` should have an upper camel case name
[INFO] [stdout]    --> src/modules/construct.rs:264:6
[INFO] [stdout]     |
[INFO] [stdout] 264 | type init_points<T> = fn(&mut Insertion<T>)->Vec<usize>;
[INFO] [stdout]     |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `InitPoints`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `update_score_fn` should have an upper camel case name
[INFO] [stdout]    --> src/modules/construct.rs:265:6
[INFO] [stdout]     |
[INFO] [stdout] 265 | type update_score_fn<T> = fn(&mut Insertion<T>, usize)->(); // usize : 新しく追加された頂点の番号
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UpdateScoreFn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `cmp_fn` should have an upper camel case name
[INFO] [stdout]    --> src/modules/construct.rs:266:6
[INFO] [stdout]     |
[INFO] [stdout] 266 | type cmp_fn<T> = fn(&T, &T)->bool;
[INFO] [stdout]     |      ^^^^^^ help: convert the identifier to upper camel case: `CmpFn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `select_pos_fn` should have an upper camel case name
[INFO] [stdout]    --> src/modules/construct.rs:267:6
[INFO] [stdout]     |
[INFO] [stdout] 267 | type select_pos_fn<T> = fn(&mut Insertion<T>, usize, &(T, usize))->usize;
[INFO] [stdout]     |      ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SelectPosFn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:274:29
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut min_score = (1i64<<60);
[INFO] [stdout]     |                             ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 274 -         let mut min_score = (1i64<<60);
[INFO] [stdout] 274 +         let mut min_score = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:326:27
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let mut min_dis = (1i64<<60);
[INFO] [stdout]     |                           ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 326 -         let mut min_dis = (1i64<<60);
[INFO] [stdout] 326 +         let mut min_dis = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:375:27
[INFO] [stdout]     |
[INFO] [stdout] 375 |             let zerogen = (1i64<<60);
[INFO] [stdout]     |                           ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 375 -             let zerogen = (1i64<<60);
[INFO] [stdout] 375 +             let zerogen = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:411:36
[INFO] [stdout]     |
[INFO] [stdout] 411 |             let mut mindis : i64 = (1i64<<60);
[INFO] [stdout]     |                                    ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 411 -             let mut mindis : i64 = (1i64<<60);
[INFO] [stdout] 411 +             let mut mindis : i64 = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:589:25
[INFO] [stdout]     |
[INFO] [stdout] 589 |     let mut min_score = (1i64<<60);
[INFO] [stdout]     |                         ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 589 -     let mut min_score = (1i64<<60);
[INFO] [stdout] 589 +     let mut min_score = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/modules/construct.rs:700:15
[INFO] [stdout]     |
[INFO] [stdout] 700 |     let inf = (1i64<<60);
[INFO] [stdout]     |               ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 700 -     let inf = (1i64<<60);
[INFO] [stdout] 700 +     let inf = 1i64<<60 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/modules/construct.rs:715:12
[INFO] [stdout]     |
[INFO] [stdout] 715 |         if ( !matrix[pos.0][pos.1].is_empty() ) {
[INFO] [stdout]     |            ^^                                ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 715 -         if ( !matrix[pos.0][pos.1].is_empty() ) {
[INFO] [stdout] 715 +         if !matrix[pos.0][pos.1].is_empty()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/modules/opttour.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, BufRead, BufReader};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::tsp::*`
[INFO] [stdout]  --> src/modules/opttour.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::tsp::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/modules/opttour.rs:26:49
[INFO] [stdout]    |
[INFO] [stdout] 26 |         for result in BufReader::new(File::open((fpath))?).lines() {
[INFO] [stdout]    |                                                 ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         for result in BufReader::new(File::open((fpath))?).lines() {
[INFO] [stdout] 26 +         for result in BufReader::new(File::open(fpath )?).lines() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]   --> src/modules/segmenttree.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |         while( ln < array.len() ) { ln *= 2; }
[INFO] [stdout]    |              ^^                ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 13 -         while( ln < array.len() ) { ln *= 2; }
[INFO] [stdout] 13 +         while ln < array.len()  { ln *= 2; }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]   --> src/modules/segmenttree.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 |         while ( idx > 0 ) {
[INFO] [stdout]    |               ^^       ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -         while ( idx > 0 ) {
[INFO] [stdout] 38 +         while idx > 0  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/modules/segmenttree.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |         if ( nowl >= left && nowr <= right ) { return self.values[node].clone(); }
[INFO] [stdout]    |            ^^                             ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -         if ( nowl >= left && nowr <= right ) { return self.values[node].clone(); }
[INFO] [stdout] 48 +         if nowl >= left && nowr <= right  { return self.values[node].clone(); }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/modules/segmenttree.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |         if ( nowr <= left || nowl >= right ) { return self.zero.clone(); }
[INFO] [stdout]    |            ^^                             ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 49 -         if ( nowr <= left || nowl >= right ) { return self.zero.clone(); }
[INFO] [stdout] 49 +         if nowr <= left || nowl >= right  { return self.zero.clone(); }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/modules/myerror.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{self, Context};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::index`
[INFO] [stdout]  --> src/modules/localsearch.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::seq::index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::BarrierWaitResult`
[INFO] [stdout]  --> src/modules/localsearch.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::BarrierWaitResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `array` and `collections::BTreeSet`
[INFO] [stdout]   --> src/modules/localsearch.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{array, collections::BTreeSet};
[INFO] [stdout]    |           ^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SenryakuType`
[INFO] [stdout]  --> src/modules/myils.rs:3:60
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{tsp::{Tord, Tsp}, localsearch::{OrdArrayLocal, SenryakuType, calcNeighborList, self}};
[INFO] [stdout]   |                                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `f32::NEG_INFINITY`
[INFO] [stdout]  --> src/tests/localserachexp.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{time::Instant, f32::NEG_INFINITY};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `listtest`
[INFO] [stdout]  --> src/tests/localserachexp.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | }, listtest};
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `f32::NEG_INFINITY` and `time::Instant`
[INFO] [stdout]  --> src/tests/listest.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{time::Instant, f32::NEG_INFINITY};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::modules::tsp::Tord`
[INFO] [stdout]  --> src/tests/ilsexp.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::modules::tsp::Tord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `modules::tspinstance::*`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use modules::tspinstance::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `modules::point::Point`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use modules::point::Point;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Insertion`, `insertion_demo`, and `nearest_all`
[INFO] [stdout]   --> src/main.rs:25:33
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::modules::construct::{Insertion, insertion_demo, nearest_all};
[INFO] [stdout]    |                                 ^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tests::listest`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use tests::listest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/modules/tspinstance.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut comment = String::new(); 
[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/modules/tspinstance.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let mut p : Point = Point::new(x,y);
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/modules/tspinstance.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]   --> src/modules/tspinstance.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 let tmp = 
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/modules/tspinstance.rs:88:20
[INFO] [stdout]    |
[INFO] [stdout] 88 |         if let Ok( value ) = res_parse {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/modules/tsp.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let mut node : usize = st;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/modules/tsp.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let mut node : usize = st;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/modules/construct.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     for i in 1..n {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmp`
[INFO] [stdout]    --> src/modules/construct.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |     let cmp = |a : &(i64, usize), b: &(i64, usize)| {
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_cmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/modules/construct.rs:253:13
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let mut selected_points: Vec<usize> = 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/modules/construct.rs:254:13
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let mut next : Vec<usize> = 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/modules/construct.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let mut prev : Vec<usize> = 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/modules/construct.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let mut scores : Vec<(T,usize)> = vec![];
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/modules/construct.rs:378:17
[INFO] [stdout]     |
[INFO] [stdout] 378 |             for i in 0..n { sel.scores.push((zerogen, n+1)); }
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sel`
[INFO] [stdout]    --> src/modules/construct.rs:403:57
[INFO] [stdout]     |
[INFO] [stdout] 403 |     pub const select_pos_by_score : select_pos_fn<T> = |sel, idx, best| {
[INFO] [stdout]     |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_sel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/modules/construct.rs:403:62
[INFO] [stdout]     |
[INFO] [stdout] 403 |     pub const select_pos_by_score : select_pos_fn<T> = |sel, idx, best| {
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `best`
[INFO] [stdout]    --> src/modules/construct.rs:408:15
[INFO] [stdout]     |
[INFO] [stdout] 408 |     sel, idx, best | {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_best`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ans`
[INFO] [stdout]    --> src/modules/construct.rs:428:9
[INFO] [stdout]     |
[INFO] [stdout] 428 |     let ans : Tord = vec![];
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/modules/construct.rs:587:9
[INFO] [stdout]     |
[INFO] [stdout] 587 |     let mut connect_edges : Vec<(usize,usize)> = vec![];
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connect_edges`
[INFO] [stdout]    --> src/modules/construct.rs:587:9
[INFO] [stdout]     |
[INFO] [stdout] 587 |     let mut connect_edges : Vec<(usize,usize)> = vec![];
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connect_edges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/modules/construct.rs:644:13
[INFO] [stdout]     |
[INFO] [stdout] 644 |         for i in 0..ord_size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/modules/construct.rs:706:9
[INFO] [stdout]     |
[INFO] [stdout] 706 |     for i in 1..tsp.size {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/modules/construct.rs:794:9
[INFO] [stdout]     |
[INFO] [stdout] 794 |     for i in 1..n {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_width`
[INFO] [stdout]    --> src/modules/construct.rs:813:72
[INFO] [stdout]     |
[INFO] [stdout] 813 | ...ze, tansakusu : usize, max_width : usize , max_depth : usize, honsu : usize ) -> Tord {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/modules/construct.rs:842:29
[INFO] [stdout]     |
[INFO] [stdout] 842 |                 if let Some(e) = in_vector( &top_ord, &i) {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/modules/construct.rs:930:17
[INFO] [stdout]     |
[INFO] [stdout] 930 |             for i in 0..max_width {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/modules/construct.rs:1050:17
[INFO] [stdout]      |
[INFO] [stdout] 1050 |             for i in 0..max_width {
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/modules/segmenttree.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut blanks : Vec<T> =vec![zero.clone(); ln-array.len()];
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]   --> src/modules/localsearch.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let tmp = nowv;
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/modules/localsearch.rs:498:22
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 for (i, v) in lists[val1].iter().enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_updated` is never read
[INFO] [stdout]    --> src/modules/localsearch.rs:514:29
[INFO] [stdout]     |
[INFO] [stdout] 514 | ...                   is_updated = false;
[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: `i`
[INFO] [stdout]    --> src/tests/listtest.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     for i in 0..100 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/listtest.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let mut ord = vec![0,1,2,3,4,5,6,7];
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_score`
[INFO] [stdout]   --> src/tests/ordarraytest.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let start_score = tsp.calcScore(&ord).unwrap();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/tests/ordarraytest.rs:96:10
[INFO] [stdout]    |
[INFO] [stdout] 96 |     for (i, v) in lists[0].iter().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/localserachexp.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let mut opt2_func_name : String;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/localserachexp.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let mut senryaku_name : String;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/ilsexp.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut local_inst = localsearch::OrdArrayLocal::new(tsp, ord);
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lists`
[INFO] [stdout]   --> src/tests/ilsexp.rs:55:70
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn do_exp(&mut self, tsp: &Tsp, ord: &Vec<usize>, seed: u64, lists : &Vec<Vec<usize>>) {
[INFO] [stdout]    |                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_lists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limt_time`
[INFO] [stdout]   --> src/tests/ilsexp.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let limt_time = 15 * 60 * 1000;
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_limt_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/modules/tspinstance.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut comment = String::new(); 
[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/modules/tspinstance.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let mut p : Point = Point::new(x,y);
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_inst`
[INFO] [stdout]   --> src/tests/ilsexp.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut local_inst = localsearch::OrdArrayLocal::new(tsp, ord);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/modules/tspinstance.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]   --> src/modules/tspinstance.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 let tmp = 
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/modules/tspinstance.rs:88:20
[INFO] [stdout]    |
[INFO] [stdout] 88 |         if let Ok( value ) = res_parse {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/ilsexp.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut opt2_func_name : String;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/ilsexp.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut senryaku_name : String;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nearest_point` is never used
[INFO] [stdout]   --> src/modules/point.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn nearest_point( points : &Vec<Point>, p : &Point ) -> usize {
[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 `getOptPath` is never used
[INFO] [stdout]   --> src/modules/tspinstance.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ProblemPath
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn getOptPath(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/modules/tsp.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let mut node : usize = st;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/modules/tsp.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let mut node : usize = st;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `comment`, `ptype`, `dimension`, and `edge_weight_type` are never read
[INFO] [stdout]   --> src/modules/tspinstance.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct TspInstance {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 42 |     pub name : String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 43 |     pub comment : String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 44 |     pub ptype : String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 45 |     pub dimension : i32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 46 |     pub edge_weight_type : String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TspInstance` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Tpoint` is never used
[INFO] [stdout]  --> src/modules/tsp.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | type Tpoint = super::point::Tpoint;
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `center` is never read
[INFO] [stdout]   --> src/modules/tsp.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Tsp {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub center : Point,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Tsp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_ord_from_edges` is never used
[INFO] [stdout]   --> src/modules/tsp.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Tsp { 
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn make_ord_from_edges( &self, edges : &Vec<(usize,usize)>) -> Option<Tord> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `in_vector` is never used
[INFO] [stdout]  --> src/modules/construct.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn in_vector<T : Eq> ( v : &Vec<T>, value : &T ) -> Option<usize> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nearest_twoedge` is never used
[INFO] [stdout]   --> src/modules/construct.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn nearest_twoedge( tsp : &Tsp, start : usize ) -> Tord {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nearest_all` is never used
[INFO] [stdout]   --> src/modules/construct.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn nearest_all( inst : &Tsp ) -> Tord {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nearest_twoedge_all` is never used
[INFO] [stdout]    --> src/modules/construct.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn nearest_twoedge_all( inst : &Tsp ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Kruskal` is never used
[INFO] [stdout]    --> src/modules/construct.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn Kruskal( tsp : &Tsp ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insertion_demo` is never used
[INFO] [stdout]    --> src/modules/construct.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub fn insertion_demo (tsp : &Tsp ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Insertion` is never constructed
[INFO] [stdout]    --> src/modules/construct.rs:243:12
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub struct Insertion<T: Clone> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/modules/construct.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 251 | impl<T : Clone> Insertion<T> {
[INFO] [stdout]     | ---------------------------- associated function in this implementation
[INFO] [stdout] 252 |     pub fn new(tsp_inst: &Tsp ) -> Insertion<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `init_points` is never used
[INFO] [stdout]    --> src/modules/construct.rs:264:6
[INFO] [stdout]     |
[INFO] [stdout] 264 | type init_points<T> = fn(&mut Insertion<T>)->Vec<usize>;
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `update_score_fn` is never used
[INFO] [stdout]    --> src/modules/construct.rs:265:6
[INFO] [stdout]     |
[INFO] [stdout] 265 | type update_score_fn<T> = fn(&mut Insertion<T>, usize)->(); // usize : 新しく追加された頂点の番号
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `cmp_fn` is never used
[INFO] [stdout]    --> src/modules/construct.rs:266:6
[INFO] [stdout]     |
[INFO] [stdout] 266 | type cmp_fn<T> = fn(&T, &T)->bool;
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `select_pos_fn` is never used
[INFO] [stdout]    --> src/modules/construct.rs:267:6
[INFO] [stdout]     |
[INFO] [stdout] 267 | type select_pos_fn<T> = fn(&mut Insertion<T>, usize, &(T, usize))->usize;
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `init_points_nearest`, `init_points_center`, and `init_points_center_by_center` are never used
[INFO] [stdout]    --> src/modules/construct.rs:272:15
[INFO] [stdout]     |
[INFO] [stdout] 270 | impl<T : Clone> Insertion<T> {
[INFO] [stdout]     | ---------------------------- associated constants in this implementation
[INFO] [stdout] 271 |     //初期化：　距離の合計が最小の3点
[INFO] [stdout] 272 |     pub const init_points_nearest : init_points<T> = |sel| {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub const init_points_center : init_points<T> = |sel | {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub const init_points_center_by_center : init_points<T> = |sel|{
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `update_nearest`, `update_farthest`, and `update_diff` are never used
[INFO] [stdout]    --> src/modules/construct.rs:351:15
[INFO] [stdout]     |
[INFO] [stdout] 348 | impl Insertion<i64> {
[INFO] [stdout]     | ------------------- associated constants in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 351 |     pub const update_nearest : update_score_fn<i64> = | sel, idx | {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub const update_farthest : update_score_fn<i64> = | sel, idx | {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub const update_diff : update_score_fn<i64> = | sel, idx | {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `cmp_i64_min` and `cmp_i64_max` are never used
[INFO] [stdout]    --> src/modules/construct.rs:397:15
[INFO] [stdout]     |
[INFO] [stdout] 396 | impl Insertion<i64> {
[INFO] [stdout]     | ------------------- associated constants in this implementation
[INFO] [stdout] 397 |     pub const cmp_i64_min : cmp_fn<i64> = | a, b| { *a < *b};
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 398 |     pub const cmp_i64_max: cmp_fn<i64> = | a, b| { *a > *b};
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `select_pos_by_score` and `select_pos_by_nearest` are never used
[INFO] [stdout]    --> src/modules/construct.rs:403:15
[INFO] [stdout]     |
[INFO] [stdout] 402 | impl<T:Clone> Insertion<T> {
[INFO] [stdout]     | -------------------------- associated constants in this implementation
[INFO] [stdout] 403 |     pub const select_pos_by_score : select_pos_fn<T> = |sel, idx, best| {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub const select_pos_by_nearest : select_pos_fn<T> = |
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calc_ord` is never used
[INFO] [stdout]    --> src/modules/construct.rs:426:11
[INFO] [stdout]     |
[INFO] [stdout] 425 | impl<T: Clone> Insertion<T>{
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 426 |    pub fn calc_ord( &mut self, zerogen : &T, init_points : impl Fn(&mut Insertion<T>)->Vec<usize>, update_score : impl Fn( &mut Ins...
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `calc_nearest`, `calc_farthest`, and `calc_diff` are never used
[INFO] [stdout]    --> src/modules/construct.rs:491:12
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Insertion<i64> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] 490 |     // 都市選択：最近  挿入位置：最近都市の後
[INFO] [stdout] 491 |     pub fn calc_nearest(&mut self, zerogen_op : Option<i64>, init_op : Option<init_points<i64>>, update_op : Option<update_score_fn...
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     pub fn calc_farthest(&mut self, zerogen_op : Option<i64>, init_op : Option<init_points<i64>>, update_op : Option<update_score_f...
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 514 |     pub fn calc_diff(&mut self, zerogen_op : Option<i64>, init_op : Option<init_points<i64>>, update_op : Option<update_score_fn<i6...
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `divide4` is never used
[INFO] [stdout]    --> src/modules/construct.rs:526:8
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub fn divide4( tsp : &Tsp, center : &Point ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_value` is never used
[INFO] [stdout]    --> src/modules/construct.rs:654:4
[INFO] [stdout]     |
[INFO] [stdout] 654 | fn find_value<T: Eq>( values : &Vec<T>, target : &T )-> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lower_bound` is never used
[INFO] [stdout]    --> src/modules/construct.rs:663:4
[INFO] [stdout]     |
[INFO] [stdout] 663 | fn lower_bound<T : PartialOrd >( array : &Vec<T>, value : &T ) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `psedo_nearest` is never used
[INFO] [stdout]    --> src/modules/construct.rs:674:8
[INFO] [stdout]     |
[INFO] [stdout] 674 | pub fn psedo_nearest( tsp : &Tsp, h : usize, w : usize, start : usize) -> Tord {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `psedo_nearest_all` is never used
[INFO] [stdout]    --> src/modules/construct.rs:771:8
[INFO] [stdout]     |
[INFO] [stdout] 771 | pub fn psedo_nearest_all ( tsp : &Tsp, h : usize, w : usize ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_psedo` is never used
[INFO] [stdout]    --> src/modules/construct.rs:787:8
[INFO] [stdout]     |
[INFO] [stdout] 787 | pub fn random_psedo ( tsp : &Tsp, h : usize, w: usize, n : usize ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chokudai_search` is never used
[INFO] [stdout]    --> src/modules/construct.rs:813:8
[INFO] [stdout]     |
[INFO] [stdout] 813 | pub fn chokudai_search( tsp : & Tsp, start : usize, tansakusu : usize, max_width : usize , max_depth : usize, honsu : usize ) -> To...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chokudai_all` is never used
[INFO] [stdout]    --> src/modules/construct.rs:893:8
[INFO] [stdout]     |
[INFO] [stdout] 893 | pub fn chokudai_all( tsp : & Tsp, tansakusu : usize, max_width : usize , max_depth : usize, honsu : usize ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chokudai_search_part` is never used
[INFO] [stdout]    --> src/modules/construct.rs:910:8
[INFO] [stdout]     |
[INFO] [stdout] 910 | pub fn chokudai_search_part ( tsp : &Tsp, ord : &Vec<usize>, tansakusu : usize, max_width : usize, max_depth : usize,  honsu : usiz...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chokudai_search2` is never used
[INFO] [stdout]    --> src/modules/construct.rs:992:8
[INFO] [stdout]     |
[INFO] [stdout] 992 | pub fn chokudai_search2( tsp : &Tsp,  start : usize, tansakusu : usize, max_width : usize, max_depth : usize , honsu : usize )-> To...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chokudai_search2_all` is never used
[INFO] [stdout]     --> src/modules/construct.rs:1011:8
[INFO] [stdout]      |
[INFO] [stdout] 1011 | pub fn chokudai_search2_all( tsp : &Tsp, tansakusu : usize, 
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `beam_search_part` is never used
[INFO] [stdout]     --> src/modules/construct.rs:1031:8
[INFO] [stdout]      |
[INFO] [stdout] 1031 | pub fn beam_search_part ( tsp : &Tsp, ord : &Vec<usize>, tansakusu : usize, max_width : usize, max_depth : usize, visited : &Vec<b...
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `beam_seach` is never used
[INFO] [stdout]     --> src/modules/construct.rs:1111:8
[INFO] [stdout]      |
[INFO] [stdout] 1111 | pub fn beam_seach( tsp : &Tsp,  start : usize, tansakusu : usize, max_width : usize, max_depth : usize)-> Tord {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Tord` is never used
[INFO] [stdout]  --> src/modules/opttour.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type Tord = super::tsp::Tord;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OptTour` is never constructed
[INFO] [stdout]  --> src/modules/opttour.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct OptTour {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `fromFile` are never used
[INFO] [stdout]   --> src/modules/opttour.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl OptTour {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 16 |     pub fn new( size : u32, score : i64, ord : Vec<usize> ) -> OptTour {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn fromFile( fpath : &String, tsp: &Tsp ) -> Result<OptTour,Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SegmentTree` is never constructed
[INFO] [stdout]  --> src/modules/segmenttree.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SegmentTree<T: Clone> {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `fromOneValue` are never used
[INFO] [stdout]   --> src/modules/segmenttree.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl<T: Clone>  SegmentTree<T> {
[INFO] [stdout]    | ------------------------------ associated functions in this implementation
[INFO] [stdout]  9 |     pub fn new( array : &Vec<T>, zero : T, cmpf : fn(&T, &T)->T) -> SegmentTree<T> 
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn fromOneValue( no : usize, zero : &T, cmp : fn(&T,&T)-> T) -> SegmentTree<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update` and `find` are never used
[INFO] [stdout]   --> src/modules/segmenttree.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: Clone> SegmentTree<T> {
[INFO] [stdout]    | ----------------------------- methods in this implementation
[INFO] [stdout] 34 |     pub fn update( &mut self, target_idx : usize, value : T) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn find( &self, left : usize, right : usize ) -> T{
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `change_value` is never used
[INFO] [stdout]   --> src/modules/localsearch.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn change_value(p: &mut (usize, usize), target: usize, value: usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_value_no` is never used
[INFO] [stdout]   --> src/modules/localsearch.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn find_value_no(p: &(usize, usize), target: usize) -> Option<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_value_mut` is never used
[INFO] [stdout]   --> src/modules/localsearch.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn find_value_mut(p: &mut (usize, usize), target: usize) -> Option<&mut usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrdList` is never constructed
[INFO] [stdout]   --> src/modules/localsearch.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct OrdList {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from` are never used
[INFO] [stdout]   --> src/modules/localsearch.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl OrdList {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 49 |     fn new(size: usize) -> OrdList {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn from(ord: &tsp::Tord) -> OrdList {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_tord`, `insert`, `exchange`, and `opt2` are never used
[INFO] [stdout]    --> src/modules/localsearch.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout]  79 | impl OrdList {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout]  80 |     pub fn to_tord(&self) -> Option<tsp::Tord> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn insert(&mut self, x: usize, target1: usize, target2: usize) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn exchange(&mut self, x: usize, y: usize) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn opt2(&mut self, x: usize, y: usize) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OptList` is never constructed
[INFO] [stdout]    --> src/modules/localsearch.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub struct OptList {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]    --> src/modules/localsearch.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl OptList {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 178 |     pub fn from(ord: &tsp::Tord) -> OptList {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_tord` and `opt2` are never used
[INFO] [stdout]    --> src/modules/localsearch.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl OptList {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 197 |     pub fn to_tord(&self) -> tsp::Tord {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn opt2(&self, x: usize, y: usize) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `init_score` is never read
[INFO] [stdout]    --> src/modules/localsearch.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub struct OrdArrayLocal {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub init_score : i64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OrdArrayLocal` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `opt2_random` and `print` are never used
[INFO] [stdout]    --> src/modules/localsearch.rs:398:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | impl OrdArrayLocal {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub fn opt2_random(&mut self, functype: usize, senryaku_type: &SenryakuType, seed: u64, lmit_time : u128) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     pub fn print(&self ) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `init_score` is never read
[INFO] [stdout]   --> src/modules/myils.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Ils {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub init_score : i64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/modules/myils.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl Ils {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eq_tord` is never used
[INFO] [stdout]  --> src/tests/listtest.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn eq_tord( ord1 : &tsp::Tord, ord2 : &tsp::Tord ) -> bool {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eq` is never used
[INFO] [stdout]   --> src/tests/listtest.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn eq( v1 : &Vec<(usize,usize)>, v2 : &OrdList) -> bool {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_from` is never used
[INFO] [stdout]   --> src/tests/listtest.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn test_from() {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_convert` is never used
[INFO] [stdout]   --> src/tests/listtest.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn test_convert() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_insert` is never used
[INFO] [stdout]    --> src/tests/listtest.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn test_insert() {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_exchange` is never used
[INFO] [stdout]    --> src/tests/listtest.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn test_exchange() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_optlist_from` is never used
[INFO] [stdout]    --> src/tests/listtest.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub fn test_optlist_from() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_2opt_dif` is never used
[INFO] [stdout]  --> src/tests/ordarraytest.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn test_2opt_dif() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_2opt` is never used
[INFO] [stdout]   --> src/tests/ordarraytest.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn test_2opt() {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_neiborlist` is never used
[INFO] [stdout]   --> src/tests/ordarraytest.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn test_neiborlist() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResultsInfos` is never constructed
[INFO] [stdout]   --> src/tests/localserachexp.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct ResultsInfos {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tests/localserachexp.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl ResultsInfos {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 25 |     pub fn new(avg_times: f64, avg_scores: f64, avg_rounds: f64, avg_moves: f64, best_score: i64) -> ResultsInfos {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Results` is never constructed
[INFO] [stdout]   --> src/tests/localserachexp.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct Results {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tests/localserachexp.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl Results {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 47 |     pub fn new(senryaku_type: localsearch::SenryakuType, func_type: usize) -> Results {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `do_exp`, `do_exp_multi`, and `calc_infos` are never used
[INFO] [stdout]   --> src/tests/localserachexp.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl Results {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 66 |     pub fn do_exp(&mut self, tsp: &Tsp, ord: &Vec<usize>, seed: u64, lists : &Vec<Vec<usize>>) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn do_exp_multi(&mut self, tsp: &Tsp, ord: &Vec<usize>, seed: u64, kaisuu: u32 , lists : &Vec<Vec<usize>> ) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn calc_infos(&self) -> ResultsInfos {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_result` is never used
[INFO] [stdout]    --> src/tests/localserachexp.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn print_result( results : &Results, opt_score : i64 ) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `local_2opt_random_exp` is never used
[INFO] [stdout]    --> src/tests/localserachexp.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn local_2opt_random_exp(problemName: &String, opt_score: i64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testDoudlbeBridge` is never used
[INFO] [stdout]  --> src/tests/listest.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn testDoudlbeBridge( problem_name : &String ) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getInstPath` should have a snake case name
[INFO] [stdout]   --> src/modules/tspinstance.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn getInstPath(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to snake case: `get_inst_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getOptPath` should have a snake case name
[INFO] [stdout]   --> src/modules/tspinstance.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn getOptPath(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to snake case: `get_opt_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fromFile` should have a snake case name
[INFO] [stdout]   --> src/modules/tspinstance.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn fromFile( fpath : &String) -> anyhow::Result<TspInstance> {
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to snake case: `from_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clonePoints` should have a snake case name
[INFO] [stdout]    --> src/modules/tspinstance.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn clonePoints(&self) -> Vec<Point> {
[INFO] [stdout]     |            ^^^^^^^^^^^ help: convert the identifier to snake case: `clone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `isCorrect` should have a snake case name
[INFO] [stdout]   --> src/modules/tsp.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn isCorrect( &self, ord : &Tord ) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `is_correct`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calcScore` should have a snake case name
[INFO] [stdout]   --> src/modules/tsp.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn calcScore( &self, ord : &Tord ) -> Option<i64> {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `calc_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Kruskal` should have a snake case name
[INFO] [stdout]    --> src/modules/construct.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn Kruskal( tsp : &Tsp ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `kruskal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `init_points_nearest` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:272:15
[INFO] [stdout]     |
[INFO] [stdout] 272 |     pub const init_points_nearest : init_points<T> = |sel| {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `INIT_POINTS_NEAREST`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/modules/construct.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     for i in 1..n {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `init_points_center` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:296:15
[INFO] [stdout]     |
[INFO] [stdout] 296 |     pub const init_points_center : init_points<T> = |sel | {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `INIT_POINTS_CENTER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `init_points_center_by_center` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:323:15
[INFO] [stdout]     |
[INFO] [stdout] 323 |     pub const init_points_center_by_center : init_points<T> = |sel|{
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `INIT_POINTS_CENTER_BY_CENTER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `update_nearest` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:351:15
[INFO] [stdout]     |
[INFO] [stdout] 351 |     pub const update_nearest : update_score_fn<i64> = | sel, idx | {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `UPDATE_NEAREST`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `update_farthest` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:362:15
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub const update_farthest : update_score_fn<i64> = | sel, idx | {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `UPDATE_FARTHEST`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `update_diff` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:373:15
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub const update_diff : update_score_fn<i64> = | sel, idx | {
[INFO] [stdout]     |               ^^^^^^^^^^^ help: convert the identifier to upper case: `UPDATE_DIFF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `cmp_i64_min` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:397:15
[INFO] [stdout]     |
[INFO] [stdout] 397 |     pub const cmp_i64_min : cmp_fn<i64> = | a, b| { *a < *b};
[INFO] [stdout]     |               ^^^^^^^^^^^ help: convert the identifier to upper case: `CMP_I64_MIN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `cmp_i64_max` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:398:15
[INFO] [stdout]     |
[INFO] [stdout] 398 |     pub const cmp_i64_max: cmp_fn<i64> = | a, b| { *a > *b};
[INFO] [stdout]     |               ^^^^^^^^^^^ help: convert the identifier to upper case: `CMP_I64_MAX`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `select_pos_by_score` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:403:15
[INFO] [stdout]     |
[INFO] [stdout] 403 |     pub const select_pos_by_score : select_pos_fn<T> = |sel, idx, best| {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `SELECT_POS_BY_SCORE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `select_pos_by_nearest` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:407:15
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub const select_pos_by_nearest : select_pos_fn<T> = |
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `SELECT_POS_BY_NEAREST`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fromFile` should have a snake case name
[INFO] [stdout]   --> src/modules/opttour.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn fromFile( fpath : &String, tsp: &Tsp ) -> Result<OptTour,Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to snake case: `from_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `isNoMode` should have a snake case name
[INFO] [stdout]   --> src/modules/opttour.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut isNoMode: bool = false;
[INFO] [stdout]    |                 ^^^^^^^^ help: convert the identifier to snake case: `is_no_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fromOneValue` should have a snake case name
[INFO] [stdout]   --> src/modules/segmenttree.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn fromOneValue( no : usize, zero : &T, cmp : fn(&T,&T)-> T) -> SegmentTree<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `from_one_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calcNeighborList` should have a snake case name
[INFO] [stdout]    --> src/modules/localsearch.rs:549:8
[INFO] [stdout]     |
[INFO] [stdout] 549 | pub fn calcNeighborList(tsp: &Tsp, list_size: usize) -> Vec<Vec<usize>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `calc_neighbor_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `problemName` should have a snake case name
[INFO] [stdout]    --> src/tests/localserachexp.rs:161:30
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn local_2opt_random_exp(problemName: &String, opt_score: i64) {
[INFO] [stdout]     |                              ^^^^^^^^^^^ help: convert the identifier to snake case: `problem_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Results1` should have a snake case name
[INFO] [stdout]    --> src/tests/localserachexp.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let mut Results1 = Results::new(SenryakuType::Fast, 1);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `results1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Results3` should have a snake case name
[INFO] [stdout]    --> src/tests/localserachexp.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let mut Results3 = Results::new(SenryakuType::Fast, 2);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `results3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Results2` should have a snake case name
[INFO] [stdout]    --> src/tests/localserachexp.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |     let mut Results2 = Results::new(SenryakuType::Best, 1);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `results2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Results4` should have a snake case name
[INFO] [stdout]    --> src/tests/localserachexp.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |     let mut Results4 = Results::new(SenryakuType::Best, 2);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `results4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testDoudlbeBridge` should have a snake case name
[INFO] [stdout]  --> src/tests/listest.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn testDoudlbeBridge( problem_name : &String ) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_doudlbe_bridge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `problemName` should have a snake case name
[INFO] [stdout]    --> src/tests/ilsexp.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn ils_random_exp(problemName: &String, opt_score: i64) {
[INFO] [stdout]     |                       ^^^^^^^^^^^ help: convert the identifier to snake case: `problem_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Results1` should have a snake case name
[INFO] [stdout]    --> src/tests/ilsexp.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let mut Results1 = Results::new(localsearch::SenryakuType::Fast, 1);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `results1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Results2` should have a snake case name
[INFO] [stdout]    --> src/tests/ilsexp.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut Results2 = Results::new(localsearch::SenryakuType::Best, 1);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `results2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmp`
[INFO] [stdout]    --> src/modules/construct.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |     let cmp = |a : &(i64, usize), b: &(i64, usize)| {
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_cmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/modules/construct.rs:253:13
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let mut selected_points: Vec<usize> = 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/modules/construct.rs:254:13
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let mut next : Vec<usize> = 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/modules/construct.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let mut prev : Vec<usize> = 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/modules/construct.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let mut scores : Vec<(T,usize)> = vec![];
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/modules/construct.rs:378:17
[INFO] [stdout]     |
[INFO] [stdout] 378 |             for i in 0..n { sel.scores.push((zerogen, n+1)); }
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sel`
[INFO] [stdout]    --> src/modules/construct.rs:403:57
[INFO] [stdout]     |
[INFO] [stdout] 403 |     pub const select_pos_by_score : select_pos_fn<T> = |sel, idx, best| {
[INFO] [stdout]     |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_sel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/modules/construct.rs:403:62
[INFO] [stdout]     |
[INFO] [stdout] 403 |     pub const select_pos_by_score : select_pos_fn<T> = |sel, idx, best| {
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `best`
[INFO] [stdout]    --> src/modules/construct.rs:408:15
[INFO] [stdout]     |
[INFO] [stdout] 408 |     sel, idx, best | {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_best`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ans`
[INFO] [stdout]    --> src/modules/construct.rs:428:9
[INFO] [stdout]     |
[INFO] [stdout] 428 |     let ans : Tord = vec![];
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/modules/construct.rs:587:9
[INFO] [stdout]     |
[INFO] [stdout] 587 |     let mut connect_edges : Vec<(usize,usize)> = vec![];
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connect_edges`
[INFO] [stdout]    --> src/modules/construct.rs:587:9
[INFO] [stdout]     |
[INFO] [stdout] 587 |     let mut connect_edges : Vec<(usize,usize)> = vec![];
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connect_edges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/modules/construct.rs:644:13
[INFO] [stdout]     |
[INFO] [stdout] 644 |         for i in 0..ord_size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/modules/construct.rs:706:9
[INFO] [stdout]     |
[INFO] [stdout] 706 |     for i in 1..tsp.size {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/modules/construct.rs:794:9
[INFO] [stdout]     |
[INFO] [stdout] 794 |     for i in 1..n {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_width`
[INFO] [stdout]    --> src/modules/construct.rs:813:72
[INFO] [stdout]     |
[INFO] [stdout] 813 | ...ze, tansakusu : usize, max_width : usize , max_depth : usize, honsu : usize ) -> Tord {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/modules/construct.rs:842:29
[INFO] [stdout]     |
[INFO] [stdout] 842 |                 if let Some(e) = in_vector( &top_ord, &i) {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/modules/construct.rs:930:17
[INFO] [stdout]     |
[INFO] [stdout] 930 |             for i in 0..max_width {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/modules/construct.rs:1050:17
[INFO] [stdout]      |
[INFO] [stdout] 1050 |             for i in 0..max_width {
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/modules/segmenttree.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut blanks : Vec<T> =vec![zero.clone(); ln-array.len()];
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]   --> src/modules/localsearch.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let tmp = nowv;
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/modules/localsearch.rs:498:22
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 for (i, v) in lists[val1].iter().enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_updated` is never read
[INFO] [stdout]    --> src/modules/localsearch.rs:514:29
[INFO] [stdout]     |
[INFO] [stdout] 514 | ...                   is_updated = false;
[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: `i`
[INFO] [stdout]    --> src/tests/listtest.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     for i in 0..100 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/listtest.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let mut ord = vec![0,1,2,3,4,5,6,7];
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_score`
[INFO] [stdout]   --> src/tests/ordarraytest.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let start_score = tsp.calcScore(&ord).unwrap();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/tests/ordarraytest.rs:96:10
[INFO] [stdout]    |
[INFO] [stdout] 96 |     for (i, v) in lists[0].iter().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/localserachexp.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let mut opt2_func_name : String;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/localserachexp.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let mut senryaku_name : String;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/ilsexp.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut local_inst = localsearch::OrdArrayLocal::new(tsp, ord);
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lists`
[INFO] [stdout]   --> src/tests/ilsexp.rs:55:70
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn do_exp(&mut self, tsp: &Tsp, ord: &Vec<usize>, seed: u64, lists : &Vec<Vec<usize>>) {
[INFO] [stdout]    |                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_lists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limt_time`
[INFO] [stdout]   --> src/tests/ilsexp.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let limt_time = 15 * 60 * 1000;
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_limt_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_inst`
[INFO] [stdout]   --> src/tests/ilsexp.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut local_inst = localsearch::OrdArrayLocal::new(tsp, ord);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/ilsexp.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut opt2_func_name : String;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/ilsexp.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut senryaku_name : String;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nearest_point` is never used
[INFO] [stdout]   --> src/modules/point.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn nearest_point( points : &Vec<Point>, p : &Point ) -> usize {
[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 `getOptPath` is never used
[INFO] [stdout]   --> src/modules/tspinstance.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ProblemPath
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn getOptPath(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `comment`, `ptype`, `dimension`, and `edge_weight_type` are never read
[INFO] [stdout]   --> src/modules/tspinstance.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct TspInstance {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 42 |     pub name : String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 43 |     pub comment : String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 44 |     pub ptype : String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 45 |     pub dimension : i32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 46 |     pub edge_weight_type : String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TspInstance` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Tpoint` is never used
[INFO] [stdout]  --> src/modules/tsp.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | type Tpoint = super::point::Tpoint;
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `center` is never read
[INFO] [stdout]   --> src/modules/tsp.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Tsp {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub center : Point,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Tsp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_ord_from_edges` is never used
[INFO] [stdout]   --> src/modules/tsp.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Tsp { 
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn make_ord_from_edges( &self, edges : &Vec<(usize,usize)>) -> Option<Tord> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `in_vector` is never used
[INFO] [stdout]  --> src/modules/construct.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn in_vector<T : Eq> ( v : &Vec<T>, value : &T ) -> Option<usize> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nearest_twoedge` is never used
[INFO] [stdout]   --> src/modules/construct.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn nearest_twoedge( tsp : &Tsp, start : usize ) -> Tord {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nearest_all` is never used
[INFO] [stdout]   --> src/modules/construct.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn nearest_all( inst : &Tsp ) -> Tord {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nearest_twoedge_all` is never used
[INFO] [stdout]    --> src/modules/construct.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn nearest_twoedge_all( inst : &Tsp ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Kruskal` is never used
[INFO] [stdout]    --> src/modules/construct.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn Kruskal( tsp : &Tsp ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insertion_demo` is never used
[INFO] [stdout]    --> src/modules/construct.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub fn insertion_demo (tsp : &Tsp ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Insertion` is never constructed
[INFO] [stdout]    --> src/modules/construct.rs:243:12
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub struct Insertion<T: Clone> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/modules/construct.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 251 | impl<T : Clone> Insertion<T> {
[INFO] [stdout]     | ---------------------------- associated function in this implementation
[INFO] [stdout] 252 |     pub fn new(tsp_inst: &Tsp ) -> Insertion<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `init_points` is never used
[INFO] [stdout]    --> src/modules/construct.rs:264:6
[INFO] [stdout]     |
[INFO] [stdout] 264 | type init_points<T> = fn(&mut Insertion<T>)->Vec<usize>;
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `update_score_fn` is never used
[INFO] [stdout]    --> src/modules/construct.rs:265:6
[INFO] [stdout]     |
[INFO] [stdout] 265 | type update_score_fn<T> = fn(&mut Insertion<T>, usize)->(); // usize : 新しく追加された頂点の番号
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `cmp_fn` is never used
[INFO] [stdout]    --> src/modules/construct.rs:266:6
[INFO] [stdout]     |
[INFO] [stdout] 266 | type cmp_fn<T> = fn(&T, &T)->bool;
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `select_pos_fn` is never used
[INFO] [stdout]    --> src/modules/construct.rs:267:6
[INFO] [stdout]     |
[INFO] [stdout] 267 | type select_pos_fn<T> = fn(&mut Insertion<T>, usize, &(T, usize))->usize;
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `init_points_nearest`, `init_points_center`, and `init_points_center_by_center` are never used
[INFO] [stdout]    --> src/modules/construct.rs:272:15
[INFO] [stdout]     |
[INFO] [stdout] 270 | impl<T : Clone> Insertion<T> {
[INFO] [stdout]     | ---------------------------- associated constants in this implementation
[INFO] [stdout] 271 |     //初期化：　距離の合計が最小の3点
[INFO] [stdout] 272 |     pub const init_points_nearest : init_points<T> = |sel| {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub const init_points_center : init_points<T> = |sel | {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub const init_points_center_by_center : init_points<T> = |sel|{
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `update_nearest`, `update_farthest`, and `update_diff` are never used
[INFO] [stdout]    --> src/modules/construct.rs:351:15
[INFO] [stdout]     |
[INFO] [stdout] 348 | impl Insertion<i64> {
[INFO] [stdout]     | ------------------- associated constants in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 351 |     pub const update_nearest : update_score_fn<i64> = | sel, idx | {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub const update_farthest : update_score_fn<i64> = | sel, idx | {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub const update_diff : update_score_fn<i64> = | sel, idx | {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `cmp_i64_min` and `cmp_i64_max` are never used
[INFO] [stdout]    --> src/modules/construct.rs:397:15
[INFO] [stdout]     |
[INFO] [stdout] 396 | impl Insertion<i64> {
[INFO] [stdout]     | ------------------- associated constants in this implementation
[INFO] [stdout] 397 |     pub const cmp_i64_min : cmp_fn<i64> = | a, b| { *a < *b};
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 398 |     pub const cmp_i64_max: cmp_fn<i64> = | a, b| { *a > *b};
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `select_pos_by_score` and `select_pos_by_nearest` are never used
[INFO] [stdout]    --> src/modules/construct.rs:403:15
[INFO] [stdout]     |
[INFO] [stdout] 402 | impl<T:Clone> Insertion<T> {
[INFO] [stdout]     | -------------------------- associated constants in this implementation
[INFO] [stdout] 403 |     pub const select_pos_by_score : select_pos_fn<T> = |sel, idx, best| {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub const select_pos_by_nearest : select_pos_fn<T> = |
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calc_ord` is never used
[INFO] [stdout]    --> src/modules/construct.rs:426:11
[INFO] [stdout]     |
[INFO] [stdout] 425 | impl<T: Clone> Insertion<T>{
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 426 |    pub fn calc_ord( &mut self, zerogen : &T, init_points : impl Fn(&mut Insertion<T>)->Vec<usize>, update_score : impl Fn( &mut Ins...
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `calc_nearest`, `calc_farthest`, and `calc_diff` are never used
[INFO] [stdout]    --> src/modules/construct.rs:491:12
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Insertion<i64> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] 490 |     // 都市選択：最近  挿入位置：最近都市の後
[INFO] [stdout] 491 |     pub fn calc_nearest(&mut self, zerogen_op : Option<i64>, init_op : Option<init_points<i64>>, update_op : Option<update_score_fn...
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     pub fn calc_farthest(&mut self, zerogen_op : Option<i64>, init_op : Option<init_points<i64>>, update_op : Option<update_score_f...
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 514 |     pub fn calc_diff(&mut self, zerogen_op : Option<i64>, init_op : Option<init_points<i64>>, update_op : Option<update_score_fn<i6...
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `divide4` is never used
[INFO] [stdout]    --> src/modules/construct.rs:526:8
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub fn divide4( tsp : &Tsp, center : &Point ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_value` is never used
[INFO] [stdout]    --> src/modules/construct.rs:654:4
[INFO] [stdout]     |
[INFO] [stdout] 654 | fn find_value<T: Eq>( values : &Vec<T>, target : &T )-> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lower_bound` is never used
[INFO] [stdout]    --> src/modules/construct.rs:663:4
[INFO] [stdout]     |
[INFO] [stdout] 663 | fn lower_bound<T : PartialOrd >( array : &Vec<T>, value : &T ) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `psedo_nearest` is never used
[INFO] [stdout]    --> src/modules/construct.rs:674:8
[INFO] [stdout]     |
[INFO] [stdout] 674 | pub fn psedo_nearest( tsp : &Tsp, h : usize, w : usize, start : usize) -> Tord {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `psedo_nearest_all` is never used
[INFO] [stdout]    --> src/modules/construct.rs:771:8
[INFO] [stdout]     |
[INFO] [stdout] 771 | pub fn psedo_nearest_all ( tsp : &Tsp, h : usize, w : usize ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_psedo` is never used
[INFO] [stdout]    --> src/modules/construct.rs:787:8
[INFO] [stdout]     |
[INFO] [stdout] 787 | pub fn random_psedo ( tsp : &Tsp, h : usize, w: usize, n : usize ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chokudai_search` is never used
[INFO] [stdout]    --> src/modules/construct.rs:813:8
[INFO] [stdout]     |
[INFO] [stdout] 813 | pub fn chokudai_search( tsp : & Tsp, start : usize, tansakusu : usize, max_width : usize , max_depth : usize, honsu : usize ) -> To...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chokudai_all` is never used
[INFO] [stdout]    --> src/modules/construct.rs:893:8
[INFO] [stdout]     |
[INFO] [stdout] 893 | pub fn chokudai_all( tsp : & Tsp, tansakusu : usize, max_width : usize , max_depth : usize, honsu : usize ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chokudai_search_part` is never used
[INFO] [stdout]    --> src/modules/construct.rs:910:8
[INFO] [stdout]     |
[INFO] [stdout] 910 | pub fn chokudai_search_part ( tsp : &Tsp, ord : &Vec<usize>, tansakusu : usize, max_width : usize, max_depth : usize,  honsu : usiz...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chokudai_search2` is never used
[INFO] [stdout]    --> src/modules/construct.rs:992:8
[INFO] [stdout]     |
[INFO] [stdout] 992 | pub fn chokudai_search2( tsp : &Tsp,  start : usize, tansakusu : usize, max_width : usize, max_depth : usize , honsu : usize )-> To...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chokudai_search2_all` is never used
[INFO] [stdout]     --> src/modules/construct.rs:1011:8
[INFO] [stdout]      |
[INFO] [stdout] 1011 | pub fn chokudai_search2_all( tsp : &Tsp, tansakusu : usize, 
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `beam_search_part` is never used
[INFO] [stdout]     --> src/modules/construct.rs:1031:8
[INFO] [stdout]      |
[INFO] [stdout] 1031 | pub fn beam_search_part ( tsp : &Tsp, ord : &Vec<usize>, tansakusu : usize, max_width : usize, max_depth : usize, visited : &Vec<b...
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `beam_seach` is never used
[INFO] [stdout]     --> src/modules/construct.rs:1111:8
[INFO] [stdout]      |
[INFO] [stdout] 1111 | pub fn beam_seach( tsp : &Tsp,  start : usize, tansakusu : usize, max_width : usize, max_depth : usize)-> Tord {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Tord` is never used
[INFO] [stdout]  --> src/modules/opttour.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type Tord = super::tsp::Tord;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OptTour` is never constructed
[INFO] [stdout]  --> src/modules/opttour.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct OptTour {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `fromFile` are never used
[INFO] [stdout]   --> src/modules/opttour.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl OptTour {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 16 |     pub fn new( size : u32, score : i64, ord : Vec<usize> ) -> OptTour {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn fromFile( fpath : &String, tsp: &Tsp ) -> Result<OptTour,Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SegmentTree` is never constructed
[INFO] [stdout]  --> src/modules/segmenttree.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SegmentTree<T: Clone> {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `fromOneValue` are never used
[INFO] [stdout]   --> src/modules/segmenttree.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl<T: Clone>  SegmentTree<T> {
[INFO] [stdout]    | ------------------------------ associated functions in this implementation
[INFO] [stdout]  9 |     pub fn new( array : &Vec<T>, zero : T, cmpf : fn(&T, &T)->T) -> SegmentTree<T> 
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn fromOneValue( no : usize, zero : &T, cmp : fn(&T,&T)-> T) -> SegmentTree<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update` and `find` are never used
[INFO] [stdout]   --> src/modules/segmenttree.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: Clone> SegmentTree<T> {
[INFO] [stdout]    | ----------------------------- methods in this implementation
[INFO] [stdout] 34 |     pub fn update( &mut self, target_idx : usize, value : T) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn find( &self, left : usize, right : usize ) -> T{
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `change_value` is never used
[INFO] [stdout]   --> src/modules/localsearch.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn change_value(p: &mut (usize, usize), target: usize, value: usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_value_no` is never used
[INFO] [stdout]   --> src/modules/localsearch.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn find_value_no(p: &(usize, usize), target: usize) -> Option<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_value_mut` is never used
[INFO] [stdout]   --> src/modules/localsearch.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn find_value_mut(p: &mut (usize, usize), target: usize) -> Option<&mut usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrdList` is never constructed
[INFO] [stdout]   --> src/modules/localsearch.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct OrdList {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from` are never used
[INFO] [stdout]   --> src/modules/localsearch.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl OrdList {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 49 |     fn new(size: usize) -> OrdList {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn from(ord: &tsp::Tord) -> OrdList {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_tord`, `insert`, `exchange`, and `opt2` are never used
[INFO] [stdout]    --> src/modules/localsearch.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout]  79 | impl OrdList {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout]  80 |     pub fn to_tord(&self) -> Option<tsp::Tord> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn insert(&mut self, x: usize, target1: usize, target2: usize) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn exchange(&mut self, x: usize, y: usize) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn opt2(&mut self, x: usize, y: usize) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OptList` is never constructed
[INFO] [stdout]    --> src/modules/localsearch.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub struct OptList {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]    --> src/modules/localsearch.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl OptList {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 178 |     pub fn from(ord: &tsp::Tord) -> OptList {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_tord` and `opt2` are never used
[INFO] [stdout]    --> src/modules/localsearch.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl OptList {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 197 |     pub fn to_tord(&self) -> tsp::Tord {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn opt2(&self, x: usize, y: usize) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `init_score` is never read
[INFO] [stdout]    --> src/modules/localsearch.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub struct OrdArrayLocal {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub init_score : i64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OrdArrayLocal` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `opt2_random` and `print` are never used
[INFO] [stdout]    --> src/modules/localsearch.rs:398:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | impl OrdArrayLocal {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub fn opt2_random(&mut self, functype: usize, senryaku_type: &SenryakuType, seed: u64, lmit_time : u128) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     pub fn print(&self ) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `init_score` is never read
[INFO] [stdout]   --> src/modules/myils.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Ils {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub init_score : i64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/modules/myils.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl Ils {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eq_tord` is never used
[INFO] [stdout]  --> src/tests/listtest.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn eq_tord( ord1 : &tsp::Tord, ord2 : &tsp::Tord ) -> bool {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eq` is never used
[INFO] [stdout]   --> src/tests/listtest.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn eq( v1 : &Vec<(usize,usize)>, v2 : &OrdList) -> bool {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_from` is never used
[INFO] [stdout]   --> src/tests/listtest.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn test_from() {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_convert` is never used
[INFO] [stdout]   --> src/tests/listtest.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn test_convert() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_insert` is never used
[INFO] [stdout]    --> src/tests/listtest.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn test_insert() {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_exchange` is never used
[INFO] [stdout]    --> src/tests/listtest.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn test_exchange() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_optlist_from` is never used
[INFO] [stdout]    --> src/tests/listtest.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub fn test_optlist_from() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_2opt_dif` is never used
[INFO] [stdout]  --> src/tests/ordarraytest.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn test_2opt_dif() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_2opt` is never used
[INFO] [stdout]   --> src/tests/ordarraytest.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn test_2opt() {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_neiborlist` is never used
[INFO] [stdout]   --> src/tests/ordarraytest.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn test_neiborlist() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResultsInfos` is never constructed
[INFO] [stdout]   --> src/tests/localserachexp.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct ResultsInfos {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tests/localserachexp.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl ResultsInfos {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 25 |     pub fn new(avg_times: f64, avg_scores: f64, avg_rounds: f64, avg_moves: f64, best_score: i64) -> ResultsInfos {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Results` is never constructed
[INFO] [stdout]   --> src/tests/localserachexp.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct Results {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tests/localserachexp.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl Results {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 47 |     pub fn new(senryaku_type: localsearch::SenryakuType, func_type: usize) -> Results {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `do_exp`, `do_exp_multi`, and `calc_infos` are never used
[INFO] [stdout]   --> src/tests/localserachexp.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl Results {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 66 |     pub fn do_exp(&mut self, tsp: &Tsp, ord: &Vec<usize>, seed: u64, lists : &Vec<Vec<usize>>) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn do_exp_multi(&mut self, tsp: &Tsp, ord: &Vec<usize>, seed: u64, kaisuu: u32 , lists : &Vec<Vec<usize>> ) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn calc_infos(&self) -> ResultsInfos {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_result` is never used
[INFO] [stdout]    --> src/tests/localserachexp.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn print_result( results : &Results, opt_score : i64 ) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `local_2opt_random_exp` is never used
[INFO] [stdout]    --> src/tests/localserachexp.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn local_2opt_random_exp(problemName: &String, opt_score: i64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testDoudlbeBridge` is never used
[INFO] [stdout]  --> src/tests/listest.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn testDoudlbeBridge( problem_name : &String ) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getInstPath` should have a snake case name
[INFO] [stdout]   --> src/modules/tspinstance.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn getInstPath(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to snake case: `get_inst_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getOptPath` should have a snake case name
[INFO] [stdout]   --> src/modules/tspinstance.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn getOptPath(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to snake case: `get_opt_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fromFile` should have a snake case name
[INFO] [stdout]   --> src/modules/tspinstance.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn fromFile( fpath : &String) -> anyhow::Result<TspInstance> {
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to snake case: `from_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clonePoints` should have a snake case name
[INFO] [stdout]    --> src/modules/tspinstance.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn clonePoints(&self) -> Vec<Point> {
[INFO] [stdout]     |            ^^^^^^^^^^^ help: convert the identifier to snake case: `clone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `isCorrect` should have a snake case name
[INFO] [stdout]   --> src/modules/tsp.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn isCorrect( &self, ord : &Tord ) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `is_correct`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calcScore` should have a snake case name
[INFO] [stdout]   --> src/modules/tsp.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn calcScore( &self, ord : &Tord ) -> Option<i64> {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `calc_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Kruskal` should have a snake case name
[INFO] [stdout]    --> src/modules/construct.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn Kruskal( tsp : &Tsp ) -> Tord {
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `kruskal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `init_points_nearest` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:272:15
[INFO] [stdout]     |
[INFO] [stdout] 272 |     pub const init_points_nearest : init_points<T> = |sel| {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `INIT_POINTS_NEAREST`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `init_points_center` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:296:15
[INFO] [stdout]     |
[INFO] [stdout] 296 |     pub const init_points_center : init_points<T> = |sel | {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `INIT_POINTS_CENTER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `init_points_center_by_center` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:323:15
[INFO] [stdout]     |
[INFO] [stdout] 323 |     pub const init_points_center_by_center : init_points<T> = |sel|{
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `INIT_POINTS_CENTER_BY_CENTER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `update_nearest` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:351:15
[INFO] [stdout]     |
[INFO] [stdout] 351 |     pub const update_nearest : update_score_fn<i64> = | sel, idx | {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `UPDATE_NEAREST`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `update_farthest` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:362:15
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub const update_farthest : update_score_fn<i64> = | sel, idx | {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `UPDATE_FARTHEST`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `update_diff` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:373:15
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub const update_diff : update_score_fn<i64> = | sel, idx | {
[INFO] [stdout]     |               ^^^^^^^^^^^ help: convert the identifier to upper case: `UPDATE_DIFF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `cmp_i64_min` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:397:15
[INFO] [stdout]     |
[INFO] [stdout] 397 |     pub const cmp_i64_min : cmp_fn<i64> = | a, b| { *a < *b};
[INFO] [stdout]     |               ^^^^^^^^^^^ help: convert the identifier to upper case: `CMP_I64_MIN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `cmp_i64_max` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:398:15
[INFO] [stdout]     |
[INFO] [stdout] 398 |     pub const cmp_i64_max: cmp_fn<i64> = | a, b| { *a > *b};
[INFO] [stdout]     |               ^^^^^^^^^^^ help: convert the identifier to upper case: `CMP_I64_MAX`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `select_pos_by_score` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:403:15
[INFO] [stdout]     |
[INFO] [stdout] 403 |     pub const select_pos_by_score : select_pos_fn<T> = |sel, idx, best| {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `SELECT_POS_BY_SCORE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `select_pos_by_nearest` should have an upper case name
[INFO] [stdout]    --> src/modules/construct.rs:407:15
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub const select_pos_by_nearest : select_pos_fn<T> = |
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `SELECT_POS_BY_NEAREST`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fromFile` should have a snake case name
[INFO] [stdout]   --> src/modules/opttour.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn fromFile( fpath : &String, tsp: &Tsp ) -> Result<OptTour,Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to snake case: `from_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `isNoMode` should have a snake case name
[INFO] [stdout]   --> src/modules/opttour.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut isNoMode: bool = false;
[INFO] [stdout]    |                 ^^^^^^^^ help: convert the identifier to snake case: `is_no_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fromOneValue` should have a snake case name
[INFO] [stdout]   --> src/modules/segmenttree.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn fromOneValue( no : usize, zero : &T, cmp : fn(&T,&T)-> T) -> SegmentTree<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `from_one_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calcNeighborList` should have a snake case name
[INFO] [stdout]    --> src/modules/localsearch.rs:549:8
[INFO] [stdout]     |
[INFO] [stdout] 549 | pub fn calcNeighborList(tsp: &Tsp, list_size: usize) -> Vec<Vec<usize>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `calc_neighbor_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `problemName` should have a snake case name
[INFO] [stdout]    --> src/tests/localserachexp.rs:161:30
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn local_2opt_random_exp(problemName: &String, opt_score: i64) {
[INFO] [stdout]     |                              ^^^^^^^^^^^ help: convert the identifier to snake case: `problem_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.94s
[INFO] [stdout] warning: variable `Results1` should have a snake case name
[INFO] [stdout]    --> src/tests/localserachexp.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let mut Results1 = Results::new(SenryakuType::Fast, 1);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `results1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Results3` should have a snake case name
[INFO] [stdout]    --> src/tests/localserachexp.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let mut Results3 = Results::new(SenryakuType::Fast, 2);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `results3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Results2` should have a snake case name
[INFO] [stdout]    --> src/tests/localserachexp.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |     let mut Results2 = Results::new(SenryakuType::Best, 1);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `results2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Results4` should have a snake case name
[INFO] [stdout]    --> src/tests/localserachexp.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |     let mut Results4 = Results::new(SenryakuType::Best, 2);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `results4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testDoudlbeBridge` should have a snake case name
[INFO] [stdout]  --> src/tests/listest.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn testDoudlbeBridge( problem_name : &String ) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_doudlbe_bridge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `problemName` should have a snake case name
[INFO] [stdout]    --> src/tests/ilsexp.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn ils_random_exp(problemName: &String, opt_score: i64) {
[INFO] [stdout]     |                       ^^^^^^^^^^^ help: convert the identifier to snake case: `problem_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Results1` should have a snake case name
[INFO] [stdout]    --> src/tests/ilsexp.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let mut Results1 = Results::new(localsearch::SenryakuType::Fast, 1);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `results1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Results2` should have a snake case name
[INFO] [stdout]    --> src/tests/ilsexp.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut Results2 = Results::new(localsearch::SenryakuType::Best, 1);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `results2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "30ec5f92f25a847e74db4ddfa845562fe51085b4831e81ca4de19d3481aa6d63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30ec5f92f25a847e74db4ddfa845562fe51085b4831e81ca4de19d3481aa6d63", kill_on_drop: false }`
[INFO] [stdout] 30ec5f92f25a847e74db4ddfa845562fe51085b4831e81ca4de19d3481aa6d63
