[INFO] cloning repository https://github.com/JohLorentzen/IT3708-BIO-AI [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JohLorentzen/IT3708-BIO-AI" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJohLorentzen%2FIT3708-BIO-AI", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJohLorentzen%2FIT3708-BIO-AI'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b45550231184af200c4904a9760881847ed65eee [INFO] checking JohLorentzen/IT3708-BIO-AI against 444dcce484c66c8d626806a8556be3b4d3ef381a for pr-160902 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJohLorentzen%2FIT3708-BIO-AI" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/JohLorentzen/IT3708-BIO-AI [INFO] finished tweaking git repo https://github.com/JohLorentzen/IT3708-BIO-AI [INFO] tweaked toml for git repo https://github.com/JohLorentzen/IT3708-BIO-AI written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/JohLorentzen/IT3708-BIO-AI on toolchain 444dcce484c66c8d626806a8556be3b4d3ef381a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+444dcce484c66c8d626806a8556be3b4d3ef381a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/JohLorentzen/IT3708-BIO-AI 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" "+444dcce484c66c8d626806a8556be3b4d3ef381a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded pathfinder_geometry v0.5.1 [INFO] [stderr] Downloaded zerocopy-derive v0.8.38 [INFO] [stderr] Downloaded plotters-bitmap v0.3.7 [INFO] [stderr] Downloaded yeslogic-fontconfig-sys v6.0.0 [INFO] [stderr] Downloaded wio v0.2.2 [INFO] [stderr] Downloaded float-ord v0.3.2 [INFO] [stderr] Downloaded dwrote v0.11.5 [INFO] [stderr] Downloaded core-text v20.1.0 [INFO] [stderr] Downloaded linfa-linear v0.8.1 [INFO] [stderr] Downloaded rand_xoshiro v0.7.0 [INFO] [stderr] Downloaded pathfinder_simd v0.5.5 [INFO] [stderr] Downloaded portable-atomic-util v0.2.5 [INFO] [stderr] Downloaded linfa-linalg v0.2.1 [INFO] [stderr] Downloaded font-kit v0.14.3 [INFO] [stderr] Downloaded argmin-math v0.5.1 [INFO] [stderr] Downloaded sprs v0.11.2 [INFO] [stderr] Downloaded argmin v0.11.0 [INFO] [stderr] Downloaded linfa v0.8.1 [INFO] [stderr] Downloaded zerocopy v0.8.38 [INFO] [stderr] Downloaded gif v0.12.0 [INFO] [stderr] Downloaded freetype-sys v0.20.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 34eb59b8d463205b0f0bc124b0c3c4dfca20f96219507158d38b59a42e90dfcb [INFO] running `Command { std: "docker" "start" "34eb59b8d463205b0f0bc124b0c3c4dfca20f96219507158d38b59a42e90dfcb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "34eb59b8d463205b0f0bc124b0c3c4dfca20f96219507158d38b59a42e90dfcb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "34eb59b8d463205b0f0bc124b0c3c4dfca20f96219507158d38b59a42e90dfcb" "/opt/rustwide/cargo-home/bin/cargo" "+444dcce484c66c8d626806a8556be3b4d3ef381a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "34eb59b8d463205b0f0bc124b0c3c4dfca20f96219507158d38b59a42e90dfcb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "34eb59b8d463205b0f0bc124b0c3c4dfca20f96219507158d38b59a42e90dfcb" "/opt/rustwide/cargo-home/bin/cargo" "+444dcce484c66c8d626806a8556be3b4d3ef381a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.38 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Checking simd-adler32 v0.3.8 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling freetype-sys v0.20.1 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Compiling yeslogic-fontconfig-sys v6.0.0 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking flate2 v1.1.9 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Checking ndarray v0.16.1 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling font-kit v0.14.3 [INFO] [stderr] Compiling linfa v0.8.1 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Checking jpeg-decoder v0.3.2 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Compiling pathfinder_simd v0.5.5 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking gif v0.12.0 [INFO] [stderr] Checking rand_xoshiro v0.7.0 [INFO] [stderr] Checking pathfinder_geometry v0.5.1 [INFO] [stderr] Checking float-ord v0.3.2 [INFO] [stderr] Checking memchr v2.7.6 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Checking chrono v0.4.43 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Checking csv-core v0.1.13 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Checking ttf-parser v0.20.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Checking plotters-bitmap v0.3.7 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking csv v1.4.0 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking sprs v0.11.2 [INFO] [stderr] Checking linfa-linalg v0.2.1 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking argmin-math v0.5.1 [INFO] [stderr] Checking argmin v0.11.0 [INFO] [stderr] Checking linfa-linear v0.8.1 [INFO] [stderr] Checking project-part-2 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variants `Generational` and `DeterministicCrowding` are never constructed [INFO] [stdout] --> src/featureSelection.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum SurvivalSelection { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] 10 | Generational, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 11 | DeterministicCrowding, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SurvivalSelection` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_WEIGHT` is never used [INFO] [stdout] --> src/knapsack.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const MAX_WEIGHT: f64 = 280785.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PENALTY_FACTOR` is never used [INFO] [stdout] --> src/knapsack.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const PENALTY_FACTOR: f64 = 1000.0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POPULATION_SIZE` is never used [INFO] [stdout] --> src/knapsack.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const POPULATION_SIZE: usize = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MUTATION_RATE` is never used [INFO] [stdout] --> src/knapsack.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const MUTATION_RATE: f64 = 0.01; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CROSSOVER_RATE` is never used [INFO] [stdout] --> src/knapsack.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const CROSSOVER_RATE: f64 = 0.85; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GENERATIONS` is never used [INFO] [stdout] --> src/knapsack.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const GENERATIONS: usize = 50; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SURVIVAL_SELECTION` is never used [INFO] [stdout] --> src/knapsack.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const SURVIVAL_SELECTION: usize = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DataPoint` is never constructed [INFO] [stdout] --> src/knapsack.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct DataPoint { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Individual` is never constructed [INFO] [stdout] --> src/knapsack.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Individual { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `total_weight`, `total_profit`, `penalty`, and `fitness` are never used [INFO] [stdout] --> src/knapsack.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 27 | impl Individual { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 28 | [INFO] [stdout] 29 | fn total_weight(&self, items: &[DataPoint]) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | fn total_profit(&self, items: &[DataPoint]) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn penalty(&self, items: &[DataPoint]) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn fitness(&self, items: &[DataPoint]) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GA` is never constructed [INFO] [stdout] --> src/knapsack.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GA { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Generational` and `DeterministicCrowding` are never constructed [INFO] [stdout] --> src/featureSelection.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum SurvivalSelection { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] 10 | Generational, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 11 | DeterministicCrowding, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SurvivalSelection` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/knapsack.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 69 | impl GA { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] 70 | pub fn new(items: Vec, population_size: usize, mutation_rate: f64, crossover_rate: f64, generations: usize, survival... [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn crossover(&self, parent1: &Individual, parent2: &Individual) -> (Individual, Individual) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | fn mutation(&self, individual: &Individual) -> Individual { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn parent_selection(&self, population: &[Individual]) -> Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | fn deterministic_crowding(&self, parent: &Individual, child: &Individual) -> Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | fn probabilistic_crowding(&self, parent: &Individual, child: &Individual) -> Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | fn hamming_distance(&self, individual1: &Individual, individual2: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | fn create_children(&self) -> (Individual, Individual, Individual, Individual) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | fn evaluate_population(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn run(&mut self) -> (Individual, Vec<(usize, f64, f64, f64)>) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn plot_fitness_history(&self, history: Vec<(usize, f64, f64, f64)>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_items` is never used [INFO] [stdout] --> src/knapsack.rs:287:8 [INFO] [stdout] | [INFO] [stdout] 287 | pub fn read_items(path: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `featureSelection` should have a snake case name [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | mod featureSelection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `feature_selection` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_WEIGHT` is never used [INFO] [stdout] --> src/knapsack.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const MAX_WEIGHT: f64 = 280785.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PENALTY_FACTOR` is never used [INFO] [stdout] --> src/knapsack.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const PENALTY_FACTOR: f64 = 1000.0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POPULATION_SIZE` is never used [INFO] [stdout] --> src/knapsack.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const POPULATION_SIZE: usize = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MUTATION_RATE` is never used [INFO] [stdout] --> src/knapsack.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const MUTATION_RATE: f64 = 0.01; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CROSSOVER_RATE` is never used [INFO] [stdout] --> src/knapsack.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const CROSSOVER_RATE: f64 = 0.85; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GENERATIONS` is never used [INFO] [stdout] --> src/knapsack.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const GENERATIONS: usize = 50; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SURVIVAL_SELECTION` is never used [INFO] [stdout] --> src/knapsack.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const SURVIVAL_SELECTION: usize = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DataPoint` is never constructed [INFO] [stdout] --> src/knapsack.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct DataPoint { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Individual` is never constructed [INFO] [stdout] --> src/knapsack.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Individual { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `total_weight`, `total_profit`, `penalty`, and `fitness` are never used [INFO] [stdout] --> src/knapsack.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 27 | impl Individual { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 28 | [INFO] [stdout] 29 | fn total_weight(&self, items: &[DataPoint]) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | fn total_profit(&self, items: &[DataPoint]) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn penalty(&self, items: &[DataPoint]) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn fitness(&self, items: &[DataPoint]) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GA` is never constructed [INFO] [stdout] --> src/knapsack.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GA { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/knapsack.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 69 | impl GA { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] 70 | pub fn new(items: Vec, population_size: usize, mutation_rate: f64, crossover_rate: f64, generations: usize, survival... [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn crossover(&self, parent1: &Individual, parent2: &Individual) -> (Individual, Individual) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | fn mutation(&self, individual: &Individual) -> Individual { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn parent_selection(&self, population: &[Individual]) -> Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | fn deterministic_crowding(&self, parent: &Individual, child: &Individual) -> Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | fn probabilistic_crowding(&self, parent: &Individual, child: &Individual) -> Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | fn hamming_distance(&self, individual1: &Individual, individual2: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | fn create_children(&self) -> (Individual, Individual, Individual, Individual) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | fn evaluate_population(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn run(&mut self) -> (Individual, Vec<(usize, f64, f64, f64)>) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn plot_fitness_history(&self, history: Vec<(usize, f64, f64, f64)>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_items` is never used [INFO] [stdout] --> src/knapsack.rs:287:8 [INFO] [stdout] | [INFO] [stdout] 287 | pub fn read_items(path: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `featureSelection` should have a snake case name [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | mod featureSelection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `feature_selection` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.45s [INFO] running `Command { std: "docker" "inspect" "34eb59b8d463205b0f0bc124b0c3c4dfca20f96219507158d38b59a42e90dfcb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "34eb59b8d463205b0f0bc124b0c3c4dfca20f96219507158d38b59a42e90dfcb", kill_on_drop: false }` [INFO] [stdout] 34eb59b8d463205b0f0bc124b0c3c4dfca20f96219507158d38b59a42e90dfcb