[INFO] cloning repository https://github.com/PriyanshuDas/PermutationsSorting
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/PriyanshuDas/PermutationsSorting" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPriyanshuDas%2FPermutationsSorting", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPriyanshuDas%2FPermutationsSorting'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ccb01520cb8ec6c3b8252c0534e9002d7215da57
[INFO] testing PriyanshuDas/PermutationsSorting against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPriyanshuDas%2FPermutationsSorting" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/PriyanshuDas/PermutationsSorting
[INFO] finished tweaking git repo https://github.com/PriyanshuDas/PermutationsSorting
[INFO] tweaked toml for git repo https://github.com/PriyanshuDas/PermutationsSorting written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/PriyanshuDas/PermutationsSorting on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/PriyanshuDas/PermutationsSorting 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e710f4b143a411711840aad299642844b6b97af623bbb926ece530ef2e2ee42c
[INFO] running `Command { std: "docker" "start" "-a" "e710f4b143a411711840aad299642844b6b97af623bbb926ece530ef2e2ee42c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e710f4b143a411711840aad299642844b6b97af623bbb926ece530ef2e2ee42c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e710f4b143a411711840aad299642844b6b97af623bbb926ece530ef2e2ee42c", kill_on_drop: false }`
[INFO] [stdout] e710f4b143a411711840aad299642844b6b97af623bbb926ece530ef2e2ee42c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] e22241ce28b61bb97ed0c68d78b3c384a3191bd42a5be70ef64a28ebd0fa5ed2
[INFO] running `Command { std: "docker" "start" "-a" "e22241ce28b61bb97ed0c68d78b3c384a3191bd42a5be70ef64a28ebd0fa5ed2", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling libc v0.2.65
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling getrandom v0.1.13
[INFO] [stderr]    Compiling scopeguard v1.0.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling rayon-core v1.6.1
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling lehmer v3.0.0
[INFO] [stderr]    Compiling text_io v0.1.7
[INFO] [stderr]    Compiling permutohedron v0.2.4
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling c2-chacha v0.2.3
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]    Compiling crossbeam-queue v0.2.0
[INFO] [stderr]    Compiling num_cpus v1.11.1
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling crossbeam-deque v0.7.2
[INFO] [stderr]    Compiling rand_chacha v0.2.1
[INFO] [stderr]    Compiling rand v0.7.2
[INFO] [stderr]    Compiling rayon v1.2.1
[INFO] [stderr]    Compiling PermutationsSortingByTranspositions v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, and `mpsc`
[INFO] [stdout]  --> src/main.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::{Arc, Mutex, mpsc};
[INFO] [stdout]   |                 ^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering::AcqRel`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::atomic::Ordering::AcqRel;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cmp::min;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/permutation/permutations_generator.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::permutation::permutation_label::get_permutation_from_label`
[INFO] [stdout]  --> src/permutation/adjacency_calculator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::permutation::permutation_label::get_permutation_from_label;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::permutation::permutations_generator`
[INFO] [stdout]  --> src/permutation/adjacency_calculator.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::permutation::permutations_generator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/permutation/adjacency_calculator.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/permutation/adjacency_calculator.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |             mask = (mask | (1 << item_positions[lesser]) as u16)
[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] 34 -             mask = (mask | (1 << item_positions[lesser]) as u16)
[INFO] [stdout] 34 +             mask = mask | (1 << item_positions[lesser]) as u16 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:174:51
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let greater_than_item_in_new_block_mask = (greater_than_item_in_block_mask << 1);
[INFO] [stdout]     |                                                   ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 174 -         let greater_than_item_in_new_block_mask = (greater_than_item_in_block_mask << 1);
[INFO] [stdout] 174 +         let greater_than_item_in_new_block_mask = greater_than_item_in_block_mask << 1 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |             (original_position_range_to_left_mask & lower_than_item_mask as i16);
[INFO] [stdout]     |             ^                                                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 196 -             (original_position_range_to_left_mask & lower_than_item_mask as i16);
[INFO] [stdout] 196 +             original_position_range_to_left_mask & lower_than_item_mask as i16 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             (new_position_to_left_mask & lower_than_item_mask as i16);
[INFO] [stdout]     |             ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 199 -             (new_position_to_left_mask & lower_than_item_mask as i16);
[INFO] [stdout] 199 +             new_position_to_left_mask & lower_than_item_mask as i16 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::permutation::adjacency_calculator`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::permutation::adjacency_calculator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_code_shifting_item_to_new_position`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::permutation::adjacency_calculator::{get_code_shifting_item_to_new_position, AdjacencyCalculator};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `Formatter`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::fmt::{Formatter, Error};
[INFO] [stdout]    |                ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::permutation::adjacency_calculator`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::permutation::adjacency_calculator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `min`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::{min, max};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_code_shifting_item_to_new_position`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::permutation::adjacency_calculator::{get_code_shifting_item_to_new_position, AdjacencyCalculator};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::{Instant, Duration};
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `Formatter`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::fmt::{Formatter, Error};
[INFO] [stdout]    |                ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Range`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::ops::Range;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rayon::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/permutation/precompute.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 let mut new_permutation: Vec<u8> =
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_label`
[INFO] [stdout]   --> src/permutation/precompute.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 let new_label = permutation_label::get_label_for_permutation(&new_permutation);
[INFO] [stdout]    |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_label`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/permutation/precompute.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let mut grid_3d =
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/permutation/permutation_helper.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut reduced_index: u8 = 1;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reduced_index`
[INFO] [stdout]   --> src/permutation/permutation_helper.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut reduced_index: u8 = 1;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reduced_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]   --> src/permutation/permutation_helper.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let m = n - adjacency_ct_in_permutation as u8;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let mut delta: i32 = 0;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let size = self.size;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let mut delta: i32 = 0;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code_delta`
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |                     let code_delta =
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_code_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut visited: Vec<Vec<Vec<bool>>> = vec![];
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout] 133 |             .map(|pos| build_visited_vec_for_code(size))
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visited`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut visited: Vec<Vec<Vec<bool>>> = vec![];
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visited`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |             for i in 0..size {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 for j in 0..size {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         for code in lehmer_code_range {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         for i in 0..lehmer_code_range {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `prev_duration` is never read
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |             prev_duration = cur_duration;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cur_duration` is never read
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:189:32
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut cur_duration = now.elapsed();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_pos`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:274:25
[INFO] [stdout]     |
[INFO] [stdout] 274 |                     let new_pos = k as i8 - block_size - 1;
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `permutations_data`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:329:81
[INFO] [stdout]     |
[INFO] [stdout] 329 |     fn update_distance_and_next_step_for_pure_permutations_optimized(&mut self, permutations_data: &Vec<PermutationsData>) {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permutations_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:504:17
[INFO] [stdout]     |
[INFO] [stdout] 504 |             let mut cur_dist = self.distance[next_batch[0] as usize];
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:525:17
[INFO] [stdout]     |
[INFO] [stdout] 525 |             let mut old_time = now.elapsed();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:722:17
[INFO] [stdout]     |
[INFO] [stdout] 722 |             let mut new_time = now.elapsed();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:729:17
[INFO] [stdout]     |
[INFO] [stdout] 729 |             let mut new_time = now.elapsed();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `prev_time` is never read
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:732:13
[INFO] [stdout]     |
[INFO] [stdout] 732 |             prev_time = new_time;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let mut total_steps: u32 = pure_permutations.par_iter()
[INFO] [stdout]    |             ----^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let mut total_count = pure_permutations.len();
[INFO] [stdout]    |             ----^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout] 169 |             .map(|code| {
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 for i in 0..self.size {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_dist`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let new_dist = self.get_distance(code);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_dist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_time_ms`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:307:17
[INFO] [stdout]     |
[INFO] [stdout] 307 |             let prev_time_ms = current_time.as_millis();
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_time_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cur_time_ms`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:323:17
[INFO] [stdout]     |
[INFO] [stdout] 323 |             let cur_time_ms = current_time.as_millis();
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_time_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:341:19
[INFO] [stdout]     |
[INFO] [stdout] 341 |             .map(|code| Mutex::from(UNPROCESSED))
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:380:13
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let mut cur_size_permutations_data =
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:379:13
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let now = Instant::now();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANGE` is never used
[INFO] [stdout]   --> src/main.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const RANGE: usize = 50000;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_ENABLED` is never used
[INFO] [stdout]   --> src/permutation/permutation_label.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const DEBUG_ENABLED: bool = false;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_label_for_permutation` is never used
[INFO] [stdout]   --> src/permutation/permutation_label.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn get_label_for_permutation(permutation: &Vec<u8>) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_all_pure_lehmer_codes_of_size` is never used
[INFO] [stdout]   --> src/permutation/permutation_label.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn get_all_pure_lehmer_codes_of_size(size: u8) -> Vec<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_permutation_from_label` is never used
[INFO] [stdout]   --> src/permutation/permutation_label.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn get_permutation_from_label(label: u32) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `factorial` is never used
[INFO] [stdout]   --> src/permutation/permutation_label.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn factorial(n: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_factorial` is never used
[INFO] [stdout]   --> src/permutation/permutation_label.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn sum_factorial(n: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_personal_lehmer_from_permutation` is never used
[INFO] [stdout]   --> src/permutation/permutation_label.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn get_personal_lehmer_from_permutation(permutation: &Vec<u8>) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_ENABLED` is never used
[INFO] [stdout]  --> src/permutation/precompute.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const DEBUG_ENABLED: bool = false;
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pre_compute` is never used
[INFO] [stdout]  --> src/permutation/precompute.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn pre_compute(pure_perm_labels: Vec<u32>, size: usize) -> Vec<Vec<Vec<u32>>> {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `permutation_move_item` is never used
[INFO] [stdout]   --> src/permutation/precompute.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn permutation_move_item(permutation: &Vec<u8>, item_pos: usize, move_to_before: usize) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `initialize_3d_grid` is never used
[INFO] [stdout]   --> src/permutation/precompute.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn initialize_3d_grid(d1: usize, d2: usize, d3: usize) -> Vec<Vec<Vec<u32>>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_3d_grid` is never used
[INFO] [stdout]   --> src/permutation/precompute.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn print_3d_grid(grid_3d: &mut Vec<Vec<Vec<u32>>>) -> () {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_3d_vector` is never used
[INFO] [stdout]  --> src/permutation/permutations_generator.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn print_3d_vector(permutations_lists: Vec<Vec<Vec<u32>>>) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_2d_vector` is never used
[INFO] [stdout]   --> src/permutation/permutations_generator.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn print_2d_vector(permutations_list: Vec<Vec<u32>>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_permutations_up_to_size` is never used
[INFO] [stdout]   --> src/permutation/permutations_generator.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn generate_permutations_up_to_size(n: u8) -> Vec<Vec<Vec<u8>>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_permutations` is never used
[INFO] [stdout]   --> src/permutation/permutations_generator.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn generate_permutations(n:u8) -> Vec<Vec<u8>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PermutationTracker` is never constructed
[INFO] [stdout]  --> src/permutation/pure_permutations_generator.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct PermutationTracker {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `upto_size` is never used
[INFO] [stdout]   --> src/permutation/pure_permutations_generator.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl PermutationTracker {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 10 |     fn upto_size(size: u8) -> PermutationTracker {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_single_item_transposition_memo` is never used
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:265:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl AdjacencyCalculator {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn get_single_item_transposition_memo(&self) -> Vec<Vec<Vec<u32>>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_code_shifting_item_to_new_position` is never used
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:282:8
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub fn get_code_shifting_item_to_new_position(size: usize,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUM_FACTORIALS` is never used
[INFO] [stdout]  --> src/permutation/constants.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const SUM_FACTORIALS: [u32; 13] =
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sum_factorials` is never used
[INFO] [stdout]   --> src/permutation/constants.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn get_sum_factorials(n: usize) -> u32 {SUM_FACTORIALS[n]}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_factorial` is never used
[INFO] [stdout]   --> src/permutation/constants.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn get_factorial(n: usize) -> u32 {FACTORIALS[n]}
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_ENABLED` is never used
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const DEBUG_ENABLED: bool = false;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INVALID_PAIR` is never used
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const INVALID_PAIR: (u8, u32) = (99, 99);
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNDEFINED` is never used
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const UNDEFINED: i64 = -2;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ProcessingStatus` is never used
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum ProcessingStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PermutationsData` is never constructed
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct PermutationsData {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_all_blocks_for_size` is never used
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn get_all_blocks_for_size(size: usize) -> Vec<(usize, usize)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:60:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl PermutationsData {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout]  60 |     fn print_visited(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]  61 |
[INFO] [stdout]  62 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn print_summary(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     fn init_visited(size: usize) -> Vec<Vec<Vec<ProcessingStatus>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn init_next_step(size: usize) -> Vec<(u8, u32)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn init_distance(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     fn init_reduced_code(size: usize) -> Vec<(usize, u32)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn init_pure_permutations(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn init(size: usize) -> PermutationsData {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     fn log_time_taken(prev_duration: &mut Duration, cur_duration: &mut Duration, name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn calculate(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn update_init_on_basis_of_previous(&mut self, permutations_data: &Vec<PermutationsData>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn get_adjacent_reduced_permutation_to(&self, code: u32) -> Vec<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     fn update_distance_and_next_step_for_pure_permutations(&mut self, permutations_data: &Vec<PermutationsData>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     fn update_distance_and_next_step_for_pure_permutations_optimized(&mut self, permutations_data: &Vec<PermutationsData>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn update_distance_and_next_step_for_code(&mut self, code: u32, new_dist: u8, new_size: u8, new_code: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     fn update_distance_and_next_step_for_reducible_permutations(&mut self, permutations_data: &Vec<PermutationsData>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn process_permutation(&mut self, code: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |     pub fn process_permutation_paralleled(&mut self, code: u32) -> Vec<u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |     pub fn process_all_permutations(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 580 |     fn set_initial_distance_for_pure_permutations(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 673 |     fn process_pure_permutations(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 717 |     pub fn process_all_permutations_time_optimized(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_data_for_size_up_to` is never used
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:737:8
[INFO] [stdout]     |
[INFO] [stdout] 737 | pub fn generate_data_for_size_up_to(max_size: usize) -> Vec<PermutationsData> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `print`, `set_distance`, and `set_end_mask_bit` are never used
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:60:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl PermutationsData {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout]  60 |     fn print(&self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn set_distance(&mut self, code: usize, dist: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn set_end_mask_bit(&mut self, code: usize, start_pos: usize, end_pos: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.75s
[INFO] running `Command { std: "docker" "inspect" "e22241ce28b61bb97ed0c68d78b3c384a3191bd42a5be70ef64a28ebd0fa5ed2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e22241ce28b61bb97ed0c68d78b3c384a3191bd42a5be70ef64a28ebd0fa5ed2", kill_on_drop: false }`
[INFO] [stdout] e22241ce28b61bb97ed0c68d78b3c384a3191bd42a5be70ef64a28ebd0fa5ed2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] ebbfbabc8e6d1208960e70399abc25e7cde9f63556c40ba28f81673771f6fcbb
[INFO] running `Command { std: "docker" "start" "-a" "ebbfbabc8e6d1208960e70399abc25e7cde9f63556c40ba28f81673771f6fcbb", kill_on_drop: false }`
[INFO] [stderr]    Compiling PermutationsSortingByTranspositions v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering::AcqRel`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::atomic::Ordering::AcqRel;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::permutation::permutation_label::get_permutation_from_label`
[INFO] [stdout]  --> src/permutation/adjacency_calculator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::permutation::permutation_label::get_permutation_from_label;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::permutation::permutations_generator`
[INFO] [stdout]  --> src/permutation/adjacency_calculator.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::permutation::permutations_generator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/permutation/adjacency_calculator.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/permutation/adjacency_calculator.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |             mask = (mask | (1 << item_positions[lesser]) as u16)
[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] 34 -             mask = (mask | (1 << item_positions[lesser]) as u16)
[INFO] [stdout] 34 +             mask = mask | (1 << item_positions[lesser]) as u16 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:174:51
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let greater_than_item_in_new_block_mask = (greater_than_item_in_block_mask << 1);
[INFO] [stdout]     |                                                   ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 174 -         let greater_than_item_in_new_block_mask = (greater_than_item_in_block_mask << 1);
[INFO] [stdout] 174 +         let greater_than_item_in_new_block_mask = greater_than_item_in_block_mask << 1 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |             (original_position_range_to_left_mask & lower_than_item_mask as i16);
[INFO] [stdout]     |             ^                                                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 196 -             (original_position_range_to_left_mask & lower_than_item_mask as i16);
[INFO] [stdout] 196 +             original_position_range_to_left_mask & lower_than_item_mask as i16 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             (new_position_to_left_mask & lower_than_item_mask as i16);
[INFO] [stdout]     |             ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 199 -             (new_position_to_left_mask & lower_than_item_mask as i16);
[INFO] [stdout] 199 +             new_position_to_left_mask & lower_than_item_mask as i16 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::permutation::adjacency_calculator`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::permutation::adjacency_calculator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_code_shifting_item_to_new_position`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::permutation::adjacency_calculator::{get_code_shifting_item_to_new_position, AdjacencyCalculator};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `Formatter`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::fmt::{Formatter, Error};
[INFO] [stdout]    |                ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::permutation::adjacency_calculator`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::permutation::adjacency_calculator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `min`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::{min, max};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_code_shifting_item_to_new_position`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::permutation::adjacency_calculator::{get_code_shifting_item_to_new_position, AdjacencyCalculator};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::{Instant, Duration};
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `Formatter`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::fmt::{Formatter, Error};
[INFO] [stdout]    |                ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Range`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::ops::Range;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 407 |     use std::collections::HashMap;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/permutation/precompute.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 let mut new_permutation: Vec<u8> =
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_label`
[INFO] [stdout]   --> src/permutation/precompute.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 let new_label = permutation_label::get_label_for_permutation(&new_permutation);
[INFO] [stdout]    |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_label`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/permutation/precompute.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let mut grid_3d =
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/permutation/permutation_helper.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut reduced_index: u8 = 1;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reduced_index`
[INFO] [stdout]   --> src/permutation/permutation_helper.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut reduced_index: u8 = 1;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reduced_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]   --> src/permutation/permutation_helper.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let m = n - adjacency_ct_in_permutation as u8;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `permutations_up_to_size_n`
[INFO] [stdout]   --> src/permutation/permutations_generator.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let permutations_up_to_size_n = generate_permutations_up_to_size(size);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permutations_up_to_size_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let mut delta: i32 = 0;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let size = self.size;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let mut delta: i32 = 0;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code_delta`
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |                     let code_delta =
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_code_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adjacency_calculator`
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:398:13
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let adjacency_calculator = AdjacencyCalculator::init(6);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjacency_calculator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let output =
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:436:13
[INFO] [stdout]     |
[INFO] [stdout] 436 |         let output = get_permutations_of_size(10);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |         let output =
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:462:13
[INFO] [stdout]     |
[INFO] [stdout] 462 |         let output =
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut visited: Vec<Vec<Vec<bool>>> = vec![];
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout] 133 |             .map(|pos| build_visited_vec_for_code(size))
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visited`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut visited: Vec<Vec<Vec<bool>>> = vec![];
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visited`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |             for i in 0..size {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 for j in 0..size {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         for code in lehmer_code_range {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         for i in 0..lehmer_code_range {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `prev_duration` is never read
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |             prev_duration = cur_duration;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cur_duration` is never read
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:189:32
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut cur_duration = now.elapsed();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_pos`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:274:25
[INFO] [stdout]     |
[INFO] [stdout] 274 |                     let new_pos = k as i8 - block_size - 1;
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `permutations_data`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:329:81
[INFO] [stdout]     |
[INFO] [stdout] 329 |     fn update_distance_and_next_step_for_pure_permutations_optimized(&mut self, permutations_data: &Vec<PermutationsData>) {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permutations_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:504:17
[INFO] [stdout]     |
[INFO] [stdout] 504 |             let mut cur_dist = self.distance[next_batch[0] as usize];
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:525:17
[INFO] [stdout]     |
[INFO] [stdout] 525 |             let mut old_time = now.elapsed();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:722:17
[INFO] [stdout]     |
[INFO] [stdout] 722 |             let mut new_time = now.elapsed();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:729:17
[INFO] [stdout]     |
[INFO] [stdout] 729 |             let mut new_time = now.elapsed();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `prev_time` is never read
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:732:13
[INFO] [stdout]     |
[INFO] [stdout] 732 |             prev_time = new_time;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:860:13
[INFO] [stdout]     |
[INFO] [stdout] 860 |         let mut permutations_data = generate_data_for_size_up_to(10);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:893:13
[INFO] [stdout]     |
[INFO] [stdout] 893 |         let mut permutations_data = generate_data_for_size_up_to(8);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let mut total_steps: u32 = pure_permutations.par_iter()
[INFO] [stdout]    |             ----^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let mut total_count = pure_permutations.len();
[INFO] [stdout]    |             ----^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout] 169 |             .map(|code| {
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 for i in 0..self.size {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_dist`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let new_dist = self.get_distance(code);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_dist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_time_ms`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:307:17
[INFO] [stdout]     |
[INFO] [stdout] 307 |             let prev_time_ms = current_time.as_millis();
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_time_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cur_time_ms`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:323:17
[INFO] [stdout]     |
[INFO] [stdout] 323 |             let cur_time_ms = current_time.as_millis();
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_time_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:341:19
[INFO] [stdout]     |
[INFO] [stdout] 341 |             .map(|code| Mutex::from(UNPROCESSED))
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:380:13
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let mut cur_size_permutations_data =
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:379:13
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let now = Instant::now();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:428:13
[INFO] [stdout]     |
[INFO] [stdout] 428 |         for code in 0..constants::FACTORIALS[size] {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:430:17
[INFO] [stdout]     |
[INFO] [stdout] 430 |             for i in 0..size {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sleep_time`
[INFO] [stdout]    --> src/main.rs:126:25
[INFO] [stdout]     |
[INFO] [stdout] 126 |                     let sleep_time:u8 = rng.gen();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sleep_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch_ct`
[INFO] [stdout]    --> src/main.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let batch_ct = RANGE /thread_range + 1;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batch_ct`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_3d_vector` is never used
[INFO] [stdout]  --> src/permutation/permutations_generator.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn print_3d_vector(permutations_lists: Vec<Vec<Vec<u32>>>) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_2d_vector` is never used
[INFO] [stdout]   --> src/permutation/permutations_generator.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn print_2d_vector(permutations_list: Vec<Vec<u32>>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_single_item_transposition_memo` is never used
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:265:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl AdjacencyCalculator {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn get_single_item_transposition_memo(&self) -> Vec<Vec<Vec<u32>>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_code_shifting_item_to_new_position` is never used
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:282:8
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub fn get_code_shifting_item_to_new_position(size: usize,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sum_factorials` is never used
[INFO] [stdout]   --> src/permutation/constants.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn get_sum_factorials(n: usize) -> u32 {SUM_FACTORIALS[n]}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_factorial` is never used
[INFO] [stdout]   --> src/permutation/constants.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn get_factorial(n: usize) -> u32 {FACTORIALS[n]}
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNDEFINED` is never used
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const UNDEFINED: i64 = -2;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PROCESSING` is never constructed
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum ProcessingStatus {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 27 |     UNPROCESSED,
[INFO] [stdout] 28 |     PROCESSING,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProcessingStatus` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:60:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl PermutationsData {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout]  60 |     fn print_visited(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]  61 |
[INFO] [stdout]  62 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn calculate(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     fn update_distance_and_next_step_for_pure_permutations_optimized(&mut self, permutations_data: &Vec<PermutationsData>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn process_permutation(&mut self, code: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |     pub fn process_all_permutations(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 580 |     fn set_initial_distance_for_pure_permutations(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `print`, `set_distance`, and `set_end_mask_bit` are never used
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:60:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl PermutationsData {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout]  60 |     fn print(&self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn set_distance(&mut self, code: usize, dist: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn set_end_mask_bit(&mut self, code: usize, start_pos: usize, end_pos: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestCase` is never constructed
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:410:12
[INFO] [stdout]     |
[INFO] [stdout] 410 |     struct TestCase {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         handle.join();
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let _ = handle.join();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.89s
[INFO] running `Command { std: "docker" "inspect" "ebbfbabc8e6d1208960e70399abc25e7cde9f63556c40ba28f81673771f6fcbb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebbfbabc8e6d1208960e70399abc25e7cde9f63556c40ba28f81673771f6fcbb", kill_on_drop: false }`
[INFO] [stdout] ebbfbabc8e6d1208960e70399abc25e7cde9f63556c40ba28f81673771f6fcbb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 908f118bb9105bce45a08ba2b6544caf190b77d48969aff6d1a5a3f4d32bee0b
[INFO] running `Command { std: "docker" "start" "-a" "908f118bb9105bce45a08ba2b6544caf190b77d48969aff6d1a5a3f4d32bee0b", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]  --> src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::rc::Rc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::atomic::Ordering::AcqRel`
[INFO] [stderr]  --> src/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::sync::atomic::Ordering::AcqRel;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::permutation::permutation_label::get_permutation_from_label`
[INFO] [stderr]  --> src/permutation/adjacency_calculator.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::permutation::permutation_label::get_permutation_from_label;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::permutation::permutations_generator`
[INFO] [stderr]  --> src/permutation/adjacency_calculator.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::permutation::permutations_generator;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::max`
[INFO] [stderr]  --> src/permutation/adjacency_calculator.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::cmp::max;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/permutation/adjacency_calculator.rs:34:20
[INFO] [stderr]    |
[INFO] [stderr] 34 |             mask = (mask | (1 << item_positions[lesser]) as u16)
[INFO] [stderr]    |                    ^                                           ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 34 -             mask = (mask | (1 << item_positions[lesser]) as u16)
[INFO] [stderr] 34 +             mask = mask | (1 << item_positions[lesser]) as u16 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:174:51
[INFO] [stderr]     |
[INFO] [stderr] 174 |         let greater_than_item_in_new_block_mask = (greater_than_item_in_block_mask << 1);
[INFO] [stderr]     |                                                   ^                                    ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 174 -         let greater_than_item_in_new_block_mask = (greater_than_item_in_block_mask << 1);
[INFO] [stderr] 174 +         let greater_than_item_in_new_block_mask = greater_than_item_in_block_mask << 1 ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:196:13
[INFO] [stderr]     |
[INFO] [stderr] 196 |             (original_position_range_to_left_mask & lower_than_item_mask as i16);
[INFO] [stderr]     |             ^                                                                  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 196 -             (original_position_range_to_left_mask & lower_than_item_mask as i16);
[INFO] [stderr] 196 +             original_position_range_to_left_mask & lower_than_item_mask as i16 ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:199:13
[INFO] [stderr]     |
[INFO] [stderr] 199 |             (new_position_to_left_mask & lower_than_item_mask as i16);
[INFO] [stderr]     |             ^                                                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 199 -             (new_position_to_left_mask & lower_than_item_mask as i16);
[INFO] [stderr] 199 +             new_position_to_left_mask & lower_than_item_mask as i16 ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::permutation::adjacency_calculator`
[INFO] [stderr]  --> src/permutation/distance_calculator/distance_calculator.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::permutation::adjacency_calculator;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `get_code_shifting_item_to_new_position`
[INFO] [stderr]  --> src/permutation/distance_calculator/distance_calculator.rs:6:48
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::permutation::adjacency_calculator::{get_code_shifting_item_to_new_position, AdjacencyCalculator};
[INFO] [stderr]   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt`
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::fmt;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Error` and `Formatter`
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator.rs:12:16
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::fmt::{Formatter, Error};
[INFO] [stderr]    |                ^^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::permutation::adjacency_calculator`
[INFO] [stderr]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::permutation::adjacency_calculator;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `min`
[INFO] [stderr]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:5:16
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::cmp::{min, max};
[INFO] [stderr]   |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `get_code_shifting_item_to_new_position`
[INFO] [stderr]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:6:48
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::permutation::adjacency_calculator::{get_code_shifting_item_to_new_position, AdjacencyCalculator};
[INFO] [stderr]   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]  --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:8:26
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::time::{Instant, Duration};
[INFO] [stderr]   |                          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt`
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::fmt;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Error` and `Formatter`
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:12:16
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::fmt::{Formatter, Error};
[INFO] [stderr]    |                ^^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Range`
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::ops::Range;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:407:9
[INFO] [stderr]     |
[INFO] [stderr] 407 |     use std::collections::HashMap;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/permutation/precompute.rs:19:21
[INFO] [stderr]    |
[INFO] [stderr] 19 |                 let mut new_permutation: Vec<u8> =
[INFO] [stderr]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_label`
[INFO] [stderr]   --> src/permutation/precompute.rs:22:21
[INFO] [stderr]    |
[INFO] [stderr] 22 |                 let new_label = permutation_label::get_label_for_permutation(&new_permutation);
[INFO] [stderr]    |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_label`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/permutation/precompute.rs:54:9
[INFO] [stderr]    |
[INFO] [stderr] 54 |     let mut grid_3d =
[INFO] [stderr]    |         ----^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/permutation/permutation_helper.rs:17:9
[INFO] [stderr]    |
[INFO] [stderr] 17 |     let mut reduced_index: u8 = 1;
[INFO] [stderr]    |         ----^^^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reduced_index`
[INFO] [stderr]   --> src/permutation/permutation_helper.rs:17:9
[INFO] [stderr]    |
[INFO] [stderr] 17 |     let mut reduced_index: u8 = 1;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reduced_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `m`
[INFO] [stderr]   --> src/permutation/permutation_helper.rs:61:9
[INFO] [stderr]    |
[INFO] [stderr] 61 |     let m = n - adjacency_ct_in_permutation as u8;
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `permutations_up_to_size_n`
[INFO] [stderr]   --> src/permutation/permutations_generator.rs:63:13
[INFO] [stderr]    |
[INFO] [stderr] 63 |         let permutations_up_to_size_n = generate_permutations_up_to_size(size);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permutations_up_to_size_n`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:145:13
[INFO] [stderr]     |
[INFO] [stderr] 145 |         let mut delta: i32 = 0;
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `size`
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:144:13
[INFO] [stderr]     |
[INFO] [stderr] 144 |         let size = self.size;
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `delta`
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:145:13
[INFO] [stderr]     |
[INFO] [stderr] 145 |         let mut delta: i32 = 0;
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `code_delta`
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:270:25
[INFO] [stderr]     |
[INFO] [stderr] 270 |                     let code_delta =
[INFO] [stderr]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_code_delta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `adjacency_calculator`
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:398:13
[INFO] [stderr]     |
[INFO] [stderr] 398 |         let adjacency_calculator = AdjacencyCalculator::init(6);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjacency_calculator`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output`
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:403:13
[INFO] [stderr]     |
[INFO] [stderr] 403 |         let output =
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output`
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:436:13
[INFO] [stderr]     |
[INFO] [stderr] 436 |         let output = get_permutations_of_size(10);
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output`
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:456:13
[INFO] [stderr]     |
[INFO] [stderr] 456 |         let output =
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output`
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:462:13
[INFO] [stderr]     |
[INFO] [stderr] 462 |         let output =
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:130:13
[INFO] [stderr]     |
[INFO] [stderr] 130 |         let mut visited: Vec<Vec<Vec<bool>>> = vec![];
[INFO] [stderr]     |             ----^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pos`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:133:19
[INFO] [stderr]     |
[INFO] [stderr] 133 |             .map(|pos| build_visited_vec_for_code(size))
[INFO] [stderr]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `visited`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:130:13
[INFO] [stderr]     |
[INFO] [stderr] 130 |         let mut visited: Vec<Vec<Vec<bool>>> = vec![];
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visited`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:120:17
[INFO] [stderr]     |
[INFO] [stderr] 120 |             for i in 0..size {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `j`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:122:21
[INFO] [stderr]     |
[INFO] [stderr] 122 |                 for j in 0..size {
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `code`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:140:13
[INFO] [stderr]     |
[INFO] [stderr] 140 |         for code in lehmer_code_range {
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:150:13
[INFO] [stderr]     |
[INFO] [stderr] 150 |         for i in 0..lehmer_code_range {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `prev_duration` is never read
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:239:13
[INFO] [stderr]     |
[INFO] [stderr] 239 |             prev_duration = cur_duration;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `cur_duration` is never read
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:189:32
[INFO] [stderr]     |
[INFO] [stderr] 189 |         let mut cur_duration = now.elapsed();
[INFO] [stderr]     |                                ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_pos`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:274:25
[INFO] [stderr]     |
[INFO] [stderr] 274 |                     let new_pos = k as i8 - block_size - 1;
[INFO] [stderr]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_pos`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `permutations_data`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:329:81
[INFO] [stderr]     |
[INFO] [stderr] 329 |     fn update_distance_and_next_step_for_pure_permutations_optimized(&mut self, permutations_data: &Vec<PermutationsData>) {
[INFO] [stderr]     |                                                                                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permutations_data`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:504:17
[INFO] [stderr]     |
[INFO] [stderr] 504 |             let mut cur_dist = self.distance[next_batch[0] as usize];
[INFO] [stderr]     |                 ----^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:525:17
[INFO] [stderr]     |
[INFO] [stderr] 525 |             let mut old_time = now.elapsed();
[INFO] [stderr]     |                 ----^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:722:17
[INFO] [stderr]     |
[INFO] [stderr] 722 |             let mut new_time = now.elapsed();
[INFO] [stderr]     |                 ----^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:729:17
[INFO] [stderr]     |
[INFO] [stderr] 729 |             let mut new_time = now.elapsed();
[INFO] [stderr]     |                 ----^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `prev_time` is never read
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:732:13
[INFO] [stderr]     |
[INFO] [stderr] 732 |             prev_time = new_time;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:860:13
[INFO] [stderr]     |
[INFO] [stderr] 860 |         let mut permutations_data = generate_data_for_size_up_to(10);
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:893:13
[INFO] [stderr]     |
[INFO] [stderr] 893 |         let mut permutations_data = generate_data_for_size_up_to(8);
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:74:13
[INFO] [stderr]    |
[INFO] [stderr] 74 |         let mut total_steps: u32 = pure_permutations.par_iter()
[INFO] [stderr]    |             ----^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:77:13
[INFO] [stderr]    |
[INFO] [stderr] 77 |         let mut total_count = pure_permutations.len();
[INFO] [stderr]    |             ----^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `code`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:169:19
[INFO] [stderr]     |
[INFO] [stderr] 169 |             .map(|code| {
[INFO] [stderr]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:171:21
[INFO] [stderr]     |
[INFO] [stderr] 171 |                 for i in 0..self.size {
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_dist`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:264:13
[INFO] [stderr]     |
[INFO] [stderr] 264 |         let new_dist = self.get_distance(code);
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_dist`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prev_time_ms`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:307:17
[INFO] [stderr]     |
[INFO] [stderr] 307 |             let prev_time_ms = current_time.as_millis();
[INFO] [stderr]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_time_ms`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cur_time_ms`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:323:17
[INFO] [stderr]     |
[INFO] [stderr] 323 |             let cur_time_ms = current_time.as_millis();
[INFO] [stderr]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_time_ms`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `code`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:341:19
[INFO] [stderr]     |
[INFO] [stderr] 341 |             .map(|code| Mutex::from(UNPROCESSED))
[INFO] [stderr]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:380:13
[INFO] [stderr]     |
[INFO] [stderr] 380 |         let mut cur_size_permutations_data =
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `now`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:379:13
[INFO] [stderr]     |
[INFO] [stderr] 379 |         let now = Instant::now();
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `code`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:428:13
[INFO] [stderr]     |
[INFO] [stderr] 428 |         for code in 0..constants::FACTORIALS[size] {
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:430:17
[INFO] [stderr]     |
[INFO] [stderr] 430 |             for i in 0..size {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sleep_time`
[INFO] [stderr]    --> src/main.rs:126:25
[INFO] [stderr]     |
[INFO] [stderr] 126 |                     let sleep_time:u8 = rng.gen();
[INFO] [stderr]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sleep_time`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `batch_ct`
[INFO] [stderr]    --> src/main.rs:113:9
[INFO] [stderr]     |
[INFO] [stderr] 113 |     let batch_ct = RANGE /thread_range + 1;
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batch_ct`
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_3d_vector` is never used
[INFO] [stderr]  --> src/permutation/permutations_generator.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn print_3d_vector(permutations_lists: Vec<Vec<Vec<u32>>>) {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_2d_vector` is never used
[INFO] [stderr]   --> src/permutation/permutations_generator.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn print_2d_vector(permutations_list: Vec<Vec<u32>>) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_single_item_transposition_memo` is never used
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:265:12
[INFO] [stderr]     |
[INFO] [stderr] 122 | impl AdjacencyCalculator {
[INFO] [stderr]     | ------------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 265 |     pub fn get_single_item_transposition_memo(&self) -> Vec<Vec<Vec<u32>>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_code_shifting_item_to_new_position` is never used
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:282:8
[INFO] [stderr]     |
[INFO] [stderr] 282 | pub fn get_code_shifting_item_to_new_position(size: usize,
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_sum_factorials` is never used
[INFO] [stderr]   --> src/permutation/constants.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn get_sum_factorials(n: usize) -> u32 {SUM_FACTORIALS[n]}
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_factorial` is never used
[INFO] [stderr]   --> src/permutation/constants.rs:11:8
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub fn get_factorial(n: usize) -> u32 {FACTORIALS[n]}
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `UNDEFINED` is never used
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator.rs:17:7
[INFO] [stderr]    |
[INFO] [stderr] 17 | const UNDEFINED: i64 = -2;
[INFO] [stderr]    |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PROCESSING` is never constructed
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub enum ProcessingStatus {
[INFO] [stderr]    |          ---------------- variant in this enum
[INFO] [stderr] 27 |     UNPROCESSED,
[INFO] [stderr] 28 |     PROCESSING,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ProcessingStatus` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:60:8
[INFO] [stderr]     |
[INFO] [stderr]  59 | impl PermutationsData {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr]  60 |     fn print_visited(&self) {}
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr]  61 |
[INFO] [stderr]  62 |     pub fn print(&self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 256 |     pub fn calculate(&self) {}
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 329 |     fn update_distance_and_next_step_for_pure_permutations_optimized(&mut self, permutations_data: &Vec<PermutationsData>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 389 |     pub fn process_permutation(&mut self, code: u32) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 499 |     pub fn process_all_permutations(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 580 |     fn set_initial_distance_for_pure_permutations(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `print`, `set_distance`, and `set_end_mask_bit` are never used
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:60:8
[INFO] [stderr]     |
[INFO] [stderr]  59 | impl PermutationsData {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr]  60 |     fn print(&self) {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 103 |     fn set_distance(&mut self, code: usize, dist: u8) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 113 |     fn set_end_mask_bit(&mut self, code: usize, start_pos: usize, end_pos: usize) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TestCase` is never constructed
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:410:12
[INFO] [stderr]     |
[INFO] [stderr] 410 |     struct TestCase {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:80:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |         handle.join();
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 80 |         let _ = handle.join();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `PermutationsSortingByTranspositions` (bin "PermutationsSortingByTranspositions" test) generated 83 warnings (run `cargo fix --bin "PermutationsSortingByTranspositions" -p PermutationsSortingByTranspositions --tests` to apply 68 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/PermutationsSortingByTranspositions/b0a7ede7852ead36/deps/PermutationsSortingByTranspositions-b0a7ede7852ead36)
[INFO] [stdout] 
[INFO] [stdout] running 35 tests
[INFO] [stdout] test non_concurrent_test_double ... ok
[INFO] [stdout] test permutation::adjacency_calculator::tests::get_mask_for_pos_with_items_greater_than_item_for_code_test ... ok
[INFO] [stdout] test permutation::adjacency_calculator::tests::test_get_masks_for_pos_with_items_lesser_than_item_for_permutation_for_small ... ok
[INFO] [stdout] test permutation::adjacency_calculator::tests::test_get_mask_sum_of_bits_position_factorial ... ok
[INFO] [stdout] test concurrency_test_2 ... ok
[INFO] [stdout] test permutation::adjacency_calculator::tests::test_get_running_sum_of_item_pos_factorial_for_all_codes_for_small ... ok
[INFO] [stdout] test permutation::adjacency_calculator::tests::test_get_permutations_of_size_for_small ... ok
[INFO] [stdout] test permutation::distance_calculator::distance_calculator::tests::find_smallest_reducible_code_sliding_block_beyond ... ok
[INFO] [stdout] test concurrency_test_double_rayon ... ok
[INFO] [stdout] test permutation::permutation_helper::test_reduce_permutation ... ok
[INFO] [stdout] test permutation::adjacency_calculator::tests::test_get_delta_for_moving_item ... ok
[INFO] [stdout] test permutation::distance_calculator::distance_calculator::tests::test_init_permutations_data ... ok
[INFO] [stdout] test permutation::distance_calculator::distance_calculator_mem_efficient::tests::mutex_test ... ok
[INFO] [stdout] test permutation::permutation_label::get_precompute_data ... ok
[INFO] [stdout] test permutation::permutation_label::test_factorial ... ok
[INFO] [stdout] test permutation::permutation_label::test_get_permutation_from_label ... ok
[INFO] [stdout] test permutation::permutation_label::test_lehmer_from_permutation ... ok
[INFO] [stdout] test non_concurrent_test ... ok
[INFO] [stdout] test permutation::permutation_label::test_lehmer_code_generation ... ok
[INFO] [stdout] test permutation::adjacency_calculator::tests::test_time_get_mask_sum_of_bits_position_factorial_for_all_codes_for_large ... ok
[INFO] [stdout] test permutation::adjacency_calculator::tests::test_adjacency_calculator_init ... ok
[INFO] [stdout] test permutation::permutation_label::test_sum_factorial ... ok
[INFO] [stdout] test permutation::permutation_label::test_get_all_pure_lehmer_codes_of_size ... ok
[INFO] [stdout] test permutation::permutations_generator::test_permutation_generation ... ok
[INFO] [stdout] test permutation::precompute::test_pre_compute ... ok
[INFO] [stdout] test permutation::permutations_generator::test_permutations_list_generation ... ok
[INFO] [stdout] test permutation::pure_permutations_generator::test_pure_permutation_tracker_upto_size ... ok
[INFO] [stderr] error: test failed, to rerun pass `--bin PermutationsSortingByTranspositions`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/build/PermutationsSortingByTranspositions/b0a7ede7852ead36/deps/PermutationsSortingByTranspositions-b0a7ede7852ead36` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "908f118bb9105bce45a08ba2b6544caf190b77d48969aff6d1a5a3f4d32bee0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "908f118bb9105bce45a08ba2b6544caf190b77d48969aff6d1a5a3f4d32bee0b", kill_on_drop: false }`
[INFO] [stdout] 908f118bb9105bce45a08ba2b6544caf190b77d48969aff6d1a5a3f4d32bee0b
