[INFO] cloning repository https://github.com/summerlightningman/phd_cand_algorithms [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/summerlightningman/phd_cand_algorithms" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsummerlightningman%2Fphd_cand_algorithms", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsummerlightningman%2Fphd_cand_algorithms'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d4ec2e25442bc3392280ab0d6dc8edb236d3fabd [INFO] checking summerlightningman/phd_cand_algorithms against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsummerlightningman%2Fphd_cand_algorithms" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/summerlightningman/phd_cand_algorithms on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/summerlightningman/phd_cand_algorithms [INFO] finished tweaking git repo https://github.com/summerlightningman/phd_cand_algorithms [INFO] tweaked toml for git repo https://github.com/summerlightningman/phd_cand_algorithms written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/summerlightningman/phd_cand_algorithms already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded getrandom v0.2.15 [INFO] [stderr] Downloaded rand v0.3.23 [INFO] [stderr] Downloaded eval v0.4.3 [INFO] [stderr] Downloaded lru v0.12.4 [INFO] [stderr] Downloaded zerocopy-derive v0.7.35 [INFO] [stderr] Downloaded serde_derive v1.0.204 [INFO] [stderr] Downloaded allocator-api2 v0.2.18 [INFO] [stderr] Downloaded aho-corasick v1.1.3 [INFO] [stderr] Downloaded serde v1.0.204 [INFO] [stderr] Downloaded ahash v0.8.11 [INFO] [stderr] Downloaded serde_json v1.0.122 [INFO] [stderr] Downloaded zerocopy v0.7.35 [INFO] [stderr] Downloaded regex v1.10.6 [INFO] [stderr] Downloaded syn v2.0.72 [INFO] [stderr] Downloaded regex-syntax v0.8.4 [INFO] [stderr] Downloaded regex-automata v0.4.7 [INFO] [stderr] Downloaded libc v0.2.155 [INFO] [stderr] Downloaded random_choice v0.3.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f30ca35c4bb25421c58ff34838dbf69259177f095c647cdc61819a0c29cfe492 [INFO] running `Command { std: "docker" "start" "-a" "f30ca35c4bb25421c58ff34838dbf69259177f095c647cdc61819a0c29cfe492", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f30ca35c4bb25421c58ff34838dbf69259177f095c647cdc61819a0c29cfe492", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f30ca35c4bb25421c58ff34838dbf69259177f095c647cdc61819a0c29cfe492", kill_on_drop: false }` [INFO] [stdout] f30ca35c4bb25421c58ff34838dbf69259177f095c647cdc61819a0c29cfe492 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d7b7fbcc92083910e20bb84a6263d02db34dabe2be890b5901c32b0a6c6fc0f8 [INFO] running `Command { std: "docker" "start" "-a" "d7b7fbcc92083910e20bb84a6263d02db34dabe2be890b5901c32b0a6c6fc0f8", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling serde_json v1.0.122 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking lru v0.12.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking random_choice v0.3.2 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking eval v0.4.3 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking phd_cand v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: methods `run` and `get_ant_distance` are never used [INFO] [stdout] --> src/algorithms/ant_colony/algorithm.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl AntColonyAlgorithm { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | fn run(&self) -> Result, &str> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn get_ant_distance(&self, ant: &Ant) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `run` and `get_ant_distance` are never used [INFO] [stdout] --> src/algorithms/ant_colony/algorithm.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl AntColonyAlgorithm { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | fn run(&self) -> Result, &str> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn get_ant_distance(&self, ant: &Ant) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::algorithms::bee_colony::research_methods` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::algorithms::bee_colony::research_methods; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutate` and `Select` [INFO] [stdout] --> src/main.rs:6:43 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::algorithms::genetic::methods::{Mutate, Select}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MutateFunc` and `SelectFunc` [INFO] [stdout] --> src/main.rs:7:41 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::algorithms::genetic::types::{MutateFunc, SelectFunc}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::problems::travelling_salesman::algorithms::bee_colony::builder::TSBeeColonyAlgorithmBuilder` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::problems::travelling_salesman::algorithms::bee_colony::builder::TSBeeColonyAlgorithmBuilder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::algorithms::bee_colony::research_methods` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::algorithms::bee_colony::research_methods; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::problems::travelling_salesman::algorithms::genetic::builder::TSGeneticAlgorithmBuilder` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::problems::travelling_salesman::algorithms::genetic::builder::TSGeneticAlgorithmBuilder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutate` and `Select` [INFO] [stdout] --> src/main.rs:6:43 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::algorithms::genetic::methods::{Mutate, Select}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MutateFunc` and `SelectFunc` [INFO] [stdout] --> src/main.rs:7:41 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::algorithms::genetic::types::{MutateFunc, SelectFunc}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::problems::travelling_salesman::algorithms::bee_colony::builder::TSBeeColonyAlgorithmBuilder` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::problems::travelling_salesman::algorithms::bee_colony::builder::TSBeeColonyAlgorithmBuilder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::problems::travelling_salesman::algorithms::genetic::builder::TSGeneticAlgorithmBuilder` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::problems::travelling_salesman::algorithms::genetic::builder::TSGeneticAlgorithmBuilder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `run`, `get_ant_visibility`, `get_ant_preferences`, `get_probabilities_list`, and `get_ant_distance` are never used [INFO] [stdout] --> src/algorithms/ant_colony/algorithm.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl AntColonyAlgorithm { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn run(&self) -> Result, &str> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | fn get_ant_visibility(&self, ant: &Ant, city: &City) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn get_ant_preferences(&self, ant: &Ant, pheromone_matrix: &mut PheromoneMatrix) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn get_probabilities_list(&self, ant: &Ant, pheromone_matrix: &mut PheromoneMatrix) -> Result, &str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn get_ant_distance(&self, ant: &Ant) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BeeColonyAlgorithm` is never constructed [INFO] [stdout] --> src/algorithms/bee_colony/algorithm.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct BeeColonyAlgorithm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `run`, `generate_bee`, `get_source_probabilities`, and `select_onlooker_by_probabilities` are never used [INFO] [stdout] --> src/algorithms/bee_colony/algorithm.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl BeeColonyAlgorithm { [INFO] [stdout] | -------------------------------------------- methods in this implementation [INFO] [stdout] 22 | pub fn run(&self) -> Result>, &str> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | fn generate_bee(&self) -> Bee { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | fn get_source_probabilities(&self, onlookers: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn select_onlooker_by_probabilities<'a>(&self, onlookers: &'a Vec>, probabilities: &Vec) -> &'a Bee { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `FoodSource` is never used [INFO] [stdout] --> src/algorithms/bee_colony/types.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | pub type FoodSource = Vec; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `GenerateFuncRaw` is never used [INFO] [stdout] --> src/algorithms/bee_colony/types.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type GenerateFuncRaw = Box FoodSource>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResearchFunction` is never constructed [INFO] [stdout] --> src/algorithms/bee_colony/types.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct ResearchFunction(pub(crate) Box, &mut ThreadRng) -> Vec>); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ResearchFuncRaw` is never used [INFO] [stdout] --> src/algorithms/bee_colony/types.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub type ResearchFuncRaw = Box, &mut ThreadRng) -> FoodSource>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `swap_indexes` is never used [INFO] [stdout] --> src/algorithms/bee_colony/research_methods.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn swap_indexes(offset: Option) -> ResearchFunction { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reverse_elements` is never used [INFO] [stdout] --> src/algorithms/bee_colony/research_methods.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn reverse_elements(offset: Option) -> ResearchFunction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Purpose` is never used [INFO] [stdout] --> src/algorithms/types.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Purpose { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Purpose` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Fitness` is never used [INFO] [stdout] --> src/algorithms/types.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub type Fitness = Option; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `FitnessRaw` is never used [INFO] [stdout] --> src/algorithms/types.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub type FitnessRaw = Option; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `FitnessFuncRaw` is never used [INFO] [stdout] --> src/algorithms/types.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub type FitnessFuncRaw = Box) -> FitnessRaw>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `FitnessFuncs` is never used [INFO] [stdout] --> src/algorithms/types.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub type FitnessFuncs = Vec>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Population` is never used [INFO] [stdout] --> src/algorithms/types.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub type Population = Vec>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GeneticAlgorithm` is never constructed [INFO] [stdout] --> src/algorithms/genetic/algorithm.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct GeneticAlgorithm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/algorithms/genetic/algorithm.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl GeneticAlgorithm { [INFO] [stdout] | ------------------------------------------------------------------ method in this implementation [INFO] [stdout] 25 | pub fn run(&self) -> Result, &str> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Population` is never used [INFO] [stdout] --> src/algorithms/genetic/types.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type Population = Vec>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CrossoverFunc` is never constructed [INFO] [stdout] --> src/algorithms/genetic/types.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct CrossoverFunc(pub Box, &Individual, &mut ThreadRng) -> (Vec, Vec)>); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenerateFunc` is never constructed [INFO] [stdout] --> src/algorithms/genetic/types.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct GenerateFunc(pub Box Vec>); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MutateFunc` is never constructed [INFO] [stdout] --> src/algorithms/genetic/types.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct MutateFunc(pub Box, &mut ThreadRng) -> Vec>); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SelectFunc` is never constructed [INFO] [stdout] --> src/algorithms/genetic/types.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SelectFunc(pub Box, &Purpose, &mut ThreadRng) -> Population>); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Crossover` is never constructed [INFO] [stdout] --> src/algorithms/genetic/methods.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Crossover; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Select` is never constructed [INFO] [stdout] --> src/algorithms/genetic/methods.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Select; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mutate` is never constructed [INFO] [stdout] --> src/algorithms/genetic/methods.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Mutate; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `one_point`, `two_points`, and `ordered` are never used [INFO] [stdout] --> src/algorithms/genetic/methods.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Crossover { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 15 | pub fn one_point(point_idx: Option) -> CrossoverFunc { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn two_points(points_range: (Option, Option)) -> CrossoverFunc { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn ordered() -> CrossoverFunc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `swap_indexes` and `reverse_elements` are never used [INFO] [stdout] --> src/algorithms/genetic/methods.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 94 | impl Mutate { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 95 | pub fn swap_indexes(offset: Option) -> MutateFunc { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn reverse_elements(offset: Option) -> MutateFunc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RATE_DEFAULT` is never used [INFO] [stdout] --> src/algorithms/genetic/methods.rs:112:7 [INFO] [stdout] | [INFO] [stdout] 112 | const RATE_DEFAULT: f32 = 0.7; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `roulette`, `stochastic`, `tournament`, and `best_n` are never used [INFO] [stdout] --> src/algorithms/genetic/methods.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Select { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 114 | pub fn roulette(rate: Option) -> SelectFunc { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn stochastic(rate: Option) -> SelectFunc { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn tournament(size: usize, rate: Option) -> SelectFunc { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn best_n(rate: Option)-> SelectFunc { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_two_points` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn generate_two_points(offset_: Option, seq_length: usize, rng: &mut ThreadRng) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_two_points_or_generate` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn process_two_points_or_generate(seq_length: usize, points: (Option, Option), rng: &mut ThreadRng) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_count_by_rate` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn get_count_by_rate(population_len: usize, rate: f32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `weighted_random_sampling` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn weighted_random_sampling(items: &Vec, weights: Vec, k: usize, rng: &mut ThreadRng) -> Result, &'s... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fitnesses_min_diff` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn fitnesses_min_diff(population: &Population, fitness_funcs: &FitnessFuncs) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_fitnesses` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn calculate_fitnesses(population: &mut Population, fitness_funcs: &FitnessFuncs) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_by_fitness` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn compare_by_fitness(purpose: &Purpose) -> impl Fn(&Individual, &Individual) -> Ordering + '_ { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Individual` is never constructed [INFO] [stdout] --> src/algorithms/individual.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Individual { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Individual` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_fitnesses` is never used [INFO] [stdout] --> src/algorithms/individual.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Individual { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 11 | pub fn with_fitnesses(value: Vec, fitness_funcs: &FitnessFuncs) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `RuleStr` is never used [INFO] [stdout] --> src/problems/travelling_salesman/types.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type RuleStr = String; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TSGeneticAlgorithm` is never constructed [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/genetic/algorithm.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TSGeneticAlgorithm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/genetic/algorithm.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl TSGeneticAlgorithm { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 11 | pub fn run(&self) -> Result, &'static str> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TSGeneticAlgorithmBuilder` is never constructed [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/genetic/builder.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct TSGeneticAlgorithmBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/genetic/builder.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl TSGeneticAlgorithmBuilder { [INFO] [stdout] | ------------------------------ associated items in this implementation [INFO] [stdout] 26 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn iters_count(mut self, iters_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn actors_count(mut self, actors_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn solutions_count(mut self, solutions_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn time_matrix(mut self, time_matrix: TimeMatrix) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn p_mutation(mut self, p_mutation: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn rules(mut self, rules: Vec) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn build(self) -> TSGeneticAlgorithm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TSBeeColonyAlgorithm` is never constructed [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/bee_colony/algorithm.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TSBeeColonyAlgorithm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/bee_colony/algorithm.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl TSBeeColonyAlgorithm { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] 11 | pub fn run(&self) -> Result, &'static str> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TSBeeColonyAlgorithmBuilder` is never constructed [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/bee_colony/builder.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct TSBeeColonyAlgorithmBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/bee_colony/builder.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl TSBeeColonyAlgorithmBuilder { [INFO] [stdout] | -------------------------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn iters_count(mut self, iters_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn actors_count(mut self, actors_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn solutions_count(mut self, solutions_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn workers_part(mut self, workers_part: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn rules(mut self, rules: Vec) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn time_matrix(mut self, time_matrix: TimeMatrix) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn build(self) -> TSBeeColonyAlgorithm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/ant_colony/builder.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl TSAntColonyAlgorithmBuilder { [INFO] [stdout] | -------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn actors_count(mut self, actors_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn iters_count(mut self, iters_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn solutions_count(mut self, solutions_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn p(mut self, p: f64) -> Self { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn q(mut self, q: f64) -> Self { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn alpha(mut self, alpha: f64) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn beta(mut self, beta: f64) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn rules(mut self, rules: Vec) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_distance_with_rules` is never used [INFO] [stdout] --> src/problems/travelling_salesman/helpers.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn calculate_distance_with_rules(matrix: Matrix, rules: Vec) -> FitnessFuncRaw { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `time_fitness` is never used [INFO] [stdout] --> src/problems/travelling_salesman/helpers.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn time_fitness(time_matrix: TimeMatrix) -> FitnessFuncRaw { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_solutions` is never used [INFO] [stdout] --> src/problems/travelling_salesman/helpers.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn make_solutions(population: Population, solutions_count: usize, fitness_funcs: &FitnessFuncs) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Range` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | enum Range { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_range` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn parse_range(s: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `index_cb` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn index_cb(city: City) -> impl Fn(&City) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `follows` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn follows(city_a: City, city_b: City, cities: &Vec) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `in_order` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn in_order(city: City, order: usize, cities: &Vec) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_distance_in_range` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn is_distance_in_range(range: RangeInclusive, distance_raw: String, cities: &Vec, matrix: &Matrix) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_time_in_range` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn is_time_in_range(range: RangeInclusive, time_raw: String, cities: &Vec, time_matrix: &TimeMatrix) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `on_distance` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:100:4 [INFO] [stdout] | [INFO] [stdout] 100 | fn on_distance(city: City, distance_raw: String, cities: &Vec, matrix: &Matrix) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `on_distance_from_city` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn on_distance_from_city(city_to: City, city_from: City, distance_raw: String, cities: &Vec, matrix: &Matrix) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `on_time` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn on_time(city: City, time_raw: String, cities: &Vec, time_matrix: &TimeMatrix) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `on_time_from_city` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn on_time_from_city(city_to: City, city_from: City, time_raw: String, cities: &Vec, time_matrix: &TimeMatrix) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_rule` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn parse_rule(s: RuleStr, matrix: Matrix, time_matrix: Option) -> RuleFn { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `run`, `get_ant_visibility`, `get_ant_preferences`, `get_probabilities_list`, and `get_ant_distance` are never used [INFO] [stdout] --> src/algorithms/ant_colony/algorithm.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl AntColonyAlgorithm { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn run(&self) -> Result, &str> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | fn get_ant_visibility(&self, ant: &Ant, city: &City) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn get_ant_preferences(&self, ant: &Ant, pheromone_matrix: &mut PheromoneMatrix) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn get_probabilities_list(&self, ant: &Ant, pheromone_matrix: &mut PheromoneMatrix) -> Result, &str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn get_ant_distance(&self, ant: &Ant) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BeeColonyAlgorithm` is never constructed [INFO] [stdout] --> src/algorithms/bee_colony/algorithm.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct BeeColonyAlgorithm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `run`, `generate_bee`, `get_source_probabilities`, and `select_onlooker_by_probabilities` are never used [INFO] [stdout] --> src/algorithms/bee_colony/algorithm.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl BeeColonyAlgorithm { [INFO] [stdout] | -------------------------------------------- methods in this implementation [INFO] [stdout] 22 | pub fn run(&self) -> Result>, &str> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | fn generate_bee(&self) -> Bee { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | fn get_source_probabilities(&self, onlookers: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn select_onlooker_by_probabilities<'a>(&self, onlookers: &'a Vec>, probabilities: &Vec) -> &'a Bee { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `FoodSource` is never used [INFO] [stdout] --> src/algorithms/bee_colony/types.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | pub type FoodSource = Vec; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 68 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `GenerateFuncRaw` is never used [INFO] [stdout] --> src/algorithms/bee_colony/types.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type GenerateFuncRaw = Box FoodSource>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResearchFunction` is never constructed [INFO] [stdout] --> src/algorithms/bee_colony/types.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct ResearchFunction(pub(crate) Box, &mut ThreadRng) -> Vec>); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ResearchFuncRaw` is never used [INFO] [stdout] --> src/algorithms/bee_colony/types.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub type ResearchFuncRaw = Box, &mut ThreadRng) -> FoodSource>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `swap_indexes` is never used [INFO] [stdout] --> src/algorithms/bee_colony/research_methods.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn swap_indexes(offset: Option) -> ResearchFunction { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reverse_elements` is never used [INFO] [stdout] --> src/algorithms/bee_colony/research_methods.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn reverse_elements(offset: Option) -> ResearchFunction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Purpose` is never used [INFO] [stdout] --> src/algorithms/types.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Purpose { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Purpose` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Fitness` is never used [INFO] [stdout] --> src/algorithms/types.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub type Fitness = Option; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `FitnessRaw` is never used [INFO] [stdout] --> src/algorithms/types.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub type FitnessRaw = Option; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `FitnessFuncRaw` is never used [INFO] [stdout] --> src/algorithms/types.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub type FitnessFuncRaw = Box) -> FitnessRaw>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `FitnessFuncs` is never used [INFO] [stdout] --> src/algorithms/types.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub type FitnessFuncs = Vec>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Population` is never used [INFO] [stdout] --> src/algorithms/types.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub type Population = Vec>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GeneticAlgorithm` is never constructed [INFO] [stdout] --> src/algorithms/genetic/algorithm.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct GeneticAlgorithm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/algorithms/genetic/algorithm.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl GeneticAlgorithm { [INFO] [stdout] | ------------------------------------------------------------------ method in this implementation [INFO] [stdout] 25 | pub fn run(&self) -> Result, &str> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Population` is never used [INFO] [stdout] --> src/algorithms/genetic/types.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type Population = Vec>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CrossoverFunc` is never constructed [INFO] [stdout] --> src/algorithms/genetic/types.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct CrossoverFunc(pub Box, &Individual, &mut ThreadRng) -> (Vec, Vec)>); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenerateFunc` is never constructed [INFO] [stdout] --> src/algorithms/genetic/types.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct GenerateFunc(pub Box Vec>); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MutateFunc` is never constructed [INFO] [stdout] --> src/algorithms/genetic/types.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct MutateFunc(pub Box, &mut ThreadRng) -> Vec>); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SelectFunc` is never constructed [INFO] [stdout] --> src/algorithms/genetic/types.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SelectFunc(pub Box, &Purpose, &mut ThreadRng) -> Population>); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Crossover` is never constructed [INFO] [stdout] --> src/algorithms/genetic/methods.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Crossover; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Select` is never constructed [INFO] [stdout] --> src/algorithms/genetic/methods.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Select; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mutate` is never constructed [INFO] [stdout] --> src/algorithms/genetic/methods.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Mutate; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `one_point`, `two_points`, and `ordered` are never used [INFO] [stdout] --> src/algorithms/genetic/methods.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Crossover { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 15 | pub fn one_point(point_idx: Option) -> CrossoverFunc { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn two_points(points_range: (Option, Option)) -> CrossoverFunc { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn ordered() -> CrossoverFunc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `swap_indexes` and `reverse_elements` are never used [INFO] [stdout] --> src/algorithms/genetic/methods.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 94 | impl Mutate { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 95 | pub fn swap_indexes(offset: Option) -> MutateFunc { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn reverse_elements(offset: Option) -> MutateFunc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RATE_DEFAULT` is never used [INFO] [stdout] --> src/algorithms/genetic/methods.rs:112:7 [INFO] [stdout] | [INFO] [stdout] 112 | const RATE_DEFAULT: f32 = 0.7; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `roulette`, `stochastic`, `tournament`, and `best_n` are never used [INFO] [stdout] --> src/algorithms/genetic/methods.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Select { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 114 | pub fn roulette(rate: Option) -> SelectFunc { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn stochastic(rate: Option) -> SelectFunc { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn tournament(size: usize, rate: Option) -> SelectFunc { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn best_n(rate: Option)-> SelectFunc { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_two_points` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn generate_two_points(offset_: Option, seq_length: usize, rng: &mut ThreadRng) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_two_points_or_generate` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn process_two_points_or_generate(seq_length: usize, points: (Option, Option), rng: &mut ThreadRng) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_count_by_rate` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn get_count_by_rate(population_len: usize, rate: f32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `weighted_random_sampling` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn weighted_random_sampling(items: &Vec, weights: Vec, k: usize, rng: &mut ThreadRng) -> Result, &'s... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fitnesses_min_diff` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn fitnesses_min_diff(population: &Population, fitness_funcs: &FitnessFuncs) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_fitnesses` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn calculate_fitnesses(population: &mut Population, fitness_funcs: &FitnessFuncs) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_by_fitness` is never used [INFO] [stdout] --> src/algorithms/helpers.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn compare_by_fitness(purpose: &Purpose) -> impl Fn(&Individual, &Individual) -> Ordering + '_ { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Individual` is never constructed [INFO] [stdout] --> src/algorithms/individual.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Individual { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Individual` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_fitnesses` is never used [INFO] [stdout] --> src/algorithms/individual.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Individual { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 11 | pub fn with_fitnesses(value: Vec, fitness_funcs: &FitnessFuncs) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `RuleStr` is never used [INFO] [stdout] --> src/problems/travelling_salesman/types.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type RuleStr = String; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TSGeneticAlgorithm` is never constructed [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/genetic/algorithm.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TSGeneticAlgorithm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/genetic/algorithm.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl TSGeneticAlgorithm { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 11 | pub fn run(&self) -> Result, &'static str> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TSGeneticAlgorithmBuilder` is never constructed [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/genetic/builder.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct TSGeneticAlgorithmBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/genetic/builder.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl TSGeneticAlgorithmBuilder { [INFO] [stdout] | ------------------------------ associated items in this implementation [INFO] [stdout] 26 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn iters_count(mut self, iters_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn actors_count(mut self, actors_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn solutions_count(mut self, solutions_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn time_matrix(mut self, time_matrix: TimeMatrix) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn p_mutation(mut self, p_mutation: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn rules(mut self, rules: Vec) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn build(self) -> TSGeneticAlgorithm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TSBeeColonyAlgorithm` is never constructed [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/bee_colony/algorithm.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TSBeeColonyAlgorithm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/bee_colony/algorithm.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl TSBeeColonyAlgorithm { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] 11 | pub fn run(&self) -> Result, &'static str> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TSBeeColonyAlgorithmBuilder` is never constructed [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/bee_colony/builder.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct TSBeeColonyAlgorithmBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/bee_colony/builder.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl TSBeeColonyAlgorithmBuilder { [INFO] [stdout] | -------------------------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn iters_count(mut self, iters_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn actors_count(mut self, actors_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn solutions_count(mut self, solutions_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn workers_part(mut self, workers_part: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn rules(mut self, rules: Vec) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn time_matrix(mut self, time_matrix: TimeMatrix) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn build(self) -> TSBeeColonyAlgorithm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/ant_colony/builder.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl TSAntColonyAlgorithmBuilder { [INFO] [stdout] | -------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn actors_count(mut self, actors_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn iters_count(mut self, iters_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn solutions_count(mut self, solutions_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn p(mut self, p: f64) -> Self { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn q(mut self, q: f64) -> Self { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn alpha(mut self, alpha: f64) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn beta(mut self, beta: f64) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn rules(mut self, rules: Vec) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_distance_with_rules` is never used [INFO] [stdout] --> src/problems/travelling_salesman/helpers.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn calculate_distance_with_rules(matrix: Matrix, rules: Vec) -> FitnessFuncRaw { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `time_fitness` is never used [INFO] [stdout] --> src/problems/travelling_salesman/helpers.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn time_fitness(time_matrix: TimeMatrix) -> FitnessFuncRaw { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_solutions` is never used [INFO] [stdout] --> src/problems/travelling_salesman/helpers.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn make_solutions(population: Population, solutions_count: usize, fitness_funcs: &FitnessFuncs) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Range` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | enum Range { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_range` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn parse_range(s: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `index_cb` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn index_cb(city: City) -> impl Fn(&City) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `follows` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn follows(city_a: City, city_b: City, cities: &Vec) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `in_order` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn in_order(city: City, order: usize, cities: &Vec) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_distance_in_range` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn is_distance_in_range(range: RangeInclusive, distance_raw: String, cities: &Vec, matrix: &Matrix) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_time_in_range` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn is_time_in_range(range: RangeInclusive, time_raw: String, cities: &Vec, time_matrix: &TimeMatrix) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `on_distance` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:100:4 [INFO] [stdout] | [INFO] [stdout] 100 | fn on_distance(city: City, distance_raw: String, cities: &Vec, matrix: &Matrix) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `on_distance_from_city` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn on_distance_from_city(city_to: City, city_from: City, distance_raw: String, cities: &Vec, matrix: &Matrix) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `on_time` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn on_time(city: City, time_raw: String, cities: &Vec, time_matrix: &TimeMatrix) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `on_time_from_city` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn on_time_from_city(city_to: City, city_from: City, time_raw: String, cities: &Vec, time_matrix: &TimeMatrix) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_rule` is never used [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn parse_rule(s: RuleStr, matrix: Matrix, time_matrix: Option) -> RuleFn { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 68 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.24s [INFO] running `Command { std: "docker" "inspect" "d7b7fbcc92083910e20bb84a6263d02db34dabe2be890b5901c32b0a6c6fc0f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d7b7fbcc92083910e20bb84a6263d02db34dabe2be890b5901c32b0a6c6fc0f8", kill_on_drop: false }` [INFO] [stdout] d7b7fbcc92083910e20bb84a6263d02db34dabe2be890b5901c32b0a6c6fc0f8 [INFO] checking summerlightningman/phd_cand_algorithms against try#f9935d29d867449445ee008640ccca1bf1ae0889+rustflags=-Dtail_expr_drop_order for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsummerlightningman%2Fphd_cand_algorithms" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/summerlightningman/phd_cand_algorithms on toolchain f9935d29d867449445ee008640ccca1bf1ae0889 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/summerlightningman/phd_cand_algorithms [INFO] finished tweaking git repo https://github.com/summerlightningman/phd_cand_algorithms [INFO] tweaked toml for git repo https://github.com/summerlightningman/phd_cand_algorithms written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/summerlightningman/phd_cand_algorithms already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e1e6fa190e962044e9ed7420bc05b970febbf5355a9e62bc100ca3de3328f2d8 [INFO] running `Command { std: "docker" "start" "-a" "e1e6fa190e962044e9ed7420bc05b970febbf5355a9e62bc100ca3de3328f2d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e1e6fa190e962044e9ed7420bc05b970febbf5355a9e62bc100ca3de3328f2d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e1e6fa190e962044e9ed7420bc05b970febbf5355a9e62bc100ca3de3328f2d8", kill_on_drop: false }` [INFO] [stdout] e1e6fa190e962044e9ed7420bc05b970febbf5355a9e62bc100ca3de3328f2d8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8368d1c99d3ca928871a02045670204c30f207616a115f65112d3509c6cebfaf [INFO] running `Command { std: "docker" "start" "-a" "8368d1c99d3ca928871a02045670204c30f207616a115f65112d3509c6cebfaf", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Compiling serde_json v1.0.122 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking lru v0.12.4 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking random_choice v0.3.2 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking eval v0.4.3 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking phd_cand v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: methods `run` and `get_ant_distance` are never used [INFO] [stdout] --> src/algorithms/ant_colony/algorithm.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl AntColonyAlgorithm { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | fn run(&self) -> Result, &str> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn get_ant_distance(&self, ant: &Ant) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/algorithms/genetic/methods.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 56 | let mut child_a_value = vec![None; point_left]; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 60 | let mut child_b_value = vec![None; point_left]; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 86 | child_a_value.into_iter().filter_map(|i| Some(i).unwrap()).collect(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/algorithms/genetic/methods.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 56 | let mut child_a_value = vec![None; point_left]; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 60 | let mut child_b_value = vec![None; point_left]; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 87 | child_b_value.into_iter().filter_map(|i| Some(i.unwrap())).collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/algorithms/genetic/methods.rs:86:54 [INFO] [stdout] | [INFO] [stdout] 86 | child_a_value.into_iter().filter_map(|i| Some(i).unwrap()).collect(), [INFO] [stdout] | - ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/algorithms/genetic/methods.rs:87:59 [INFO] [stdout] | [INFO] [stdout] 87 | child_b_value.into_iter().filter_map(|i| Some(i.unwrap())).collect() [INFO] [stdout] | - ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/algorithms/genetic/methods.rs:131:19 [INFO] [stdout] | [INFO] [stdout] 115 | SelectFunc(Box::new(move |population: Population, purpose: &Purpose, rng: &mut ThreadRng| { [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 131 | match helpers::weighted_random_sampling(&population, probabilities, count, rng) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/algorithms/genetic/methods.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 139 | SelectFunc(Box::new(move |population: Population, _: &Purpose, rng: &mut ThreadRng| { [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 140 | let count = helpers::get_count_by_rate::(population.len(), rate.unwrap_or(RATE_DEFAULT)); [INFO] [stdout] 141 | population.into_iter().choose_multiple(rng, count) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/genetic/builder.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 28 | mutate_func: MutateFunc, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | select_func: SelectFunc, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 39 | rules: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/genetic/builder.rs:103:19 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn build(self) -> TSGeneticAlgorithm { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 88 | let mut fitness_funcs = vec![ [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 96 | let generate_func: GenerateFunc = GenerateFunc(Box::new(move |rng: &mut ThreadRng| { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 103 | algo: GeneticAlgorithm { [INFO] [stdout] | ___________________^ [INFO] [stdout] 104 | | fitness_funcs, [INFO] [stdout] 105 | | generate_func, [INFO] [stdout] 106 | | purpose: Purpose::Min, [INFO] [stdout] ... | [INFO] [stdout] 113 | | select_func: self.select_func, [INFO] [stdout] 114 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/bee_colony/builder.rs:101:19 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn build(self) -> TSBeeColonyAlgorithm { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 85 | let mut fitness_funcs = vec![ [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 93 | let generate_func: GenerateFuncRaw = Box::new(move || { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 101 | algo: BeeColonyAlgorithm { [INFO] [stdout] | ___________________^ [INFO] [stdout] 102 | | actors_count: self.actors_count, [INFO] [stdout] 103 | | iters_count: self.iters_count, [INFO] [stdout] 104 | | solutions_count: self.solutions_count, [INFO] [stdout] ... | [INFO] [stdout] 109 | | generate_func: Box::new(generate_func), [INFO] [stdout] 110 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/problems/travelling_salesman/helpers.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn calculate_distance_with_rules(matrix: Matrix, rules: Vec) -> FitnessFuncRaw { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 36 | Box::new(move |cities: &Vec| { [INFO] [stdout] | ______________^ [INFO] [stdout] 37 | | let penalty = if rules.is_empty() { [INFO] [stdout] 38 | | 0. [INFO] [stdout] 39 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 50 | | Some(calculate_distance(&matrix, &cities) + penalty) [INFO] [stdout] 51 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:152:14 [INFO] [stdout] | [INFO] [stdout] 138 | let whitespaces_pattern = Regex::new(r"\s{2,}").unwrap(); [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 141 | let operators_pattern = Regex::new(r"\s+(и|или)\s+").unwrap(); [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 142 | let follows_re = Regex::new(r"(\w+)\s+следует за\s+(\w+)").unwrap(); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 143 | let in_order_re = Regex::new(r"(\w+)\s+по порядку\s+(\d+)").unwrap(); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 144 | let on_distance_re = Regex::new(r"(\w+)\s+на дистанции\s+(\d+|\[.*?\])").unwrap(); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 145 | let on_distance_from_city_re = Regex::new(r"(\w+)\s+на дистанции от\s+(\w+)\s+(\d+|\[.*?\])").unwrap(); [INFO] [stdout] | ------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 146 | let on_time_re = Regex::new(r"(\w+)\s+на времени\s+(\d+|\[.*?\])").unwrap(); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 147 | let on_time_from_city_re = Regex::new(r"(\w+)\s+на времени от\s+(\w+)\s+(\d+|\[.*?\])").unwrap(); [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 152 | Box::new(move |cities: &Vec| -> Option { [INFO] [stdout] | ______________^ [INFO] [stdout] 153 | | let binding = s_cloned.replace(" и ", " && ").replace(" или ", " || "); [INFO] [stdout] 154 | | let mut splitted = binding.split(":"); [INFO] [stdout] 155 | | let mut condition = splitted.next().unwrap().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 211 | | } [INFO] [stdout] 212 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 11 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `run` and `get_ant_distance` are never used [INFO] [stdout] --> src/algorithms/ant_colony/algorithm.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl AntColonyAlgorithm { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | fn run(&self) -> Result, &str> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn get_ant_distance(&self, ant: &Ant) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `phd_cand` (lib test) due to 12 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/algorithms/genetic/methods.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 56 | let mut child_a_value = vec![None; point_left]; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 60 | let mut child_b_value = vec![None; point_left]; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 86 | child_a_value.into_iter().filter_map(|i| Some(i).unwrap()).collect(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/algorithms/genetic/methods.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 56 | let mut child_a_value = vec![None; point_left]; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 60 | let mut child_b_value = vec![None; point_left]; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 87 | child_b_value.into_iter().filter_map(|i| Some(i.unwrap())).collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/algorithms/genetic/methods.rs:86:54 [INFO] [stdout] | [INFO] [stdout] 86 | child_a_value.into_iter().filter_map(|i| Some(i).unwrap()).collect(), [INFO] [stdout] | - ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/algorithms/genetic/methods.rs:87:59 [INFO] [stdout] | [INFO] [stdout] 87 | child_b_value.into_iter().filter_map(|i| Some(i.unwrap())).collect() [INFO] [stdout] | - ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/algorithms/genetic/methods.rs:131:19 [INFO] [stdout] | [INFO] [stdout] 115 | SelectFunc(Box::new(move |population: Population, purpose: &Purpose, rng: &mut ThreadRng| { [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 131 | match helpers::weighted_random_sampling(&population, probabilities, count, rng) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/algorithms/genetic/methods.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 139 | SelectFunc(Box::new(move |population: Population, _: &Purpose, rng: &mut ThreadRng| { [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 140 | let count = helpers::get_count_by_rate::(population.len(), rate.unwrap_or(RATE_DEFAULT)); [INFO] [stdout] 141 | population.into_iter().choose_multiple(rng, count) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/genetic/builder.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 28 | mutate_func: MutateFunc, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | select_func: SelectFunc, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 39 | rules: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/genetic/builder.rs:103:19 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn build(self) -> TSGeneticAlgorithm { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 88 | let mut fitness_funcs = vec![ [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 96 | let generate_func: GenerateFunc = GenerateFunc(Box::new(move |rng: &mut ThreadRng| { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 103 | algo: GeneticAlgorithm { [INFO] [stdout] | ___________________^ [INFO] [stdout] 104 | | fitness_funcs, [INFO] [stdout] 105 | | generate_func, [INFO] [stdout] 106 | | purpose: Purpose::Min, [INFO] [stdout] ... | [INFO] [stdout] 113 | | select_func: self.select_func, [INFO] [stdout] 114 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/problems/travelling_salesman/algorithms/bee_colony/builder.rs:101:19 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn build(self) -> TSBeeColonyAlgorithm { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 85 | let mut fitness_funcs = vec![ [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 93 | let generate_func: GenerateFuncRaw = Box::new(move || { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 101 | algo: BeeColonyAlgorithm { [INFO] [stdout] | ___________________^ [INFO] [stdout] 102 | | actors_count: self.actors_count, [INFO] [stdout] 103 | | iters_count: self.iters_count, [INFO] [stdout] 104 | | solutions_count: self.solutions_count, [INFO] [stdout] ... | [INFO] [stdout] 109 | | generate_func: Box::new(generate_func), [INFO] [stdout] 110 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/problems/travelling_salesman/helpers.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn calculate_distance_with_rules(matrix: Matrix, rules: Vec) -> FitnessFuncRaw { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 36 | Box::new(move |cities: &Vec| { [INFO] [stdout] | ______________^ [INFO] [stdout] 37 | | let penalty = if rules.is_empty() { [INFO] [stdout] 38 | | 0. [INFO] [stdout] 39 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 50 | | Some(calculate_distance(&matrix, &cities) + penalty) [INFO] [stdout] 51 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/problems/travelling_salesman/rules.rs:152:14 [INFO] [stdout] | [INFO] [stdout] 138 | let whitespaces_pattern = Regex::new(r"\s{2,}").unwrap(); [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 141 | let operators_pattern = Regex::new(r"\s+(и|или)\s+").unwrap(); [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 142 | let follows_re = Regex::new(r"(\w+)\s+следует за\s+(\w+)").unwrap(); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 143 | let in_order_re = Regex::new(r"(\w+)\s+по порядку\s+(\d+)").unwrap(); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 144 | let on_distance_re = Regex::new(r"(\w+)\s+на дистанции\s+(\d+|\[.*?\])").unwrap(); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 145 | let on_distance_from_city_re = Regex::new(r"(\w+)\s+на дистанции от\s+(\w+)\s+(\d+|\[.*?\])").unwrap(); [INFO] [stdout] | ------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 146 | let on_time_re = Regex::new(r"(\w+)\s+на времени\s+(\d+|\[.*?\])").unwrap(); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 147 | let on_time_from_city_re = Regex::new(r"(\w+)\s+на времени от\s+(\w+)\s+(\d+|\[.*?\])").unwrap(); [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 152 | Box::new(move |cities: &Vec| -> Option { [INFO] [stdout] | ______________^ [INFO] [stdout] 153 | | let binding = s_cloned.replace(" и ", " && ").replace(" или ", " || "); [INFO] [stdout] 154 | | let mut splitted = binding.split(":"); [INFO] [stdout] 155 | | let mut condition = splitted.next().unwrap().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 211 | | } [INFO] [stdout] 212 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 11 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `phd_cand` (lib) due to 12 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "8368d1c99d3ca928871a02045670204c30f207616a115f65112d3509c6cebfaf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8368d1c99d3ca928871a02045670204c30f207616a115f65112d3509c6cebfaf", kill_on_drop: false }` [INFO] [stdout] 8368d1c99d3ca928871a02045670204c30f207616a115f65112d3509c6cebfaf