[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 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPriyanshuDas%2FPermutationsSorting" "/workspace/builds/worker-10/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/PriyanshuDas/PermutationsSorting on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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-10/source/Cargo.toml
[INFO] crate git repo https://github.com/PriyanshuDas/PermutationsSorting already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 34ac1c020e71ffb61af9685393da7ab7a6eaa704e56bfb1f4a03e0a10ef947f9
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "34ac1c020e71ffb61af9685393da7ab7a6eaa704e56bfb1f4a03e0a10ef947f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "34ac1c020e71ffb61af9685393da7ab7a6eaa704e56bfb1f4a03e0a10ef947f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34ac1c020e71ffb61af9685393da7ab7a6eaa704e56bfb1f4a03e0a10ef947f9", kill_on_drop: false }`
[INFO] [stdout] 34ac1c020e71ffb61af9685393da7ab7a6eaa704e56bfb1f4a03e0a10ef947f9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] e1e2bbd733d5def2cf8a81b940d9b70b0592b403d271a1d1ce982ae9c0b56f04
[INFO] running `Command { std: "docker" "start" "-a" "e1e2bbd733d5def2cf8a81b940d9b70b0592b403d271a1d1ce982ae9c0b56f04", kill_on_drop: false }`
[INFO] [stderr]    Compiling rayon-core v1.6.1
[INFO] [stderr]    Compiling lehmer v3.0.0
[INFO] [stderr]    Compiling permutohedron v0.2.4
[INFO] [stderr]    Compiling text_io v0.1.7
[INFO] [stderr]    Compiling crossbeam-queue v0.2.0
[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)]` 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`, `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]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[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]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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`, `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`, `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: 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)]` on by default
[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: `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: `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: `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: `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 `cur_duration` is never read
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut cur_duration = now.elapsed();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[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] 
[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: 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: 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: `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: `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: `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/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)]` 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: 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: 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: 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: 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: 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: constant is never used: `DEBUG_ENABLED`
[INFO] [stdout]   --> src/permutation/permutation_label.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | const DEBUG_ENABLED: bool = false;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_label_for_permutation`
[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 is never used: `get_all_pure_lehmer_codes_of_size`
[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 is never used: `get_permutation_from_label`
[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 is never used: `factorial`
[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 is never used: `sum_factorial`
[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 is never used: `get_personal_lehmer_from_permutation`
[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 is never used: `DEBUG_ENABLED`
[INFO] [stdout]  --> src/permutation/precompute.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | const DEBUG_ENABLED: bool = false;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pre_compute`
[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 is never used: `permutation_move_item`
[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 is never used: `initialize_3d_grid`
[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 is never used: `print_3d_grid`
[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 is never used: `print_3d_vector`
[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 is never used: `print_2d_vector`
[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 is never used: `generate_permutations_up_to_size`
[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 is never used: `generate_permutations`
[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 is never constructed: `PermutationTracker`
[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 is never used: `upto_size`
[INFO] [stdout]   --> src/permutation/pure_permutations_generator.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn upto_size(size: u8) -> PermutationTracker {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_single_item_transposition_memo`
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:265:12
[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 is never used: `get_code_shifting_item_to_new_position`
[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 is never used: `SUM_FACTORIALS`
[INFO] [stdout]  --> src/permutation/constants.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | / pub const SUM_FACTORIALS: [u32; 13] =
[INFO] [stdout] 4 | |     [1, 2, 4, 10, 34, 154, 874, 5914, 46234, 409114, 4037914, 43954714, 522956314];
[INFO] [stdout]   | |___________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_sum_factorials`
[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 is never used: `get_factorial`
[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 is never used: `DEBUG_ENABLED`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | const DEBUG_ENABLED: bool = false;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `INVALID_PAIR`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | const INVALID_PAIR: (u8, u32) = (99, 99);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `UNDEFINED`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | const UNDEFINED: i64 = -2;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `UNPROCESSED`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     UNPROCESSED,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `PROCESSING`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     PROCESSING,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `PROCESSED`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     PROCESSED,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `PermutationsData`
[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 is never used: `get_all_blocks_for_size`
[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: associated function is never used: `print_visited`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn print_visited(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn print(&self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print_summary`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn print_summary(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init_visited`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn init_visited(size: usize) -> Vec<Vec<Vec<ProcessingStatus>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `build_visited_vec_for_code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 |         fn build_visited_vec_for_code(size: usize) -> Vec<Vec<ProcessingStatus>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init_next_step`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn init_next_step(size: usize) -> Vec<(u8, u32)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init_distance`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn init_distance(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init_reduced_code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn init_reduced_code(size: usize) -> Vec<(usize, u32)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_reduced_code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 |         fn get_reduced_code(size: usize, code: u32) -> (usize, u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init_pure_permutations`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub fn init_pure_permutations(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn init(size: usize) -> PermutationsData {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `log_time_taken`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:245:8
[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] 
[INFO] [stdout] warning: associated function is never used: `calculate`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 256 |     pub fn calculate(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update_init_on_basis_of_previous`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:259:12
[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] 
[INFO] [stdout] warning: associated function is never used: `get_adjacent_reduced_permutation_to`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:267:8
[INFO] [stdout]     |
[INFO] [stdout] 267 |     fn get_adjacent_reduced_permutation_to(&self, code: u32) -> Vec<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update_distance_and_next_step_for_pure_permutations`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:290:8
[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] 
[INFO] [stdout] warning: associated function is never used: `update_distance_and_next_step_for_pure_permutations_optimized`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:329:8
[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] 
[INFO] [stdout] warning: associated function is never used: `update_distance_and_next_step_for_code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:341:8
[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] 
[INFO] [stdout] warning: associated function is never used: `update_distance_and_next_step_for_reducible_permutations`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:354:8
[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] 
[INFO] [stdout] warning: associated function is never used: `process_permutation`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:389:12
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub fn process_permutation(&mut self, code: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `process_permutation_paralleled`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:426:12
[INFO] [stdout]     |
[INFO] [stdout] 426 |     pub fn process_permutation_paralleled(&mut self, code: u32) -> Vec<u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `process_block_move_for_code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:427:12
[INFO] [stdout]     |
[INFO] [stdout] 427 |         fn process_block_move_for_code(permutation_data: &PermutationsData, code: u32, i: usize, j: usize) ->
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `process_all_permutations`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:499:12
[INFO] [stdout]     |
[INFO] [stdout] 499 |     pub fn process_all_permutations(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_initial_distance_for_pure_permutations`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:580:8
[INFO] [stdout]     |
[INFO] [stdout] 580 |     fn set_initial_distance_for_pure_permutations(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_all_updates_for_block_movement_for_code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:581:12
[INFO] [stdout]     |
[INFO] [stdout] 581 |         fn get_all_updates_for_block_movement_for_code(size: usize, code: usize,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `update_pure_code_adjacent_to_reducible`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:620:12
[INFO] [stdout]     |
[INFO] [stdout] 620 |         fn update_pure_code_adjacent_to_reducible(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `process_pure_permutations`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:673:8
[INFO] [stdout]     |
[INFO] [stdout] 673 |     fn process_pure_permutations(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `process_all_permutations_time_optimized`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:717:12
[INFO] [stdout]     |
[INFO] [stdout] 717 |     pub fn process_all_permutations_time_optimized(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `generate_data_for_size_up_to`
[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: associated function is never used: `print`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn print(&self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_distance`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn set_distance(&mut self, code: usize, dist: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_end_mask_bit`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:113:8
[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: constant is never used: `RANGE`
[INFO] [stdout]   --> src/main.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | const RANGE: usize = 50000;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `PermutationsSortingByTranspositions` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout]   = help: convert the identifier to snake case: `permutations_sorting_by_transpositions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 129 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 15.35s
[INFO] running `Command { std: "docker" "inspect" "e1e2bbd733d5def2cf8a81b940d9b70b0592b403d271a1d1ce982ae9c0b56f04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1e2bbd733d5def2cf8a81b940d9b70b0592b403d271a1d1ce982ae9c0b56f04", kill_on_drop: false }`
[INFO] [stdout] e1e2bbd733d5def2cf8a81b940d9b70b0592b403d271a1d1ce982ae9c0b56f04
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] af0f268651528e77a9f24ba45ae7d249436446080c5fb9e832d9852837f900d7
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "af0f268651528e77a9f24ba45ae7d249436446080c5fb9e832d9852837f900d7", 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)]` 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]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[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]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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`, `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`, `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: 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]     = note: `#[warn(unused_variables)]` on by default
[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: 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] 
[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: 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: 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: `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: `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 `cur_duration` is never read
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut cur_duration = now.elapsed();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[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] 
[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: 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: 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: `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: `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: `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: 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: 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)]` 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: 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: 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: 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: 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: 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: function is never used: `print_3d_vector`
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `print_2d_vector`
[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: associated function is never used: `get_single_item_transposition_memo`
[INFO] [stdout]    --> src/permutation/adjacency_calculator.rs:265:12
[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 is never used: `get_code_shifting_item_to_new_position`
[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 is never used: `get_sum_factorials`
[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 is never used: `get_factorial`
[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 is never used: `UNDEFINED`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | const UNDEFINED: i64 = -2;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `PROCESSING`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     PROCESSING,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print_visited`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn print_visited(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn print(&self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `calculate`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 256 |     pub fn calculate(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update_distance_and_next_step_for_pure_permutations_optimized`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:329:8
[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] 
[INFO] [stdout] warning: associated function is never used: `process_permutation`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:389:12
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub fn process_permutation(&mut self, code: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `process_all_permutations`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:499:12
[INFO] [stdout]     |
[INFO] [stdout] 499 |     pub fn process_all_permutations(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_initial_distance_for_pure_permutations`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:580:8
[INFO] [stdout]     |
[INFO] [stdout] 580 |     fn set_initial_distance_for_pure_permutations(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_all_updates_for_block_movement_for_code`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:581:12
[INFO] [stdout]     |
[INFO] [stdout] 581 |         fn get_all_updates_for_block_movement_for_code(size: usize, code: usize,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `update_pure_code_adjacent_to_reducible`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator.rs:620:12
[INFO] [stdout]     |
[INFO] [stdout] 620 |         fn update_pure_code_adjacent_to_reducible(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print`
[INFO] [stdout]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn print(&self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_distance`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn set_distance(&mut self, code: usize, dist: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_end_mask_bit`
[INFO] [stdout]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:113:8
[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 is never constructed: `TestCase`
[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: crate `PermutationsSortingByTranspositions` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout]   = help: convert the identifier to snake case: `permutations_sorting_by_transpositions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::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: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 94 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 14.29s
[INFO] running `Command { std: "docker" "inspect" "af0f268651528e77a9f24ba45ae7d249436446080c5fb9e832d9852837f900d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af0f268651528e77a9f24ba45ae7d249436446080c5fb9e832d9852837f900d7", kill_on_drop: false }`
[INFO] [stdout] af0f268651528e77a9f24ba45ae7d249436446080c5fb9e832d9852837f900d7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 112bdf9d2b99432f01879060d8f017c0777d5c50a4ef93239950bc39d65382a8
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "112bdf9d2b99432f01879060d8f017c0777d5c50a4ef93239950bc39d65382a8", 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)]` 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]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[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]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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`, `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`, `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: 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]     = note: `#[warn(unused_variables)]` on by default
[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: 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] 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: 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: 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: `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: `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 `cur_duration` is never read
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:189:13
[INFO] [stderr]     |
[INFO] [stderr] 189 |         let mut cur_duration = now.elapsed();
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[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] 
[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: 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: 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: `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: `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: `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: 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: 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)]` 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: 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: 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: 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: 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: 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: function is never used: `print_3d_vector`
[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)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `print_2d_vector`
[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: associated function is never used: `get_single_item_transposition_memo`
[INFO] [stderr]    --> src/permutation/adjacency_calculator.rs:265:12
[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 is never used: `get_code_shifting_item_to_new_position`
[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 is never used: `get_sum_factorials`
[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 is never used: `get_factorial`
[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 is never used: `UNDEFINED`
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator.rs:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | const UNDEFINED: i64 = -2;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `PROCESSING`
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 |     PROCESSING,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `print_visited`
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator.rs:60:8
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn print_visited(&self) {}
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `print`
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn print(&self) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `calculate`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:256:12
[INFO] [stderr]     |
[INFO] [stderr] 256 |     pub fn calculate(&self) {}
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `update_distance_and_next_step_for_pure_permutations_optimized`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:329:8
[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] warning: associated function is never used: `process_permutation`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:389:12
[INFO] [stderr]     |
[INFO] [stderr] 389 |     pub fn process_permutation(&mut self, code: u32) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `process_all_permutations`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:499:12
[INFO] [stderr]     |
[INFO] [stderr] 499 |     pub fn process_all_permutations(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `set_initial_distance_for_pure_permutations`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:580:8
[INFO] [stderr]     |
[INFO] [stderr] 580 |     fn set_initial_distance_for_pure_permutations(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `get_all_updates_for_block_movement_for_code`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:581:12
[INFO] [stderr]     |
[INFO] [stderr] 581 |         fn get_all_updates_for_block_movement_for_code(size: usize, code: usize,
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `update_pure_code_adjacent_to_reducible`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator.rs:620:12
[INFO] [stderr]     |
[INFO] [stderr] 620 |         fn update_pure_code_adjacent_to_reducible(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `print`
[INFO] [stderr]   --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:60:8
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn print(&self) {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `set_distance`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:103:8
[INFO] [stderr]     |
[INFO] [stderr] 103 |     fn set_distance(&mut self, code: usize, dist: u8) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `set_end_mask_bit`
[INFO] [stderr]    --> src/permutation/distance_calculator/distance_calculator_mem_efficient.rs:113:8
[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 is never constructed: `TestCase`
[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: crate `PermutationsSortingByTranspositions` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr]   = help: convert the identifier to snake case: `permutations_sorting_by_transpositions`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::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: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: 94 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/PermutationsSortingByTranspositions-bdb94ee588a429a4
[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_running_sum_of_item_pos_factorial_for_all_codes_for_small ... ok
[INFO] [stdout] test permutation::adjacency_calculator::tests::test_get_mask_sum_of_bits_position_factorial ... ok
[INFO] [stdout] test permutation::adjacency_calculator::tests::test_get_delta_for_moving_item ... ok
[INFO] [stdout] test concurrency_test_double_rayon ... ok
[INFO] [stdout] test permutation::distance_calculator::distance_calculator::tests::test_init_permutations_data ... ok
[INFO] [stdout] test permutation::distance_calculator::distance_calculator::tests::find_smallest_reducible_code_sliding_block_beyond ... ok
[INFO] [stdout] test permutation::permutation_helper::test_reduce_permutation ... ok
[INFO] [stdout] test permutation::permutation_label::get_precompute_data ... ok
[INFO] [stdout] test concurrency_test_2 ... ok
[INFO] [stdout] test permutation::permutation_label::test_get_all_pure_lehmer_codes_of_size ... ok
[INFO] [stdout] test permutation::permutation_label::test_get_permutation_from_label ... ok
[INFO] [stdout] test permutation::permutation_label::test_factorial ... ok
[INFO] [stdout] test permutation::permutation_label::test_lehmer_from_permutation ... ok
[INFO] [stdout] test permutation::permutation_label::test_lehmer_code_generation ... ok
[INFO] [stdout] test permutation::permutations_generator::test_permutation_generation ... ok
[INFO] [stdout] test permutation::adjacency_calculator::tests::test_get_permutations_of_size_for_small ... ok
[INFO] [stdout] test permutation::distance_calculator::distance_calculator_mem_efficient::tests::mutex_test ... ok
[INFO] [stdout] test permutation::permutation_label::test_sum_factorial ... ok
[INFO] [stdout] test permutation::precompute::test_pre_compute ... 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::pure_permutations_generator::test_pure_permutation_tracker_upto_size ... 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::permutations_generator::test_permutations_list_generation ... ok
[INFO] [stdout] test permutation::adjacency_calculator::tests::test_adjacency_calculator_init ... ok
[INFO] [stdout] test non_concurrent_test ... ok
[INFO] [stdout] test permutation::distance_calculator::distance_calculator::tests::test_generate_data_5 ... ok
[INFO] [stderr] thread 'thread '<unnamed>' panicked at 'failed to set up alternative stack guard page', library/std/src/sys/unix/stack_overflow.rs:156:13
[INFO] [stderr] thread '<unnamed>thread '<unnamed>' panicked at 'failed to set up alternative stack guard page', library/std/src/sys/unix/stack_overflow.rs:156:13
[INFO] [stderr] thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13thread '
[INFO] [stderr] <unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13thread '
[INFO] [stderr] <unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rsthread ':<unnamed>152' panicked at ':failed to allocate an alternative stack13', 
[INFO] [stderr] library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread '<unnamed>' panicked at 'failed to allocate an alternative stack', thread 'library/std/src/sys/unix/stack_overflow.rs<unnamed>:' panicked at '152failed to allocate an alternative stack:', library/std/src/sys/unix/stack_overflow.rs13:
[INFO] [stderr] 152:13
[INFO] [stderr] thread '<unnamed>' panicked at 'thread 'failed to allocate an alternative stack<unnamed>', ' panicked at 'failed to allocate an alternative stacklibrary/std/src/sys/unix/stack_overflow.rs', :library/std/src/sys/unix/stack_overflow.rs152::15213:
[INFO] [stderr] 13
[INFO] [stderr] thread 'thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread 'thread 'thread 'thread 'thread '<unnamed><unnamed><unnamed><unnamed><unnamed>' panicked at '' panicked at '' panicked at '' panicked at '' panicked at 'thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread 'thread '<unnamed>' panicked at '<unnamed>failed to allocate an alternative stack' panicked at '', thread 'failed to allocate an alternative stacklibrary/std/src/sys/unix/stack_overflow.rs<unnamed>', :thread 'library/std/src/sys/unix/stack_overflow.rs152' panicked at '::failed to allocate an alternative stack<unnamed>15213', ' panicked at ':
[INFO] [stderr] failed to allocate an alternative stacklibrary/std/src/sys/unix/stack_overflow.rs13', :
[INFO] [stderr] library/std/src/sys/unix/stack_overflow.rs152::13152
[INFO] [stderr] :13
[INFO] [stderr] thread '<unnamed>thread '' panicked at '<unnamed>failed to allocate an alternative stack' panicked at '', failed to allocate an alternative stacklibrary/std/src/sys/unix/stack_overflow.rs', :library/std/src/sys/unix/stack_overflow.rs:152152::1313
[INFO] [stderr] 
[INFO] [stderr] <unnamed>thread 'thread '<unnamed><unnamed>' panicked at '' panicked at 'failed to allocate an alternative stackfailed to allocate an alternative stack', ', library/std/src/sys/unix/stack_overflow.rslibrary/std/src/sys/unix/stack_overflow.rs::152152::1313
[INFO] [stderr] 
[INFO] [stderr] failed to allocate an alternative stackthread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread '' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] ' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] ', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] failed to set up alternative stack guard page', library/std/src/sys/unix/stack_overflow.rs:156:13
[INFO] [stderr] <unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] <unnamed>' panicked at 'failed to set up alternative stack guard page', library/std/src/sys/unix/stack_overflow.rsthread ':156<unnamed>:thread 'thread 'thread '<unnamed><unnamed>' panicked at '' panicked at 'failed to allocate an alternative stackfailed to allocate an alternative stack', ', library/std/src/sys/unix/stack_overflow.rslibrary/std/src/sys/unix/stack_overflow.rs::152152::1313
[INFO] [stderr] 
[INFO] [stderr] thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread 'thread 'thread 'thread '<unnamed><unnamed>' panicked at '<unnamed><unnamed>' panicked at 'failed to allocate an alternative stack' panicked at '' panicked at 'failed to allocate an alternative stack', failed to allocate an alternative stack', failed to allocate an alternative stacklibrary/std/src/sys/unix/stack_overflow.rs', library/std/src/sys/unix/stack_overflow.rs', :library/std/src/sys/unix/stack_overflow.rslibrary/std/src/sys/unix/stack_overflow.rs:152:152:152:152' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] ::13:13thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152
[INFO] [stderr] 1313:
[INFO] [stderr] 13
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] thread 'thread 'thread 'thread 'thread 'thread 'thread 'thread 'thread 'thread 'thread 'thread '<unnamed><unnamed><unnamed><unnamed><unnamed><unnamed><unnamed><unnamed><unnamed><unnamed><unnamed><unnamed>' panicked at '' panicked at '' panicked at '' panicked at '' panicked at '' panicked at '' panicked at '' panicked at '' panicked at '' panicked at '' panicked at '' panicked at 'failed to allocate an alternative stackfailed to allocate an alternative stackfailed to allocate an alternative stackfailed to allocate an alternative stackfailed to allocate an alternative stackfailed to allocate an alternative stackfailed to allocate an alternative stackfailed to allocate an alternative stackfailed to allocate an alternative stackfailed to allocate an alternative stackfailed to allocate an alternative stack', ', ', 13
[INFO] [stderr] ', ', ', ', ', ', library/std/src/sys/unix/stack_overflow.rs', library/std/src/sys/unix/stack_overflow.rs', library/std/src/sys/unix/stack_overflow.rsfailed to allocate an alternative stacklibrary/std/src/sys/unix/stack_overflow.rslibrary/std/src/sys/unix/stack_overflow.rslibrary/std/src/sys/unix/stack_overflow.rs:library/std/src/sys/unix/stack_overflow.rslibrary/std/src/sys/unix/stack_overflow.rs:library/std/src/sys/unix/stack_overflow.rslibrary/std/src/sys/unix/stack_overflow.rs::', :152:152::152152152152::152::::library/std/src/sys/unix/stack_overflow.rs13::1313131313::
[INFO] [stderr] 152
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] 152
[INFO] [stderr] 152library/std/src/sys/unix/stack_overflow.rs::152:13:13
[INFO] [stderr] 13
[INFO] [stderr] :13152
[INFO] [stderr] 
[INFO] [stderr] 13
[INFO] [stderr] :
[INFO] [stderr] 13
[INFO] [stderr] <unnamed>thread 'thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] ' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152thread '<unnamed>' panicked at 'failed to allocate an alternative stack', thread 'library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] :13
[INFO] [stderr] <unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread '<unnamed>thread '<unnamed>' panicked at '' panicked at 'failed to allocate an alternative stackfailed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread '<unnamed>' panicked at 'failed to allocate an alternative stack', <unnamed>thread 'thread 'library/std/src/sys/unix/stack_overflow.rs', ' panicked at ':<unnamed>152library/std/src/sys/unix/stack_overflow.rsfailed to allocate an alternative stackthread '', :thread '<unnamed><unnamed>' panicked at 'library/std/src/sys/unix/stack_overflow.rs' panicked at 'failed to allocate an alternative stack', failed to allocate an alternative stacklibrary/std/src/sys/unix/stack_overflow.rs:', 152library/std/src/sys/unix/stack_overflow.rs:13:152
[INFO] [stderr] :13
[INFO] [stderr] 152::13
[INFO] [stderr] 152:13
[INFO] [stderr] thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[INFO] [stderr] thread '<unnamed>' panicked at 'failed to allocate an alternative stack', library/std/src/sys/unix/stack_overflow.rs:152:13
[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/deps/PermutationsSortingByTranspositions-bdb94ee588a429a4` (signal: 11, SIGSEGV: invalid memory reference)
[INFO] running `Command { std: "docker" "inspect" "112bdf9d2b99432f01879060d8f017c0777d5c50a4ef93239950bc39d65382a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "112bdf9d2b99432f01879060d8f017c0777d5c50a4ef93239950bc39d65382a8", kill_on_drop: false }`
[INFO] [stdout] 112bdf9d2b99432f01879060d8f017c0777d5c50a4ef93239950bc39d65382a8
